memrchr: port better to clang
[gnulib.git] / ChangeLog
blob85e98784286ce422d83200dea4827b3d5408b08b
1 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
3         memrchr: port better to clang
4         * lib/memrchr.c (__memrchr): Cast to void * instead of to
5         longword *, to pacify clang -Wcast-align (Bug#33544).
7 2018-11-29  Eric Blake  <eblake@redhat.com>
9         docs: mention printf %m considerations
10         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
11         is not portable, and is easy enough to work around.
12         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
13         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
14         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
15         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
16         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
17         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
18         * doc/posix-functions/printf.texi (printf): Likewise.
19         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
20         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
21         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
22         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
23         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
24         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
25         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
26         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
27         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
28         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
29         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
30         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
32 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
34         bitset: rename ebitset/expandable.* as tbitset/table.*
35         See
36         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
37         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
38         * lib/bitset/table.h, lib/bitset/table.c: these.
39         Rename all the ebitset* symbols as tbitset*.
40         Adjust dependencies.
42 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
44         bitset: check the operations
45         * tests/test-bitset.c (bitset_random): New.
46         Use it.
47         * lib/bitset/expandable.c (ebitset_not): Fix typo.
49 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
51         bitset: properly use false/true instead of 0/1 for Booleans
52         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
53         0/1, as Booleans.
55 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
57         bitset: rename BITSET_VARRAY as BITSET_VECTOR
58         For consistency with the name of the file.
59         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
60         * lib/bitset/stats.c, lib/bitset/vector.c
61         (BITSET_VARRAY): Rename as...
62         (BITSET_VECTOR): this.
64 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
66         strerror_r-posix: memmove, not memcpy
67         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
68         since the source and destination might overlap in the call
69         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
70         Simplify.
72 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
74         bitsetv: new module
75         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
77 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
79         bitset: add tests and doc
80         First stabs at providing a documentation and test for the bitset
81         module.
82         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
84 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
86         bitset: new module
87         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
88         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
89         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
90         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
91         * lib/bitset/vector.h, modules/bitset:
92         New.
94 2018-11-23  Bruno Haible  <bruno@clisp.org>
96         localename: Fix gettext test failures on mingw.
97         * lib/localename.c (gl_locale_name_posix): Convert the result of
98         gl_locale_name_environ to XPG syntax.
100 2018-11-23  Karl Berry  <karl@freefriends.org>
102         * config/srclistvars.txt,
103         * config/srclist.txt: remove all gettext references;
104         the gettext maintainers will sync as needed.
106 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
108         mktime: add libc-config dependency
109         I missed this when we synced from glibc.
110         * modules/mktime (Depends-on): Add libc-config.
112 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
114         longlong: fix comment typo
115         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
117 2018-11-11  Bruno Haible  <bruno@clisp.org>
119         havelib: Remove the need to include asm-underscore.m4.
120         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
121         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
122         gl_HOST_CPU_C_ABI.
123         * modules/havelib (Files): Add host-cpu-c-abi.m4.
124         (Depends-on): Remove host-cpu-c-abi.
126 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
128         parse-datetime: simplify test for mktime failure
129         * lib/parse-datetime.y (mktime_ok): Simplify.
130         Remove args TZ and T; no longer needed.  Callers changed.
132         posixtm: simplify test for mktime failure
133         * lib/posixtm.c (posixtime): Simplify.
135         nstrftime: simplify test for mktime failure
136         * lib/nstrftime.c (__strftime_internal): Simplify.
138 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
140         gnulib-common.m4: port _Noreturn to C++
141         Problem reported by Akim Demaille in:
142         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
143         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
144         Merge adjustments from _Noreturn.h and from glibc into the non-C++
145         version.
146         * lib/_Noreturn.h: Match gnulib-common.
148 2018-10-30  Bruno Haible  <bruno@clisp.org>
150         gnu-make: Fix for NetBSD 8 'make'.
151         Reported by Reuben Thomas in
152         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
153         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
154         output, ignoring exit codes.
156 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
158         maintainer-makefile: fix syntax-check rule for "same.h"
159         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
160         for 'same_nameat', too.
162 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
164         havelib: fix nested ‘configure’ chatter
165         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
166         AC_CACHE_CHECK calls, which resulted in confusing output like
167         “checking for the common suffixes of directories in the library
168         search path... checking for 64-bit host... no lib,lib”.
170         backupfile: tweak for better code
171         * lib/backupfile.c: Sort include directives, and remove
172         unnecessary <limits.h> include.
173         (FALLTHROUGH): New macro, copied from other modules.
174         (backupfile_internal): Use it to avoid code duplication.
175         This lets GCC 8.2.1 generate better code by inlining the
176         call to check_extension.
178 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
180         backupfile: new dir_fd args
181         New module opendirat with code taken from fts.
182         Use this module to let backupfile use a directory file descriptor.
183         * NEWS: Document the incompatible change.
184         * lib/backup-find.c (find_backup_file_name):
185         * lib/backup-rename.c (backup_file_rename):
186         New arg DIR_FD.
187         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
188         (SIZE_MAX): Remove.
189         Include opendirat.h rather than dirent--.h.
190         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
191         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
192         (backupfile_internal): New arg DIR_FD.  All callers changed.
193         * lib/fts.c: Include opendirat.h.
194         (opendirat): Move to opendirat.c.
195         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
196         * modules/backupfile (Depends-on): Remove dirfd, opendir.
197         Add opendirat.
198         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
199         Add opendirat.
201 2018-10-23  Bruno Haible  <bruno@clisp.org>
203         localename: Simplify support for per-thread locales on Solaris 11.4.
204         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
205         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
206         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
207         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
208         specific code.
209         * lib/localename-table.h: Update comments.
210         * lib/localename-table.c: Update comments.
211         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
212         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
213         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
214         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
215         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
216         HAVE_NAMELESS_LOCALES here.
217         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
218         m4/intlsolaris.m4.
219         * modules/gettext (Files): Likewise.
221 2018-10-22  Bruno Haible  <bruno@clisp.org>
223         std-gnu11: Support Autoconf versions < 2.64.
224         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
225         when _AC_DO_LIMIT does not exist.
227 2018-10-22  Bruno Haible  <bruno@clisp.org>
229         Assume Autoconf >= 2.63.
230         * DEPENDENCIES: Mention the requirement.
232         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
233         (func_get_filelist): Don't list m4/onceonly.m4 any more.
234         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
235         * m4/onceonly.m4: Remove file.
237         * m4/openmp.m4: Remove file.
238         * modules/openmp (Files): Remove m4/openmp.m4.
240         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
241         htmldir, dvidir, pdfdir, psdir, localedir.
242         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
244         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
245         Autoconf < 2.60.
246         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
247         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
249         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
250         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
251         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
253         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
254         exists.
255         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
257         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
258         Autoconf < 2.61.
260         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
261         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
262         Autoconf >= 2.52.
264         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
265         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
266         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
268 2018-10-22  Bruno Haible  <bruno@clisp.org>
270         Assume Automake >= 1.11.
271         * m4/configmake.m4: Update comments.
272         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
273         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
274         of 'eval'.
275         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
276         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
277         requires Automake >= 1.11.
279 2018-10-22  Bruno Haible  <bruno@clisp.org>
281         localename: Fix typo in comment.
282         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
284 2018-10-22  Bruno Haible  <bruno@clisp.org>
286         Fix failure of 'gnulib-tool --create-testdir' with all modules.
287         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
289 2018-10-21  Bruno Haible  <bruno@clisp.org>
291         locale: Ease integration with GNU libintl.
292         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
293         GNULIB_defined_freelocale): New macros.
295 2018-10-21  Bruno Haible  <bruno@clisp.org>
297         localename: Fine-tune support for per-thread locales on Solaris 11.4.
298         * lib/localename-table.h: New file, extracted from lib/localename.c.
299         * lib/localename-table.c: Likewise.
300         * lib/localename.c: Include localename-table.h.
301         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
302         locale_hash_function instead of pointer_hash.
303         * modules/localename (Files): Add lib/localename-table.h,
304         lib/localename-table.c.
305         (lib_SOURCES): Add localename-table.c.
306         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
307         for Solaris 11.4 locale system only on Solaris. Test for it
308         independently whether getlocalename_l exists.
309         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
310         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
311         HAVE_NAMELESS_LOCALES.
312         * modules/gettext (Files): Add m4/intlsolaris.m4.
314 2018-10-21  Bruno Haible  <bruno@clisp.org>
316         Small update from gettext.
317         * m4/intl.m4: Update from gettext:
318         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
319         mode on AIX.
320         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
321         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
323 2018-10-16  Bruno Haible  <bruno@clisp.org>
325         mountlist: Remove support for Cray with UNICOS 9.
326         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
327         MOUNTED_LISTMNTENT.
328         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
330 2018-10-16  Bruno Haible  <bruno@clisp.org>
332         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
333         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
334         STAT_STATFS2_FS_DATA.
335         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
336         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
337         MOUNTED_GETMNT.
338         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
339         * lib/getloadavg.c (decstation): Remove definition and case.
340         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
341         * lib/getgroups.c: Likewise.
342         * doc/posix-functions/getgroups.texi: Likewise.
343         * lib/time.in.h: Update comments.
345 2018-10-16  Bruno Haible  <bruno@clisp.org>
347         getloadavg: Remove support for ConvexOS.
348         * lib/getloadavg.c: Remove convex case.
350 2018-10-16  Bruno Haible  <bruno@clisp.org>
352         getloadavg: Remove support for Sony NEWS.
353         * lib/getloadavg.c: Remove sony_news case.
355 2018-10-16  Bruno Haible  <bruno@clisp.org>
357         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
358         * lib/fsusage.c: Remove _SEQUENT_ case.
359         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
360         * lib/mountlist.c: Don't test for MNTTABNAME.
361         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
362         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
363         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
364         * lib/stat-size.h: Don't mention the Sequent bug.
365         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
367 2018-10-16  Bruno Haible  <bruno@clisp.org>
369         fsusage: Remove support for AIX 3.
370         * lib/fsusage.c: Remove code for AIX 3.
371         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
373 2018-10-16  Bruno Haible  <bruno@clisp.org>
375         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
376         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
377         * lib/fsusage.c: Remove code for AIX PS/2.
378         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
379         * lib/getloadavg.c: Likewise.
381 2018-10-16  Bruno Haible  <bruno@clisp.org>
383         getloadavg: Remove support for HP-UX on m68k.
384         * lib/getloadavg.c: Remove hp9000s300 case.
386 2018-10-16  Bruno Haible  <bruno@clisp.org>
388         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
389         * lib/fsusage.c: Remove DOLPHIN case.
390         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
391         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
393 2018-10-16  Bruno Haible  <bruno@clisp.org>
395         getloadavg: Remove support for Alliant FX/2800.
396         * lib/getloadavg.c: Remove alliant case.
398 2018-10-16  Bruno Haible  <bruno@clisp.org>
400         getloadavg: Remove support for tek4300.
401         * lib/getloadavg.c: Remove tek4300 case.
403 2018-10-16  Bruno Haible  <bruno@clisp.org>
405         getloadavg: Remove support for Ardent.
406         * lib/getloadavg.c: Remove ardent case.
408 2018-10-16  Bruno Haible  <bruno@clisp.org>
410         mountlist: Remove support for SVR2.
411         Reported by Andrew Borodin <aborodin@vmail.ru> in
412         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
413         * lib/mountlist.c: Remove MOUNTED_FREAD case.
414         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
415         MOUNTED_FREAD.
417 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
419         libc-config: merge from glibc
420         * lib/cdefs.h (__glibc_has_attribute): New macro.
422         regex: depend on libc-config
423         * modules/regex (Depends-on): Add libc-config.
424         This is needed after the recent autoupdate from glibc.
426 2018-10-14  Bruno Haible  <bruno@clisp.org>
428         localename: Add support for per-thread locales on Solaris 11.4.
429         * lib/locale.in.h (newlocale, freelocale): New declarations.
430         (duplocale): Declare also when the 'localename' module requests it.
431         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
432         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
433         (struniq): Update.
434         (struct locale_categories_names, struct locale_hash_node): New types.
435         (LOCALE_HASH_TABLE_SIZE): New constant.
436         (locale_hash_table, locale_lock): New variables.
437         (pointer_hash, get_locale_t_name): New functions.
438         (newlocale, duplocale, freelocale): New overridden functions.
439         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
440         * m4/intlsolaris.m4: New file.
441         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
442         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
443         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
444         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
445         declared.
446         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
447         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
448         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
449         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
450         * modules/localename (Files): Add intlsolaris.m4.
451         (Depends-on): Add 'locale'.
452         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
453         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
454         the signatures.
456 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
458         timevar: use gethrxtime to get wall clock time
459         clock_gettime is not portable.  gethrxtime takes the best available
460         option to get the wall clock time, including clock_gettime (monotonic
461         clock), and gettime (non monotonic).
462         Also, using xtime_t instead of float preserves the precision.
463         Suggested by Bruno Haible.
464         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
465         * modules/timevar (Depends-on): We need gethrxtime.
466         We no longer use times().
467         (Link): Update.
468         * lib/timevar.h (timevar_time_def): Use xtime_t.
469         * lib/timevar.c (set_to_current_time): Use gethrxtime.
470         (timevar_print): Instead of checking whether the timings themselves
471         are large enough for the timevar to be printed, check the percentages.
473 2018-10-14  Bruno Haible  <bruno@clisp.org>
475         wcsnrtombs: Work around Solaris 11.4 bug.
476         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
477         macro.
478         (gl_FUNC_WCSNRTOMBS): Invoke it.
479         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
481 2018-10-14  Bruno Haible  <bruno@clisp.org>
483         mbsnrtowcs: Work around Solaris 11.4 bug.
484         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
485         macro.
486         (gl_FUNC_MBSNRTOWCS): Invoke it.
487         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
489 2018-10-14  Bruno Haible  <bruno@clisp.org>
491         doc: Update for Solaris 11.4.
492         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
493         mention Solaris 11.4.
494         * m4/printf.m4: Update comments about Solaris.
495         * m4/log.m4: Likewise.
496         * m4/log10.m4: Likewise.
497         * m4/logb.m4: Likewise.
498         * m4/logbf.m4: Likewise.
499         * m4/logbl.m4: Likewise.
500         * m4/rename.m4: Likewise.
501         * m4/wcrtomb.m4: Likewise.
502         * m4/hostent.m4: Likewise.
503         * m4/servent.m4: Likewise.
505 2018-10-14  Bruno Haible  <bruno@clisp.org>
507         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
508         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
509         pointer.
510         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
511         pointer.
512         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
513         pointer.
514         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
515         pointer.
516         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
517         pointer.
519 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
521         bootstrap: fix wget command for po files.
522         * build-aux/bootstrap (po_download_command_format): Fix comment,
523         and adjust callers.
525 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
527         timevar: improve the output format
528         Suggested by Bruno Haible.
529         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
530         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
531         wall, since its resolution is much higher.
533 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
535         timevar: expect that getrusage is available.
536         Don't keep both times and getrusage as backend: both are guaranteed by
537         gnulib, a single one suffices.  Using getrusage is open to possibly
538         tracking other types of resources in the future.
539         * modules/timevar (Depends-on): Add getrusage.
540         (configure.ac): Remove gl_TIMEVAR.
541         (Files): Remove m4/timevar.m4.
542         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
543         * lib/timevar.h (timevar_enabled): Clarify documentation.
544         * lib/timevar.c: Remove all the code about times.
545         Remove all the CPP guards about getrusage: expect it to be present
546         (courtesy of gnulib).
548 2018-10-12  Bruno Haible  <bruno@clisp.org>
550         mountlist: Improve support for Solaris in 64-bit mode.
551         Reported by David Wood <David.Wood@deshaw.com> in
552         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
553         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
554         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
555         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
557 2018-10-12  Bruno Haible  <bruno@clisp.org>
559         mountlist: Add support for Minix.
560         Reported by Assaf Gordon in
561         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
562         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
563         AC_CHECK_FUNCS to check for 'getmntinfo'.
564         * lib/mountlist.c: Update comments.
566 2018-10-12  Bruno Haible  <bruno@clisp.org>
568         Make better use of Autoconf.
569         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
570         * m4/manywarnings.m4: Likewise.
571         * m4/manywarnings-c++.m4: Likewise.
572         * m4/socklen.m4: Likewise.
573         * m4/sockpfaf.m4: Likewise.
574         * m4/stdarg.m4: Likewise.
575         * m4/visibility.m4: Likewise.
576         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
577         indentation.
578         * m4/ls-mntd-fs.m4: Likewise.
580 2018-10-11  Bruno Haible  <bruno@clisp.org>
582         mountlist: Modernize platform lists.
583         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
584         platforms, deemphasizing the obsolete ones.
585         * lib/mountlist.c: Likewise.
587 2018-10-11  Bruno Haible  <bruno@clisp.org>
589         getprogname: Add support for 32-bit programs on HP-UX.
590         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
591         try the similar functions 32-bit programs on 64-bit HP-UX.
593 2018-10-11  Bruno Haible  <bruno@clisp.org>
595         getprogname: Work around program name truncation when possible.
596         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
597         possibly use pst_cmd instead.
599 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
601         fts: cleanup after FTS_NOATIME removal
602         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
603         (FTS_STOP): Shrink to minimal values.  We don’t need to
604         worry about binary compatibility in Gnulib, and the old way
605         of doing things had a hole in the user options that caused
606         FTS_OPTIONMASK to not work as desired.
608 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
610         fts: remove FTS_NOATIME
611         This reverts commit da4d6974013c822af1498941e32db774b2031765.
612         We cannot guarantee that O_NOATIME works: e.g. openat fails
613         with EPERM if the effective user ID of the caller does not match
614         the owner of the file and the caller is not privileged.
615         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
616         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
617         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
618         (FTS_OPTIONMASK): Adjust.
619         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
620         (fd_ring_check): Likewise.
622 2018-10-08  Bruno Haible  <bruno@clisp.org>
624         csharpcomp*, csharpexec*: Remove support for pnet.
625         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
626         HAVE_CSCC.
627         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
628         Don't test HAVE_CSCC.
629         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
630         (compile_csharp_class): Don't invoke it.
631         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
632         HAVE_ILRUN.
633         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
634         Don't test HAVE_ILRUN.
635         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
636         (execute_csharp_program): Don't invoke it.
637         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
638         any more.
640 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
642         renameatu: prefer renameat2 to syscall
643         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
644         Use renameat2 instead of syscall (Bug#32796).
645         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
647 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
649         bootstrap, gnulib-tool: use https instead of insecure rsync
650         * build-aux/bootstrap (download_po_files, po_download_command_format):
651         Don't try using rsync; always use wget over https to fetch PO files.
652         * gnulib-tool (func_import): Likewise.
653         * pygnulib/GLImport.py (GLImport.execute): Likewise.
655 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
657         bootstrap, gnulib-tool: correct the translations wget command
658         * build-aux/bootstrap (po_download_command_format2): Restrict
659         recursion to a single level.
660         * gnulib-tool (func_import): Likewise.
661         * pygnulib/GLImport.py (GLImport.execute): Likewise.
663 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
665         doc: the gnulib snapshots are not maintained
666         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
668 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
670         timevar: add to lib_SOURCES
671         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
673 2018-10-07  Bruno Haible  <bruno@clisp.org>
675         dirent: Update documentation.
676         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
678 2018-10-05  Bruno Haible  <bruno@clisp.org>
680         strpbrk: Make it possible to namespace the defined symbol.
681         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
683 2018-10-05  Bruno Haible  <bruno@clisp.org>
685         strcspn: Make it possible to namespace the defined symbol.
686         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
688 2018-10-05  Bruno Haible  <bruno@clisp.org>
690         raise: Make it possible to namespace the defined symbol.
691         * lib/raise.c (raise): Undefine only after the replacement function has
692         been defined.
693         (raise): Renamed from rpl_raise.
694         (raise_nothrow): Move to the end of the compilation unit.
696 2018-10-05  Bruno Haible  <bruno@clisp.org>
698         memcmp: Make it possible to namespace the defined symbol.
699         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
701 2018-10-05  Bruno Haible  <bruno@clisp.org>
703         explicit_bzero: Make it possible to namespace the defined symbol.
704         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
705         glibc.
707 2018-10-05  Bruno Haible  <bruno@clisp.org>
709         mkdir-p: Depend on 'mkdir'.
710         * modules/mkdir-p (Depends-on): Add 'mkdir'.
712 2018-10-05  Bruno Haible  <bruno@clisp.org>
714         tempname: Depend on 'mkdir'.
715         Reported by Maarten Bosmans <mkbosmans@gmail.com>
716         at <https://savannah.gnu.org/bugs/?33379>.
717         * modules/tempname (Depends-on): Add 'mkdir'.
719 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
721         timevar: rely on gnulib modules for time portability.
722         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
723         * m4/timevar.m4: Don't check for clock_t and struct tms,
724         guaranteed by gnulib.
725         * lib/timevar.h: Use extern "C" protection.
726         Include <stdio.h> for FILE.
727         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
728         they are guaranteed by gnulib.
729         Remove uses of clock as (now useless) fallback.
731 2018-10-04  Bruno Haible  <bruno@clisp.org>
733         sh-filename: New module.
734         * m4/sh-filename.m4: New file.
735         * modules/sh-filename: New file.
736         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
737         "/bin/sh".
738         * tests/test-posix_spawn1.c (main): Likewise.
739         * tests/test-posix_spawn2.c (main): Likewise.
740         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
741         is_envjavac_gcj43): Likewise.
742         * lib/javaexec.c (execute_java_class): Likewise.
743         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
744         * modules/posix_spawnp-tests (Depends-on): Likewise.
745         * modules/javacomp (Depends-on): Likewise.
746         * modules/javaexec (Depends-on): Likewise.
748 2018-10-04  Bruno Haible  <bruno@clisp.org>
750         spawn-pipe tests: Avoid test failure on native Windows.
751         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
752         that fd 2 is closed.
754 2018-10-04  Bruno Haible  <bruno@clisp.org>
756         fcntl: Make it possible to namespace the defined symbol.
757         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
758         been defined.
759         (fcntl): Renamed from rpl_fcntl.
760         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
761         from fcntl.
762         (klibc_fcntl): Move to the end of the compilation unit.
764 2018-10-02  Bruno Haible  <bruno@clisp.org>
766         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
767         * tests/test-vasnprintf.c (test_function): Change the test added on
768         2018-09-23 to check only the 18 most significant digits.
770         vasnprintf tests: Avoid test failure on Cygwin.
771         * tests/test-vasnprintf.c (test_function): Change the test added on
772         2018-09-23 to check only the 42 most significant digits.
774 2018-10-01  Bruno Haible  <bruno@clisp.org>
776         mkostemp, mkostemps: Update documentation.
777         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
778         * doc/glibc-functions/mkostemps.texi: Likewise.
780 2018-10-01  Tom Tromey  <tom@tromey.com>
782         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
783         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
784         on OS X.
786 2018-09-30  Pádraig Brady  <P@draigBrady.com>
788         hmac-*: refactor to remove repetitive code
789         * lib/hmac.c: A new parameterized single implementation.
790         * lib/hmac-md5.c: Define parameters and include implementation.
791         * lib/hmac-sha1.c: Likewise.
792         * lib/hmac-sha256.c: Likewise.
793         * lib/hmac-sha512.c: Likewise.
794         * modules/crypto/hmac-md5: Reference the new implementation file.
795         * modules/crypto/hmac-sha1: Likewise.
796         * modules/crypto/hmac-sha256: Likewise.
797         * modules/crypto/hmac-sha512: Likewise.
798         * tests/test-hmac-md5.c: Refactor common code to a single function.
799         * tests/test-hmac-sha1.c: Likewise.
800         * tests/test-hmac-sha256.c: Likewise.
801         * tests/test-hmac-sha512.c: Likewise.
803 2018-09-30  Zhang Qing  <zhangqingl@126.com>
805         hmac-sha512: fix hash for keys > blocksize (128 bytes)
806         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
807         key length to that output by sha512, not the blocksize.
808         Otherwise uninitialized data from the stack
809         is used when computing the hash.
810         * tests/test-hmac-sha512.c: Add a shortened key test case.
811         Reported at https://github.com/coreutils/gnulib/pull/5
813 2018-09-30  Bruno Haible  <bruno@clisp.org>
815         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
816         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
817         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
818         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
819         'unsigned int' before comparison with an unsigned value.
821 2018-09-30  Bruno Haible  <bruno@clisp.org>
823         grantpt: Remove unnecessary dependency.
824         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
826 2018-09-30  Bruno Haible  <bruno@clisp.org>
828         timevar: Small tweaks.
829         * lib/timevar.h: Fix comments. Add parameter names to function
830         declarations.
831         * lib/timevar.c: Include timevar.h immediately after config.h.
832         * lib/timevar.def: Fix comments.
833         * modules/timevar (Maintainer): List Akim Demaille.
835 2018-09-30  Bruno Haible  <bruno@clisp.org>
837         timevar: Include documentation in gnulib manual.
838         * doc/timevar.texi: Change node and section name to 'Profiling of
839         program phases'.
840         In the code snippets, tweak the #includes and use GNU coding style.
841         * doc/gnulib.texi: Include timevar.texi.
843 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
845         timevar: import from Bison.
846         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
847         New files.
848         * lib/timevar.def: New file.
849         * doc/timevar.texi: New file.
851 2018-09-26  Bruno Haible  <bruno@clisp.org>
853         javacomp-script, javacomp: Add preliminary support for Java 12..17.
854         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
855         * lib/javacomp.c (default_target_version): Likewise.
857 2018-09-26  Bruno Haible  <bruno@clisp.org>
859         javacomp-script, javacomp: Add support for Java 11.
860         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
861         target-version 11.
862         * lib/javaversion.h: Update comments.
863         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
864         source_version_index, get_goodcode_snippet, get_failcode_snippet,
865         TARGET_VERSION_BOUND, target_version_index,
866         corresponding_classfile_version): Accept source_version 11 and
867         target_version 11.
868         * lib/javacomp.h: Update comments accordingly.
870 2018-09-23  Bruno Haible  <bruno@clisp.org>
872         vasnprintf: Fix heap memory overrun bug.
873         Reported by Ben Pfaff <blp@cs.stanford.edu> in
874         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
875         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
876         memory.
877         * tests/test-vasnprintf.c (test_function): Add another test.
879 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
881         maint: mktime.c now shared with glibc
882         * config/srclist.txt: intprops.h, timegm.c and mktime.c
883         are now the same in Gnulib and glibc.
885         mktime: fix _LIBC typo
886         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
888 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
890         dfa: optimization for state merge
891         * lib/dfa.c (merge2): New function.
892         (merge_nfa_state): Use it.
894 2018-09-18  Jim Meyering  <meyering@fb.com>
896         dfa: trivial comment fix: s/is/if/
897         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
899 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
901         dfa: use more-informative function name
902         * lib/dfa.c (maybe_disable_superset_dfa):
903         Rename from dfautf8noss.  Use change.
905         dfa: tweak allocation performance
906         * lib/dfa.c (merge_nfa_state, dfaoptimize):
907         Prefer ptrdiff_t for indexes some more.
908         Use char for flags, as it’s wide enough.
909         Allocate queue and flags together, with one malloc call.
910         No need to use xnmalloc since the multiplication and
911         addition cannot overflow (it’s already been checked by
912         earlier allocation).  Prefer memset to open-coding.
914         dfa: prune states as we go
915         * lib/dfa.c (prune): Remove.
916         dfa: reorder enum for efficiency
917         (merge_nfa_state): Prune as we go instead of at the end.
918         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
920         * lib/dfa.c (END): Now -1 again.  Reorder other elements
921         of the enumeration to make it easier for GCC to generate
922         efficient code by using fewer comparisons to check for
923         ranges of values.
924         (atom): Take advantage of the reordering.
926 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
928         dfa: optimize alternation in NFA
929         Even when similar states exist in alternation, the DFA treats them
930         as separate items, which may complicate the transition in NFA and
931         cause slowdown.  This change assembles the states into one.  For
932         example, ab|ac is changed into a(b|c).  This change speeds-up
933         matching for many branched patterns.  For example, grep speeds up
934         more than 30× in:
936           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
937           time -p env LC_ALL=C grep -vf in in
939         * lib/dfa.c (prune): New function.
940         (merge_nfa_state): New function.  It merges similar NFA states.
941         (dfaoptimize): New function.  It seeks merged and removed nodes.
942         (dfaanalyze): Call new function.
943         (dfautf8noss): Change name from dfaoptimize because of addition of new
944         function.
945         (dfacomp): Update caller.
947         dfa: simplify initial state
948         Simplifying the initial state enables easier optimization of the NFA.
949         * lib/dfa.c (enum token): Add new element BEG.
950         (prtok): Adjust due to adding element BEG.
951         (dfaparse): Put BEG at a head of tokens.
952         (state_index): Adjust due to adding element BEG.
953         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
954         build initial state.
955         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
957 2018-09-18  Bruno Haible  <bruno@clisp.org>
959         file-has-acl: Fix test failure on Cygwin 2.9.
960         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
961         * lib/acl-internal.h: Likewise.
962         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
963         * lib/acl-internal.c: Update comments regarding Cygwin.
964         * lib/acl_entries.c: Likewise.
965         * lib/file-has-acl.c: Likewise.
966         (file_has_acl): For Cygwin, use a different way to determine whether
967         the "default" ACL of a directory is nontrivial.
968         * lib/get-permissions.c: Update comments regarding Cygwin.
969         * lib/set-permissions.c: Likewise.
971 2018-09-18  Bruno Haible  <bruno@clisp.org>
973         stat-time tests: Fix test failure on Cygwin.
974         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
976 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
978         doc: OS X 10.11 lacked ns time functions
979         According to <https://github.com/zeromq/libzmq/issues/2175>,
980         nanosecond-resolution timestamp functions were introduced
981         in macOS 10.12, so document the last version (OS X 10.11)
982         where they were absent.
984         gettime: nanotime never existed
985         Problem reported by Bruno Haible in:
986         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
987         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
988         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
990 2018-09-18  Bruno Haible  <bruno@clisp.org>
992         doc: Update statement about target platforms.
993         Reported by Simon Sobisch.
994         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
995         restrictions on MSVC versions.
997 2018-09-18  Bruno Haible  <bruno@clisp.org>
999         posix_spawn tests: Fix link error on 64-bit Cygwin.
1000         * tests/test-posix_spawn1.c (environ): Remove declaration.
1001         * tests/test-posix_spawn2.c (environ): Likewise.
1002         * tests/test-posix_spawn3.c (environ): Likewise.
1003         * tests/test-posix_spawn4.c (environ): Likewise.
1004         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
1005         * modules/posix_spawnp-tests (Depends-on): Likewise.
1007 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
1009         timespec: new function current_timespec
1010         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
1011         and don’t worry about it failing on a CLOCK_REALTIME arg.
1012         POSIX requires it to succeed and I don’t know of any
1013         counterexamples where the fallbacks would work.
1014         (current_timespec): New function, taken from Emacs.  It is more
1015         convenient than gettime, and can help register allocation.
1016         * lib/timespec.h: Include arg-nonnull.h.
1017         (current_timespec): New declaration.
1018         (gettime, settime): Declare args to be nonnull.
1019         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
1021 2018-09-16  Bruno Haible  <bruno@clisp.org>
1023         setlocale: Improve locale handling on macOS 10.12 or newer.
1024         * lib/setlocale.c: Include header files for CoreFoundation. Declare
1025         gl_locale_name_canonicalize.
1026         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
1027         and LC_MESSAGES.
1028         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
1030 2018-09-16  Bruno Haible  <bruno@clisp.org>
1032         Update list of locale names with scripts on macOS.
1033         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
1034         match Mac OS X 10.13 and recent glibc.
1036 2018-09-16  Bruno Haible  <bruno@clisp.org>
1038         gettext: Use newer macOS APIs when possible.
1039         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
1040         CFLocaleCopyPreferredLanguages.
1042 2018-09-16  Bruno Haible  <bruno@clisp.org>
1044         localename: Revisit macOS specific code.
1045         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
1046         Fix comments about Mac OS X versions.
1048 2018-09-15  Bruno Haible  <bruno@clisp.org>
1050         setlocale: Improve support for locales not supported by libc.
1051         Reported by Dapeng Gao <peter@dpgao.cc> at
1052         <https://savannah.gnu.org/bugs/?54479>.
1053         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
1054         (libintl_setlocale): Use a more error-tolerant strategy when the locale
1055         to be set is not supported by libc: Emit warnings instead of failing.
1057 2018-09-15  Bruno Haible  <bruno@clisp.org>
1059         strstr, strcasestr: Add workaround against glibc-2.28 bug.
1060         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
1061         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
1062         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
1063         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
1064         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
1065         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
1066         * doc/glibc-functions/strcasestr.texi: Likewise.
1068 2018-09-14  Bruno Haible  <bruno@clisp.org>
1070         doc: Fix bottom of top-level page.
1071         Reported by Akim Demaille <akim.demaille@gmail.com> in
1072         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
1073         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
1074         mode.
1075         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
1076         accordingly.
1078 2018-09-12  Bruno Haible  <bruno@clisp.org>
1080         Add test case from a recent glibc bug.
1081         * tests/test-strstr.c (main): Add test of long needle.
1082         * tests/test-strcasestr.c (main): Likewise.
1083         * tests/test-c-strstr.c (main): Likewise.
1084         * tests/test-c-strcasestr.c (main): Likewise.
1085         * tests/test-memmem.c (main): Likewise.
1087 2018-09-12  Bruno Haible  <bruno@clisp.org>
1089         Apply Eric Blake's improvements from 2011-02-25 to more tests.
1090         * tests/test-c-strstr.c (main): Add the same tests here as well.
1092 2018-09-12  Bruno Haible  <bruno@clisp.org>
1094         Apply Jim Meyering's fix from 2015-01-11 to more tests.
1095         * tests/test-memmem.c (main): Free haystack.
1096         * tests/test-strcasestr.c (main): Likewise.
1097         * tests/test-c-strcasestr.c (main): Likewise.
1099 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
1101         xstrtol: fix missing-TYPE_SIGNED typo
1102         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
1104 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
1106         timespec: fix resolution confusion
1107         In normal usage, clock resolution is given in seconds, but the
1108         code was mistakenly using inverse seconds and calling it
1109         “resolution”.  Fix this, partly by renaming two identifiers.
1110         The old names will be kept for a bit, to ease transition.
1111         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
1112         New constants, replacing TIMESPEC_RESOLUTION and
1113         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
1114         All uses changed.
1116 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
1118         mktime: simplify in prep for glibc merge
1119         * lib/mktime.c, lib/timegm.c [_LIBC]:
1120         Include mktime-internal.h (a small file just for glibc)
1121         instead of using a typedef.
1123 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
1125         intprops: minor clarification of code
1126         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
1127         Use _GL_INT_CONVERT rather than reinventing it.
1129 2018-09-07  Bruno Haible  <bruno@clisp.org>
1131         Fix a comment.
1132         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
1134 2018-09-07  Bruno Haible  <bruno@clisp.org>
1136         posix_spawn_file_actions_addchdir: Add tests.
1137         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
1138         * tests/test-posix_spawn4.c: New file.
1139         * modules/posix_spawn_file_actions_addchdir-tests: New file.
1141 2018-09-07  Bruno Haible  <bruno@clisp.org>
1143         posix_spawn_file_actions_addchdir: New module.
1144         Suggested by Eric Blake in
1145         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
1146         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
1147         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
1148         union member 'chdir_action'.
1149         * lib/spawn_faction_addchdir.c: New file.
1150         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
1151         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
1152         HAVE_WORKING_POSIX_SPAWN.
1153         * lib/spawn_faction_adddup2.c: Likewise.
1154         * lib/spawn_faction_addopen.c: Likewise.
1155         * m4/posix_spawn_faction_addchdir.m4: New file.
1156         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
1157         'posix_spawn_file_actions_addchdir' is present and whether
1158         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
1159         instead of HAVE_WORKING_POSIX_SPAWN.
1160         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
1161         posix_spawn_file_actions_addchdir is declared.
1162         (gl_SPAWN_H_DEFAULTS): Initialize
1163         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1164         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1165         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
1166         * modules/spawn (Makefile.am): Substitute
1167         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1168         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1169         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
1170         * modules/posix_spawn_file_actions_addchdir: New file.
1171         * modules/posix_spawn_file_actions_addclose (Depends-on,
1172         configure.ac): Test also REPLACE_POSIX_SPAWN.
1173         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
1174         configure.ac): Likewise.
1175         * modules/posix_spawn_file_actions_addopen (Depends-on,
1176         configure.ac): Likewise.
1177         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
1178         signature.
1179         * doc/posix-functions/posix_spawn.texi: Mention the new module.
1180         * doc/posix-functions/posix_spawnp.texi: Likewise.
1182 2018-09-06  Bruno Haible  <bruno@clisp.org>
1184         stddef: Override max_align_t on NetBSD 8.0/x86.
1185         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
1186         the value of __alignof__ (max_align_t).
1187         * doc/posix-headers/stddef.texi: Mention the issue.
1189 2018-09-06  Bruno Haible  <bruno@clisp.org>
1191         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
1192         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
1193         system fcntl.
1194         * doc/posix-functions/fcntl.texi: Document the issue.
1196 2018-09-06  Bruno Haible  <bruno@clisp.org>
1198         count-trailing-zeros tests: Rely on limits-h module.
1199         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
1200         definition.
1201         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
1203 2018-09-06  Bruno Haible  <bruno@clisp.org>
1205         count-leading-zeros tests: Rely on limits-h module.
1206         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
1207         definition.
1208         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
1210 2018-09-06  Bruno Haible  <bruno@clisp.org>
1212         count-one-bits tests: Rely on limits-h module.
1213         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
1214         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
1216 2018-09-06  Bruno Haible  <bruno@clisp.org>
1218         xstrtoll: Rely on limits-h module.
1219         * lib/xstrtol.c: Don't include intprops.h.
1220         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
1221         * modules/xstrtol (Depends-on): Remove 'intprops'.
1222         * modules/xstrtoll (Depends-on): Add 'limits-h'.
1224 2018-09-06  Bruno Haible  <bruno@clisp.org>
1226         strtoll, strtoull: Rely on limits-h module.
1227         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
1228         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
1229         * modules/strtoll (Depends-on): Add limits-h.
1230         * modules/strtoull (Depends-on): Likewise.
1232 2018-09-06  Bruno Haible  <bruno@clisp.org>
1234         intprops tests: Fix compilation error with pre-C99 compiler.
1235         * tests/test-intprops.c (verify_stmt): New macro.
1236         (VERIFY, main): Use it.
1238 2018-09-06  Bruno Haible  <bruno@clisp.org>
1240         limits-h: Provide numerical limits macros.
1241         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
1242         IRIX and for GCC.
1243         (WORD_BIT, LONG_BIT): Define.
1244         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
1245         <limits.h> does not define LLONG_MAX or WORD_BIT.
1246         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
1247         TYPE_MAXIMUM): New macros, from intprops.h.
1248         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
1249         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
1250         provides.
1252 2018-09-05  Bruno Haible  <bruno@clisp.org>
1254         fcntl: Don't access nonexistent optional argument.
1255         Reported by Frank Busse <f.busse@imperial.ac.uk> in
1256         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
1257         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
1258         don't consume an argument. For actions that take an 'int' argument,
1259         consume an 'int' argument.
1261 2018-09-05  Eric Blake  <eblake@redhat.com>
1263         doc: mention environ pitfall
1264         * doc/posix-functions/environ.texi (environ): Assigning NULL to
1265         environ is a glibc extension.
1267 2018-09-03  Bruno Haible  <bruno@clisp.org>
1269         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
1270         Reported by Antoine Luong <antoine.luong@c-s.fr> in
1271         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
1272         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
1273         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
1274         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
1276 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
1278         mktime: fix unlikely race+overflow bug
1279         Problem reported by Alexandre Oliva in:
1280         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
1281         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
1282         to avoid an unlikely race if the compiler delays a load and
1283         if this cascades into a signed integer overflow.
1285 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
1287         mktime, timegm: simplify glibc time64_t
1288         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
1289         Now long int, not time_t, since long int is the longstanding type
1290         for this in glibc and there is no need to change it even if time_t
1291         becomes 64 bits - even int would do, though this would be a change
1292         to the glibc generated code.  When this change is merged into
1293         glibc, it should simplify the time_t vs time64_t situation.
1295         mktime, timegm: simplify merge to glibc
1296         Move code around to make a merge to glibc easier to audit.
1297         This should not change behavior.
1298         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
1299         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
1300         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
1301         simplify later conditionals; default the others to zero.  In uses
1302         of these conditionals, explicitly spell out how _LIBC affects
1303         things, so it’s easier to review from a glibc viewpoint.
1304         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
1305         compartmentalize tzset issues.  Move system-dependent tzsettish
1306         code here from mktime.
1307         (mktime): Move tzsettish code to my_tzset, and move
1308         localtime_offset to within mktime so that it doesn’t
1309         need a separate ifdef.
1311 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
1313         intprops: avoid evaluation of some expressions
1314         This makes EXPR_SIGNED (e) easier to use, as it no longer
1315         evaluates the expression E.  Formerly, E was required to be free
1316         of side effects.
1317         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
1318         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
1319         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
1321 2018-08-23  Bruno Haible  <bruno@clisp.org>
1323         getcwd: Add cross-compilation guesses.
1324         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
1325         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
1326         Based on a patch by Paul Eggert.
1327         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
1328         guesses for all GNU systems.
1330 2018-08-19  Bruno Haible  <bruno@clisp.org>
1332         glob-h: Formalize side effects from other modules.
1333         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
1334         * m4/glob.m4 (gl_GLOB): Invoke it.
1336         fnmatch-h: Formalize side effects from other modules.
1337         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
1338         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
1340         limits-h: Formalize side effects from other modules.
1341         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
1342         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
1344 2018-08-19  Bruno Haible  <bruno@clisp.org>
1346         getpass: Move declaration to <unistd.h>.
1347         * lib/unistd.in.h (getpass): New declaration.
1348         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
1349         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
1350         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
1351         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
1352         On glibc systems, don't set REPLACE_GETPASS to 1.
1353         * modules/getpass (Depends-on): Add 'unistd'.
1354         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
1355         (Include): Specify <unistd.h> instead of "getpass.h".
1356         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
1357         (configure.ac): Sync with the configure.ac section of modules/getpass.
1358         (Include): Specify <unistd.h> instead of "getpass.h".
1359         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
1360         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
1361         REPLACE_GETPASS.
1362         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
1363         REPLACE_GETPASS.
1364         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
1365         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
1366         and musl.
1367         * NEWS: Mention the change.
1369 2018-08-19  Bruno Haible  <bruno@clisp.org>
1371         glob: Fix over-optimization due to attribute __nonnull__.
1372         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
1374 2018-08-19  Bruno Haible  <bruno@clisp.org>
1376         glob: Fix another compilation error when glob.h is not replaced.
1377         Reported by Reuben Thomas <rrt@sc3d.org> in
1378         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
1379         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
1380         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
1382 2018-08-18  Bruno Haible  <bruno@clisp.org>
1384         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
1385         Reported by Reuben Thomas <rrt@sc3d.org> in
1386         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
1387         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
1388         in config.h.
1390 2018-08-18  Bruno Haible  <bruno@clisp.org>
1392         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
1393         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
1394         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
1395         Solution proposed by Eli Zaretskii.
1396         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
1397         * lib/gettimeofday.c (GetProcAddress): Likewise.
1398         * lib/link.c (GetProcAddress): Likewise.
1399         * lib/physmem.c (GetProcAddress): Likewise.
1400         * lib/poll.c (GetProcAddress): Likewise.
1401         * lib/select.c (GetProcAddress): Likewise.
1402         * lib/stat-w32.c (GetProcAddress): Likewise.
1404 2018-08-18  Bruno Haible  <bruno@clisp.org>
1406         glob: Fix another compilation error when glob.h is not replaced.
1407         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
1408         * lib/globfree.c: Include <libc-config.h>.
1410 2018-08-18  Bruno Haible  <bruno@clisp.org>
1412         glob: Fix compilation error when glob.h is not replaced.
1413         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
1414         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
1415         * lib/glob_pattern_p.c: Include <libc-config.h>.
1416         * modules/glob (Depends-on): Add libc-config.
1418 2018-08-18  Bruno Haible  <bruno@clisp.org>
1420         scratch_buffer: Add tests.
1421         * tests/test-scratch-buffer.c: New file.
1422         * modules/scratch_buffer-tests: New file.
1424 2018-08-18  Bruno Haible  <bruno@clisp.org>
1426         scratch_buffer: Fix include file.
1427         Reported by Reuben Thomas <rrt@sc3d.org> in
1428         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
1429         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
1430         double-inclusion guard.
1432 2018-08-18  Bruno Haible  <bruno@clisp.org>
1434         glob-h: Revert Paul Eggert's revert.
1435         * m4/glob_h.m4: Revert to previous state.
1436         * modules/glob-h: Likewise.
1438 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
1440         glob-h: always build glob.h
1441         This works around a problem reported by Reuben Thomas in:
1442         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
1443         This workaround always builds glob.h, even on platforms that
1444         do not need it; perhaps this could be improved someday.
1445         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
1446         is always created now.
1447         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
1449 2018-08-13  Bruno Haible  <bruno@clisp.org>
1451         monetary: Simplify m4 code.
1452         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
1453         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
1455 2018-08-13  Bruno Haible  <bruno@clisp.org>
1457         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
1458         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
1459         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
1460         and by Paul J. Lucas <paul@lucasmail.org> in
1461         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
1462         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
1464 2018-08-11  Bruno Haible  <bruno@clisp.org>
1466         setlocale: Trivial simplification.
1467         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
1469 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
1471         verify: port 'assume' to traditional tools
1472         * lib/verify.h (assume): Port better to Oracle Studio 12.6
1473         and other tools that use /*NOTREACHED*/ comments.
1475 2018-08-10  Bruno Haible  <bruno@clisp.org>
1477         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
1478         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
1479         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
1480         'fnmatch-gnu' is in use.
1482 2018-08-07  Bruno Haible  <bruno@clisp.org>
1484         glob-h: Add tests.
1485         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
1486         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
1487         tests/test-glob-h.c.
1488         * modules/glob-h-tests: New file.
1489         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
1490         conditions.
1491         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
1492         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
1494 2018-08-07  Bruno Haible  <bruno@clisp.org>
1496         glob-h: New module.
1497         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
1498         replacements.
1499         * lib/glob.c: Include <config.h>.
1500         * m4/glob_h.m4: New file.
1501         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
1502         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
1503         REPLACE_GLOB_PATTERN_P as appropriate.
1504         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
1505         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
1506         * modules/glob-h: New file.
1507         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
1508         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
1509         lstat, sys_stat. Change conditions.
1510         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
1511         REPLACE_GLOB_PATTERN_P. Set module indicator.
1512         (Makefile.am): Remove code that is moved to glob-h.
1513         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
1514         * modules/posixcheck (Depends-on): Add glob-h.
1516 2018-08-06  Bruno Haible  <bruno@clisp.org>
1518         Force generation of substitute .h file when C++ support is enabled.
1519         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
1520         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
1521         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
1522         FNMATCH_H to non-empty.
1523         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
1524         ICONV_H to non-empty.
1525         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
1526         MONETARY_H to non-empty.
1527         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
1528         non-empty.
1530 2018-08-06  Bruno Haible  <bruno@clisp.org>
1532         fnmatch-h: Fix test compilation error on mingw (regression from today).
1533         * lib/fnmatch.in.h: Fix conditions.
1535 2018-08-06  Bruno Haible  <bruno@clisp.org>
1537         sys_resource: Relicense under LGPLv2+.
1538         John Malmberg's approval is in
1539         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
1540         * modules/sys_resource (License): Change to LGPLv2+.
1542 2018-08-06  Bruno Haible  <bruno@clisp.org>
1544         fnmatch-h: Add tests.
1545         * tests/test-fnmatch-h.c: New file.
1546         * modules/fnmatch-h-tests: New file.
1547         * tests/test-fnmatch-h-c++.cc: New file.
1548         * modules/fnmatch-h-c++-tests: New file.
1550 2018-08-06  Bruno Haible  <bruno@clisp.org>
1552         fnmatch-h: New module.
1553         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
1554         replacements.
1555         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
1556         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
1557         'posixcheck' warning.
1558         * m4/fnmatch_h.m4: New file.
1559         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
1560         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
1561         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
1562         as appropriate.
1563         * modules/fnmatch-h: New file.
1564         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
1565         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
1566         conditions.
1567         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
1568         indicator.
1569         (Makefile.am): Remove code that is moved to fnmatch-h.
1570         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
1571         REPLACE_FNMATCH.
1572         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
1573         * modules/posixcheck (Depends-on): Add fnmatch-h.
1575 2018-08-06  Bruno Haible  <bruno@clisp.org>
1577         Enable more C++ tests.
1578         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
1579         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
1580         * modules/strings-tests (Depends-on): Add strings-c++-tests.
1581         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
1582         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
1584 2018-08-06  Bruno Haible  <bruno@clisp.org>
1586         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
1587         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
1588         getopt.h.
1589         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
1591 2018-08-05  Bruno Haible  <bruno@clisp.org>
1593         utime-h: Generate header file when module 'posixcheck' is in use.
1594         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
1595         UTIME_H to non-empty.
1597 2018-08-05  Bruno Haible  <bruno@clisp.org>
1599         monetary: Generate header file when module 'posixcheck' is in use.
1600         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
1601         use, set MONETARY_H to non-empty.
1603 2018-08-05  Bruno Haible  <bruno@clisp.org>
1605         iconv-h: Generate header file when module 'posixcheck' is in use.
1606         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
1607         set ICONV_H to non-empty.
1609 2018-08-05  Bruno Haible  <bruno@clisp.org>
1611         Optimize the "checking whether ... is declared without a macro" checks.
1612         Suggested by Paul Eggert in
1613         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
1614         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
1615         Gnulib module 'posixcheck' is not in use.
1617 2018-08-05  Bruno Haible  <bruno@clisp.org>
1619         iconv-h: Enable 'posixcheck' warnings.
1620         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
1621         iconv_open.
1622         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
1624 2018-08-05  Bruno Haible  <bruno@clisp.org>
1626         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
1627         * m4/extern-inline.m4: Add more comments.
1628         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
1629         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
1630         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
1632 2018-08-04  Bruno Haible  <bruno@clisp.org>
1634         New module 'posixcheck'.
1635         * modules/posixcheck: New file.
1636         * m4/posixcheck.m4: New file.
1637         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
1638         (Which modules?): Reference it.
1640 2018-08-01  Assaf Gordon <assafgordon@gmail.com>
1642         dfa: fix memory leak
1643         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
1645 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
1647         ieee754-h: new module
1648         It looks like Emacs can use this for some NaN processing.
1649         Emacs uses it only on double NaNs so it should be safe.
1650         * MODULES.html.sh (func_all_modules): Add ieee754-h.
1651         * config/srclist.txt: Mention ieee754.h in a comment.
1652         * doc/glibc-headers/ieee754.texi (ieee754.h):
1653         Gnulib now has a substitute that should work
1654         except for long double and for non-IEEE platforms.
1655         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
1656         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
1658 2018-07-27  Bruno Haible  <bruno@clisp.org>
1660         iswcntrl: Mention minor problem on macOS.
1661         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
1663 2018-07-26  Colin Watson  <cjwatson@debian.org>
1665         bootstrap, gnulib-tool: fix translations rsync
1666         Previously, we created files such as $pobase/Makefile.in.in and then the
1667         subsequent rsync would immediately delete them.
1668         * build-aux/bootstrap (po_download_command_format): Avoid deleting
1669         non-.po files in target directory when rsyncing translations.
1670         * gnulib-tool (func_import): Likewise.
1671         * pygnulib/GLImport.py (GLImport.execute): Likewise.
1673 2018-07-25  Jim Meyering  <meyering@fb.com>
1675         bootstrap: reinstate definition fo gnulib_mk.
1676         That variable is used at least by cppi.
1677         * build-aux/bootstrap (gnulib_mk): Restore definition.
1678         This reverts the deletion from v0.1-1844-gc66dba9ba.
1680 2018-07-23  Bruno Haible  <bruno@clisp.org>
1682         doc: For module names, use texinfo markup @code{} or @samp{}.
1683         * doc/alloca.texi: Mark gnulib module names with @code.
1684         * doc/alloca-opt.texi: Likewise.
1685         * doc/quote.texi: Likewise.
1686         * doc/posix-functions/freopen.texi: Likewise.
1687         * doc/posix-functions/open.texi: Likewise.
1688         * doc/posix-functions/readlink.texi: Likewise.
1689         * doc/posix-functions/readlinkat.texi: Likewise.
1690         * doc/posix-functions/stdout.texi: Likewise.
1691         * doc/posix-functions/stderr.texi: Likewise.
1692         * doc/posix-functions/unlink.texi: Likewise.
1693         * doc/posix-functions/unlinkat.texi: Likewise.
1694         * doc/posix-functions/utime.texi: Likewise.
1695         * doc/posix-functions/utimensat.texi: Likewise.
1696         * doc/posix-functions/utimes.texi: Likewise.
1697         * doc/posix-headers/stdint.texi: Likewise.
1698         * doc/glibc-functions/futimesat.texi: Likewise.
1699         * doc/glibc-functions/lutimes.texi: Likewise.
1700         * doc/glibc-functions/memmem.texi: Likewise.
1702 2018-07-23  Werner LEMBERG  <wl@gnu.org>
1704         doc: Avoid some overfull lines in the TeX output.
1705         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
1706         @example.
1707         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
1708         newline before the long URL.
1709         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
1710         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
1711         Add line breaks in code snippets.
1713 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
1715         hard-locale: simplify by removing hard-locale.m4
1716         * m4/hard-locale.m4: Remove.
1717         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
1718         (configure.ac): Do not call gl_HARD_LOCALE.
1720         gnulib-tool: limit line length for git send-email
1721         * gnulib-tool (func_import): Break actioncmd log line
1722         into multiple lines.
1724 2018-07-16  Bruno Haible  <bruno@clisp.org>
1726         ffs: Ensure declaration on mingw.
1727         Reported by Daniel P. Berrangé <berrange@redhat.com>
1728         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
1729         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
1730         also declared.
1732 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
1734         regex-tests: add dependency
1735         * modules/regex-tests (Depends-on): Add gettext-h.
1736         This is needed given the recent changes to regex,
1737         which no longer depends on gettext-h.
1739 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1741         regex: now in sync with glibc
1742         * config/srclist.txt: Gnulib and glibc regex code
1743         are synchronized again.
1745 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1747         renameatu: rename from renameat2
1748         It's looking like Glibc will add a renameat2 function
1749         that is incompatible with Gnulib renameat2; see:
1750         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
1751         To help avoid future confusion, rename renameat2 to something else.
1752         Use the name 'renameatu', as the Gnulib function is close to the
1753         Glibc function.  Perhaps someday there will also be a renameat2
1754         Gnulib module, which mimicks the future glibc renameat2, but that
1755         can wait as nobody seems to need such a module now.
1756         * NEWS: Mention this.
1757         * lib/renameatu.c: Rename from lib/renameat2.c.
1758         * lib/renameatu.h: Rename from lib/renameat2.h.
1759         * modules/renameatu: Rename from modules/renameat2.
1760         * modules/renameatu-tests: Rename from modules/renameat2-tests.
1761         All uses of "renameat2" in identifiers or file name
1762         changed to "renameatu", except for two instances in
1763         lib/renameatu.c that deal with the Linux kernel's
1764         renameat2 syscall.
1766 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
1768         gnulib-tool: minor tweaks for --gnu-make
1769         * gnulib-tool: Do not allow --gnu-make in test modes,
1770         since they all require automake.
1771         (func_emit_lib_Makefile_am): Don’t emit automake comment
1772         if --gnu-make.
1774         regex: work around conditional-dependencies glitch
1775         * modules/regex (Depends-on): Add langinfo.
1776         Without this change, I had problems building an experimental
1777         version of GNU Emacs.  The symptom of the bug was a message
1778         ‘./configure: line 12726: test: =: unary operator expected’.
1779         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
1780         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
1781         was unset.  Although gl_FUNC_NL_LANGINFO has
1782         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
1783         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
1784         --conditional-dependencies sometimes arranges for the
1785         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
1786         code.  Since the regex code includes <langinfo.h> it should be
1787         depending on the langinfo module anyway, and this happens to work
1788         around the bug, so install that as a workaround for now.  To
1789         reproduce the original problem, run the following shell script on
1790         the version of Gnulib just before this patch was installed.
1791                 rm -fr foo
1792                 mkdir foo
1793                 cat >foo/configure.ac <<'EOF'
1794                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
1795                 gl_EARLY
1796                 gl_INIT
1797                 AC_OUTPUT
1798                 EOF
1799                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
1800                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
1801                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
1802                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
1803                 cd foo
1804                 aclocal -I m4
1805                 autoconf
1806                 ./configure --with-included-regex
1808 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
1810         wchar: fix bug when checking for ‘inline’
1811         I discovered this when looking into using the regex module
1812         with Emacs.
1813         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
1814         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
1815         conftest1.c and conftest2.c but these files were not created.
1816         As far as I can see, this check never worked and nobody reported
1817         it until now, which is a bit worrisome.
1819 2018-06-30  Jim Meyering  <meyering@fb.com>
1821         bootstrap: s/--option val/--option=val/
1822         * build-aux/bootstrap (gnulib_tool_options): Change the
1823         spelling of "--option val" pairs to "--option=val", for
1824         aesthetics, and also so that this file no longer triggers
1825         a common help2man syntax-check warning when copied into
1826         projects like grep, gzip, etc.
1828 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
1830         manywarnings: omit -Wswitch-default
1831         This should make things more consistent, as we already ignore
1832         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
1833         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
1834         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
1835         Add -Wswitch-default.
1836         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
1837         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
1838         Remove -Wswitch-default.
1840         regex: revert most trimming
1841         Problems reported by Bruno Haible in:
1842         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
1843         * modules/regex (Depends-on): Add lock, memcmp, memmove,
1844         and wctype back in.  lock because regex users shouldn’t
1845         need to know that regex needs locking, and the rest because
1846         gnulib-tool should ordinarily ignore them anyway.
1848 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1850         regex: trim module dependencies
1851         * modules/regex (Depends-on): Remove gettext-h and lock,
1852         since the regex code should work OK without these modules,
1853         and Emacs uses it that way.  Also remove memcmp, memmove,
1854         and wctype, as these modules are obsolete and should not be
1855         needed any more.
1857 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
1859         regex: glibc does not use intprops.h
1860         Maybe we can talk glibc into using intprops.h someday, but
1861         now doesn’t seem to be a good time.
1862         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
1863         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
1864         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
1866 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
1868         regex: port to recently proposed glibc regex merge
1869         This patch is inspired by Adhemerval Zanella's recent proposal
1870         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
1871         to merge glibc and Gnulib regex.  It aims to simplify the merge on
1872         the glibc side, without keeping Gnulib portable.
1873         * lib/regex.h: Fix a problem with glibc installed-header checking,
1874         as follows:
1875         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
1876         (_Restrict_arr_): Prefer __restrict_arr if defined,
1877         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
1878         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
1879         (build_wcs_upper_buffer, build_upper_buffer)
1880         (re_string_translate_buffer, re_string_context_at):
1881         Move decls here from lib/regex_internal.h, for glibc internal tests.
1882         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
1883         glibc BZ #18496.
1884         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
1885         -Wunused-value.
1886         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
1887         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1888         (bitset_mask): Now static inline, and without any __attribute__
1889         ((unused)) decoration, for glibc internal tests.
1891 2018-06-25  Bruno Haible  <bruno@clisp.org>
1893         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
1894         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
1895         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
1896         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
1897         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
1898         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
1899         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
1900         / -lthread / -lpth does not get optimized away by a preceding
1901         --as-needed option.
1903 2018-06-25  Bruno Haible  <bruno@clisp.org>
1905         Continue to use spaces for indentation, not tabs.
1906         * MODULES.html.sh: Untabify.
1907         * doc/regex.texi: Likewise.
1908         * lib/acl-internal.c: Likewise.
1909         * lib/dfa.c: Likewise.
1910         * lib/exclude.c: Likewise.
1911         * lib/exclude.h: Likewise.
1912         * lib/get-permissions.c: Likewise.
1913         * lib/gettimeofday.c: Likewise.
1914         * lib/parse-datetime.y: Likewise.
1915         * lib/pselect.c: Likewise.
1916         * lib/set-permissions.c: Likewise.
1917         * lib/time.in.h: Likewise.
1918         * m4/canonicalize.m4: Likewise.
1919         * m4/gc.m4: Likewise.
1920         * m4/gnulib-common.m4: Likewise.
1921         * m4/pthread_sigmask.m4: Likewise.
1922         * m4/vararrays.m4: Likewise.
1923         * tests/test-digest.h: Likewise.
1924         * tests/test-fcntl-h.c: Likewise.
1925         * tests/test-timespec.c: Likewise.
1926         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
1928 2018-06-25  Bruno Haible  <bruno@clisp.org>
1930         manywarnings: Don't enable -Wjump-misses-init warnings by default.
1931         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
1932         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
1933         -Wjump-misses-init.
1935 2018-06-25  Jim Meyering  <meyering@fb.com>
1937         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
1938         * lib/acl-internal.h (free_permission_context): Remove that
1939         attribute directive.  Otherwise, it would provoke this from GCC 9:
1940         lib/acl-internal.h:300:3: error: 'const' attribute on function \
1941           returning 'void' [-Werror=attributes]
1943 2018-06-24  Jim Meyering  <meyering@fb.com>
1945         parse-datetime: accommodate gcc-4.8.5
1946         Bruno Haible reported the build failure in
1947         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
1948         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
1949         on declaration of new local.
1951 2018-06-24  Bruno Haible  <bruno@clisp.org>
1953         af_alg: Fail in continuable manner on Linux/powerpc64le.
1954         Reported by Assaf Gordon <assafgordon@gmail.com>
1955         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
1956         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
1957         byte send() as the first round.
1959 2018-06-24  Bruno Haible  <bruno@clisp.org>
1961         af_alg: Fix state of stream after sendfile() succeeds.
1962         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
1963         the stream is correctly positioned afterwards.
1964         * modules/crypto/af_alg (Depends-on): Add fflush.
1965         * tests/test-digest.h (test_digest_on_files): Verify that after the
1966         operation the stream is positioned at end of file.
1968 2018-06-24  Jim Meyering  <meyering@fb.com>
1970         canon-host: take GCC9's advice rather than ignoring warning
1971         Pádraig Brady suggested not to ignore this GCC9 advice.
1972         * lib/canon-host.c: Undo preceding change.
1973         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
1975         parse-datetime.y: avoid spurious GCC 9 warning
1976         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
1977         a function local prior to the first "goto fail".  The prior use would
1978         evoke this:
1979         parse-datetime.y: In function 'parse_datetime2':
1980         parse-datetime.y:1791:19: error: jump skips variable initialization \
1981           [-Werror=jump-misses-init]
1982         parse-datetime.y:2385:2: note: label 'fail' defined here
1983         parse-datetime.y:188:43: note: '({anonymous})' declared here
1984         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
1986         canon-host.c: avoid spurious GCC 9 warning
1987         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
1989         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
1990         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
1991         * m4/manywarnings.m4: Remove them.
1992         Otherwise, building coreutils, I would see this:
1993         cc1: error: deprecated command line option '-Wchkp' [-Werror]
1994         cc1: error: -Wabi won't warn about anything [-Werror=abi]
1995         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
1996           which is also used by default
1997         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
1999 2018-06-24  Bruno Haible  <bruno@clisp.org>
2001         af_alg tests: Add another test.
2002         * tests/test-digest.h (test_digest_on_files): Also check a large file
2003         with a skipped header.
2004         * tests/test-md5.c: Include macros.h.
2005         * tests/test-sha1.c: Likewise.
2006         * tests/test-sha256.c: Likewise.
2007         * tests/test-sha512.c: Likewise.
2008         * modules/crypto/md5-tests (Files): Add tests/macros.h.
2009         * modules/crypto/sha1-tests (Files): Likewise.
2010         * modules/crypto/sha256-tests (Files): Likewise.
2011         * modules/crypto/sha512-tests (Files): Likewise.
2013 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2015         maint: clarify comments about sticky EOF
2016         * lib/af_alg.c: Be more direct that we can't
2017         assume stickiness of EOF for portability reasons.
2018         * lib/md5.c: Clarify that this isn't just a glibc issue.
2019         * lib/sha1.c: Likewise.
2020         * lib/sha256.c: Likewise.
2021         * lib/sha512.c: Likewise.
2023 2018-06-24  Bruno Haible  <bruno@clisp.org>
2025         af_alg: Comment and style improvements.
2026         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
2027         (afalg_buffer, afalg_stream): Improve comments.
2029 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2031         af_alg: disable kernel hash functions by default
2032         All the kernel routines were seen to be significantly slower
2033         with these relatively recent components on an i3-2310M system:
2034           kernel-4.10.6-200.fc25.x86_64
2035           openssl-1.0.2m-1.fc25.x86_64
2036         sha1 was nearly twice as slow in the kernel for example.
2037         Further considerations why this should not be the default, at:
2038         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
2040         * m4/af_alg.m4: Require --with-linux-crypto to enable.
2041         * m4/gl-openssl.m4: Tweak accordingly.
2043 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2045         af_alg: avoid hangs when reading from streams
2046         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
2047         and thus avoid doing a fread() when feof() is set.
2048         * lib/md5.c: Ensure feof() is called before fread().
2049         * lib/sha1.c: Likewise.
2050         * lib/sha256.c: Likewise.
2051         * lib/sha512.c: Likewise.
2053 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2055         af_alg: fix error handling when hash not returned
2056         * lib/af_alg.c (afalg_stream): Handle the case where we've
2057         successfully written data to the kernel in the read/write loop,
2058         but the kernel doesn't respond with the hash.
2060 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2062         libc-config: merge from glibc
2063         * lib/cdefs.h (__inline, __restrict):
2064         Copy from current glibc.  This fixes glibc bug 17721,
2065         which Gnulib had already fixed in a different way.
2066         (__nonnull): Lessen the distance from glibc by using the
2067         glibc definition inside an ‘#ifndef __nonnull’.
2068         (__attribute_nonstring__): New macro, copied from
2069         current glibc.
2070         * lib/libc-config.h (__attribute_nonstring__): New undef.
2071         (__restrict): Remove; workaround no longer needed.
2072         Keep the __inline workaround, though, as it uses HAVE___INLINE to
2073         support more compilers than the glibc __inline can.
2075 2018-06-24  Bruno Haible  <bruno@clisp.org>
2077         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
2078         * lib/mbrtowc.c (enc_t): New enum type.
2079         (locale_enc, locale_enc_cached): New functions.
2080         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
2081         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
2082         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
2083         instead.
2084         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
2085         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
2086         * modules/wcwidth (configure.ac): Invoke it.
2088 2018-06-24  Bruno Haible  <bruno@clisp.org>
2090         wchar-single: Fix test failure in wcwidth tests.
2091         * tests/test-wcwidth.c (main): If the wchar-single module is present,
2092         skip the tests in the C locale.
2094 2018-06-23  Pádraig Brady  <P@draigBrady.com>
2096         crypto: mention --without-linux-crypto in --with-openssl --help
2097         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
2098         routines take precedence in --with-openssl help output.
2100 2018-06-23  Pádraig Brady  <P@draigBrady.com>
2102         wchar-single: a new module to enable optimizations in wchar replacements
2103         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
2104         GNULIB_WCHAR_SINGLE is enabled.
2105         * lib/wcwidth.c (wcwidth): Likewise.
2107 2018-06-23  Bruno Haible  <bruno@clisp.org>
2109         libc-config: Fix conflict with FreeBSD include files.
2110         * lib/cdefs.h (__nonnull): Remove definition.
2111         * lib/libc-config.h (__nonnull): Remove undefinition.
2113 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2115         random_r: do not crash if state is unaligned
2116         Problem reported by Bruce Korb in:
2117         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
2118         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
2119         with 'cc -O2 -xmemalign=8s'.
2120         * lib/random_r.c: Include string.h, for memcpy.
2121         (get_int32, set_int32): New functions.
2122         (__srandom_r, __initstate_r, __setstate_r, __random_r):
2123         Use them to avoid assumption that state pointer is aligned.
2124         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
2125         * tests/test-random_r.c (test_failed): New function.
2126         (main): Use it, to test for alignment bugs.
2128         random_r: omit unnecessary include
2129         * lib/random_r.c: Do not include limits.h.
2131         random, random_r: merge from glibc
2132         * lib/random.c, lib/random_r.c:
2133         Include libc-config.h if !_LIBC, not config.h unilaterally.
2134         * lib/random.c:
2135         Do not include stdint.h or time.h; not needed.
2136         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
2137         (unsafe_state): Rename from generator.  All uses changed.
2138         Use C99-style initializers.
2139         (__random, __srandom, __initstate, __setstate): Rename from
2140         non-underscored version, but define it to non-underscored version
2141         on Gnulib.  Add a lock.
2142         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
2143         Likewise.
2144         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
2145         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
2146         (__srandom_r): Use int32_t instead of long int where int32_t will do.
2147         (__random_r): Use uint32 to fix glibc bug 17343.
2148         * modules/random, modules/random_r (Depends-on): Add libc-config.
2149         Depend on stdint only if $HAVE_RANDOM = 0.
2151 2018-06-19  Jim Meyering  <meyering@fb.com>
2153         README-release: also run any check-very-expensive tests
2154         * top/README-release: Adjust instructions so they run the
2155         check-very-expensive tests when there is such a target.
2157 2018-06-18  Bruno Haible  <bruno@clisp.org>
2159         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
2160         * m4/pthread_rwlock_rdlock.m4: Add comment.
2161         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
2162         are reader-preferring in glibc.
2163         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
2164         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
2166 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
2168         crypto: use byteswap
2169         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
2170         * lib/sm3.c: Include <byteswap.h>.
2171         (SWAP): Use its macros rather than reinventing the wheel.
2172         * modules/crypto/md4, modules/crypto/md5-buffer:
2173         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
2174         * modules/crypto/sha512-buffer, modules/crypto/sm3:
2175         (Depends-on): Add byteswap.
2177 2018-06-17  Pádraig Brady  <P@draigBrady.com>
2179         gendocs.sh: fix support for legacy --texi2html
2180         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
2181         to the default makeinfo invocation.
2182         Reported by Bruce Korb
2184 2018-06-17  Bruno Haible  <bruno@clisp.org>
2186         gettext po infrastructure: Update from current gettext git.
2187         Reported by Akim Demaille <akim@lrde.epita.fr>.
2188         * build-aux/po/Makefile.in.in: Update from current gettext git.
2189         * build-aux/po/remove-potcdate.sin: Likewise.
2190         * config/srclist.txt: Temporarily disable sync for these files.
2192 2018-06-17  Bruno Haible  <bruno@clisp.org>
2194         getloadavg: Return 0 on Windows without Cygwin.
2195         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
2197 2018-06-17  Paul Smith  <psmith@gnu.org>
2199         getloadavg: Allow building on Windows without Cygwin
2200         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
2201         * m4/getloadavg.m4: Check for unistd.h.
2203 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
2205         Port crypto/af_alg to GCC 4.8.4
2206         Problem reported by Peter Simons in:
2207         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
2208         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
2210 2018-05-27  Colin Watson  <cjwatson@debian.org>
2212         bootstrap: document source fetching in --help
2213         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
2215 2018-04-09  Colin Watson  <cjwatson@debian.org>
2217         bootstrap: allow non-submodule control of gnulib
2218         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
2219         bootstrap.conf when fetching gnulib using "git clone" or via
2220         GNULIB_SRCDIR.
2222 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
2224         crypto: omit stream ops Emacs doesn’t need
2225         * lib/md5.c (md5_stream):
2226         * lib/sha1.c (sha1_stream):
2227         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
2228         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
2229         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
2230         defined.  Emacs needs this, as it does not use the stream
2231         operations and doesn’t need all the af_alg stuff we’ve recently
2232         added.  Perhaps a similar change is needed to the other crypto
2233         modules, but this patch changes only those needed for Emacs.
2234         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
2235         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
2236         New modules, used by Emacs.
2237         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
2238         * modules/crypto/sha512: Rewrite to depend on the new modules.
2240 2018-05-20  Pádraig Brady  <P@draigBrady.com>
2242         fts: avoid a memory leak edge case
2243         * lib/fts.c (fts_open): Set an appropriate fts_level
2244         so that an immediate fts_close() will free the allocation.
2245         * tests/test-fts.c (fts_dealloc): Add a test case which
2246         will trigger under valgrind or address sanitizer.
2247         Fixes https://bugs.gnu.org/31439
2249 2018-05-20  Bruno Haible  <bruno@clisp.org>
2251         wcwidth tests: Fix link error.
2252         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
2253         $(LIBUNISTRING).
2255 2018-05-20  Bruno Haible  <bruno@clisp.org>
2257         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
2258         * modules/regex (Files): Add m4/glibc21.m4.
2260 2018-05-20  Bruno Haible  <bruno@clisp.org>
2262         localcharset: Optimize.
2263         * lib/localcharset.c (alias_table): Comment out no-op mappings for
2264         platforms where these don't matter. This reduces the table size,
2265         which in turn reduces the lookup time.
2267 2018-05-19  Bruno Haible  <bruno@clisp.org>
2269         localcharset: Map the locale encodings found in newer OSes.
2270         * lib/localcharset.c (alias_table): Add mapping for locale encodings
2271         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
2272         IRIX 6.5, Minix 3.3.
2273         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
2275 2018-05-19  Bruno Haible  <bruno@clisp.org>
2277         localcharset: Move mapping tables into the code. Use a binary search.
2278         * lib/localcharset.h: Document the GNU canonical names for character
2279         encodings here.
2280         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
2281         relocatable.h, configmake.h.
2282         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
2283         macros.
2284         (charset_aliases): Remove variable.
2285         (get_charset_aliases): Remove function.
2286         (struct table_entry): New type.
2287         (alias_table, locale_table): New constants.
2288         (locale_charset): Use the alias_table or locale_table to get the
2289         canonicalized encoding name.
2290         * lib/config.charset: Remove file.
2291         * lib/ref-add.sin: Remove file.
2292         * lib/ref-del.sin: Remove file.
2293         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
2294         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
2295         * modules/localcharset (Notice): Remove.
2296         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
2297         glibc21.m4.
2298         (Depends-on): Remove configmake.
2299         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
2300         (Makefile.am): Simplify.
2301         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
2303 2018-05-19  Bruno Haible  <bruno@clisp.org>
2305         localcharset: Add a manual test.
2306         * tests/test-localcharset.c: New file.
2307         * modules/localcharset-tests: New file.
2309 2018-05-19  Bruno Haible  <bruno@clisp.org>
2311         localcharset: Remove support for obsolete platforms.
2312         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
2313         Mac OS X 10.2. Comment out dubious entry for Solaris.
2315 2018-05-19  Jim Meyering  <meyering@fb.com>
2317         gnupload: adjust comment
2318         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
2319         more likely we'll remove the just-added code in a year or two.
2321 2018-05-19  Bruno Haible  <bruno@clisp.org>
2323         gnupload: Fix "gpg-agent is not available in this session" error.
2324         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
2326 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
2328         crypto/af_alg: fix --help
2329         * m4/af_alg.m4: Avoid spurious newline in --help output.
2331 2018-05-13  Bruno Haible  <bruno@clisp.org>
2333         nl_langinfo: Fix compilation error on Android.
2334         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
2335         INT_CURR_SYMBOL, etc. only if these items are defined.
2337 2018-05-13  Bruno Haible  <bruno@clisp.org>
2339         truncate: Fix compilation error on Android.
2340         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
2341         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
2342         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
2343         HAVE_TRUNCATE.
2344         * modules/truncate: Likewise.
2345         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
2346         not HAVE_TRUNCATE.
2347         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
2348         HAVE_TRUNCATE.
2349         * doc/posix-functions/truncate.texi: Mention the issue.
2351 2018-05-13  Bruno Haible  <bruno@clisp.org>
2353         pthread: Fix compilation error on Android.
2354         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
2355         recursive inclusion of this file.
2357 2018-05-13  Bruno Haible  <bruno@clisp.org>
2359         posix_spawn: Fix compilation error on Android.
2360         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
2361         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
2362         (posix_spawn_file_actions_t): Consider also the case
2363         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
2365 2018-05-13  Bruno Haible  <bruno@clisp.org>
2367         tsearch: Move from K&R C to ANSI C.
2368         * lib/tsearch.c (tfind): Convert definition to ANSI C.
2370 2018-05-13  Bruno Haible  <bruno@clisp.org>
2372         tsearch: Fix compilation error on Android.
2373         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
2374         is 0.
2375         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
2376         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
2377         GNULIB_defined_tsearch is true.
2378         (twalk): Define only if GNULIB_defined_twalk is true.
2379         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
2380         is 0.
2381         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
2382         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
2383         * modules/search (Makefile.am): Substitute HAVE_TWALK.
2385 2018-05-13  Bruno Haible  <bruno@clisp.org>
2387         imaxdiv: Fix compilation error on Android.
2388         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
2389         is not defined.
2390         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
2391         HAVE_DECL_IMAXDIV, is 0.
2392         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
2393         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
2395 2018-05-13  Bruno Haible  <bruno@clisp.org>
2397         Support selective inclusion mechanism of recent mingw.org header files.
2398         Reported by Eli Zaretskii <eliz@gnu.org>.
2399         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
2400         __need_ssize_t, or __need_time_t is defined, just include the system's
2401         <sys/types.h>.
2402         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
2403         include the system's <locale.h>.
2405 2018-05-13  Bruno Haible  <bruno@clisp.org>
2407         Avoid compilation error due to 'mmap' on Android.
2408         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
2409         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
2410         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
2411         Undefine on Android.
2413 2018-05-13  Bruno Haible  <bruno@clisp.org>
2415         Add cross-compilation guesses for Linux systems without glibc.
2416         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
2417         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
2418         * m4/link.m4 (gl_FUNC_LINK): Likewise.
2419         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
2420         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
2421         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
2422         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
2423         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
2424         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
2425         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
2426         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
2427         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
2428         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
2429         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2430         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
2431         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
2432         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2433         * m4/utimens.m4 (gl_UTIMENS): Likewise.
2435 2018-05-13  Bruno Haible  <bruno@clisp.org>
2437         getpagesize: Fix compilation error on Android.
2438         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
2439         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
2440         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
2441         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
2442         HAVE_GETPAGESIZE accordingly.
2443         * modules/getcwd (Files): Add m4/getpagesize.m4.
2445 2018-05-13  Bruno Haible  <bruno@clisp.org>
2447         tcgetsid: Fix compilation error on Android.
2448         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
2449         AC_CHECK_FUNC.
2451 2018-05-13  Bruno Haible  <bruno@clisp.org>
2453         getpass: Fix configure test for Android.
2454         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
2455         AC_CHECK_FUNC.
2457 2018-05-13  Bruno Haible  <bruno@clisp.org>
2459         ffs: Fix compilation error on Android.
2460         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
2462 2018-05-13  Bruno Haible  <bruno@clisp.org>
2464         mkfifo: Fix compilation error on Android.
2465         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
2466         AC_CHECK_FUNC.
2468 2018-05-13  Bruno Haible  <bruno@clisp.org>
2470         c-strtod: Fix configure test for Android.
2471         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
2472         AC_CHECK_FUNC.
2474 2018-05-13  Bruno Haible  <bruno@clisp.org>
2476         random: Fix compilation error on Android.
2477         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
2478         AC_CHECK_FUNC.
2480 2018-05-13  Bruno Haible  <bruno@clisp.org>
2482         grantpt: Fix compilation error on Android.
2483         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
2484         AC_CHECK_FUNC.
2486 2018-05-13  Bruno Haible  <bruno@clisp.org>
2488         stdioext: Fix compilation errors with newer Android headers.
2489         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
2490         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
2491         fallbacks for Android.
2492         * lib/fpending.c: Update comments.
2493         * lib/fpurge.c: Likewise.
2494         * lib/freadable.h: Likewise.
2495         * lib/freadable.c: Likewise.
2496         * lib/freadahead.c: Likewise.
2497         * lib/freading.h: Likewise.
2498         * lib/freadptr.c: Likewise.
2499         * lib/fseterr.c: Likewise.
2500         * lib/fwritable.h: Likewise.
2501         * lib/fwritable.c: Likewise.
2502         * lib/fwriting.h: Likewise.
2503         * lib/fwriting.c: Likewise.
2505 2018-05-13  Bruno Haible  <bruno@clisp.org>
2507         doc: Add info about Android versions 2.0 to 8.1.
2508         * doc/**/*.texi: Add info about functions in all released versions of
2509         Bionic.
2511 2018-05-12  Bruno Haible  <bruno@clisp.org>
2513         fseeko: On mingw, don't use the hidden function _fseeki64.
2514         Reported by Eli Zaretskii <eliz@gnu.org>.
2515         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
2516         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
2518 2018-05-12  Bruno Haible  <bruno@clisp.org>
2520         glob: Choose 'dirent_type' in a way that works better on mingw.
2521         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
2522         * lib/glob.c (dirent_type): Define as uint_fast32_t.
2524 2018-05-12  Bruno Haible  <bruno@clisp.org>
2526         execute, spawn-pipe: Avoid warning about redefining 'close'.
2527         Reported by Eli Zaretskii <eliz@gnu.org>.
2528         * lib/execute.c: Undefine 'close' before redefining it.
2529         * lib/spawn-pipe.c: Likewise.
2531 2018-05-12  Bruno Haible  <bruno@clisp.org>
2533         nanosleep: Avoid test failure on mingw when it has nanosleep.
2534         Reported by Eli Zaretskii <eliz@gnu.org>.
2535         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
2536         If it does not exist, use a simpler test program that does not call
2537         alarm().
2539 2018-05-10  Bruno Haible  <bruno@clisp.org>
2541         lock, cond, thread, tls: Use a different symbol as libpthread witness.
2542         Reported by Devin Hussey <husseydevin@gmail.com>.
2543         Based on a patch by Paul Eggert.
2544         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
2545         as witness of libpthread.
2546         * lib/glthread/cond.h (pthread_in_use): Likewise.
2547         * lib/glthread/thread.h (pthread_in_use): Likewise.
2548         * lib/glthread/tls.h (pthread_in_use): Likewise.
2550 2018-05-10  Bruno Haible  <bruno@clisp.org>
2552         cond tests: Fix compilation error on Solaris.
2553         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
2554         macro.
2556 2018-05-10  Bruno Haible  <bruno@clisp.org>
2558         doc: Add partial info about Android 4.3.
2559         * doc/*-functions/*.texi: Add info about functions that were added
2560         to Bionic between Android 4.3 and Android 9.0.
2562 2018-05-10  Bruno Haible  <bruno@clisp.org>
2564         doc: Add info about Android 9.0.
2565         * doc/**/*.texi: Add info about functions and headers in Bionic from
2566         Android 9.0.
2568 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
2570         af_alg: fix my typo in afalg_buffer
2571         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
2572         (afalg_stream): Simplify and avoid the need for a runtime test
2573         at the end.
2575         af_alg: recover better from crypto failures
2576         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
2577         input stream is seekable, by repositioning the stream back to
2578         where it was, possibly by just calling sendfile with an offset
2579         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
2580         cases, which lets our callers try again with user-mode code.
2581         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
2582         instead of on fflush and lseek.
2584         af_alg: distiguish I/O errors better
2585         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
2586         not -EIO, if it’s OK for the caller to try again with user-mode code.
2587         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
2588         some other error number) if fflush fails, as the caller should not
2589         try again that case.
2591         af_alg: avoid gotos
2592         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
2593         gotos, as they were a source of unreliability and made the code a
2594         bit harder to follow.
2596         af_alg: don’t leak file descriptors into children
2597         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
2598         This code should be compiled only on recent GNU/Linux platforms
2599         so we shouldn’t have to also depend on the accept4 module.
2601         af_alg: coalesce socket creation
2602         * lib/af_alg.c (alg_socket): New function.
2603         (afalg_buffer, afalg_stream): Use it.  This avoids some
2604         code duplication and gotos.
2606         af_alg: fix file descriptor leak
2607         * lib/af_alg.c (afalg_stream): Close leak.
2609         af_alg: Pacify --enable-gcc-warnings on GCC 8
2610         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
2611         and checking to pacify gcc -Wjump-misses-init on GCC 8.
2613 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
2615         af_alg: Pacify --enable-gcc-warnings
2616         Problem reported by Assaf Gordon in:
2617         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
2618         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
2619         gcc -Wjump-misses-init.
2620         * lib/sha512.c (shaxxx_stream): Now static.
2622 2018-05-06  Bruno Haible  <bruno@clisp.org>
2624         af_alg: Add ability to use Linux kernel crypto API on data in memory.
2625         * lib/af_alg.h (afalg_buffer): New declaration.
2626         * lib/af_alg.c (afalg_buffer): New function.
2628 2018-05-06  Bruno Haible  <bruno@clisp.org>
2630         af_alg: Avoid warnings.
2631         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
2632         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
2634 2018-05-06  Bruno Haible  <bruno@clisp.org>
2636         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
2637         * tests/bench-digest.h: New file.
2638         * tests/bench-md5.c: New file.
2639         * tests/bench-sha1.c: New file.
2640         * tests/bench-sha224.c: New file.
2641         * tests/bench-sha256.c: New file.
2642         * tests/bench-sha384.c: New file.
2643         * tests/bench-sha512.c: New file.
2644         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
2645         tests/bench-digest.h.
2646         (Depends-on): Add getrusage, gettimeofday.
2647         (Makefile.am): Add variables to build bench-md5.
2648         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
2649         tests/bench-digest.h.
2650         (Depends-on): Add getrusage, gettimeofday.
2651         (Makefile.am): Add variables to build bench-sha1.
2652         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
2653         tests/bench-sha256.c, tests/bench-digest.h.
2654         (Depends-on): Add getrusage, gettimeofday.
2655         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
2656         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
2657         tests/bench-sha512.c, tests/bench-digest.h.
2658         (Depends-on): Add getrusage, gettimeofday.
2659         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
2661 2018-05-06  Bruno Haible  <bruno@clisp.org>
2663         af_alg: Fix a resource leak.
2664         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
2665         New local variable 'result'.
2667 2018-05-06  Bruno Haible  <bruno@clisp.org>
2669         af_alg: Fix bug with streams that are not at position 0.
2670         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
2671         assume that the stream is positioned at position 0.
2672         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
2673         of the stream.
2674         * lib/md5.h (md5_stream): Likewise.
2675         * lib/sha1.h (sha1_stream): Likewise.
2676         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
2677         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
2678         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
2680         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
2681         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
2682         stream that is not positioned at the beginning.
2684 2018-05-06  Bruno Haible  <bruno@clisp.org>
2686         af_alg: Add configure option to enable/disable use of Linux crypto API.
2687         Suggested by Assaf Gordon <assafgordon@gmail.com>.
2688         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
2689         USE_LINUX_CRYPTO_API.
2690         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
2691         * lib/af_alg.c: Likewise.
2693 2018-05-06  Bruno Haible  <bruno@clisp.org>
2695         Followup to 'af_alg: New module.'.
2696         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
2697         * modules/crypto/sha1 (Depends-on): Likewise.
2698         * modules/crypto/sha256 (Depends-on): Likewise.
2699         * modules/crypto/sha512 (Depends-on): Likewise.
2701 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2703         crypto/{md5,sha1,sha256,sha512}: simplify
2704         * lib/md5.c (md5_stream):
2705         * lib/sha1.c (sha1_stream):
2706         * lib/sha256.c (shaxxx_stream):
2707         Simplify, partly by assuming C99.
2708         * lib/sha256.c (shaxxx_stream):
2709         New function, which implements both sha256 and sha224.
2710         Simplify, partly by assuming C99.
2711         (sha256_stream, sha224_stream):
2712         Use it to avoid code duplication, removing a FIXME.
2713         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
2714         Likewise.
2716         af_alg: Improve comments.
2717         * lib/af_alg.h: Use imperatives and tighten up wording.
2719 2018-05-05  Bruno Haible  <bruno@clisp.org>
2721         af_alg: Improve comments.
2722         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
2724 2018-05-05  Bruno Haible  <bruno@clisp.org>
2726         af_alg: New module.
2727         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
2728         * lib/af_alg.c: Include "af_alg.h" before the other header files.
2729         * lib/md5.c: Include "af_alg.h" unconditionally.
2730         (md5_stream): Invoke afalg_stream unconditionally.
2731         * lib/sha1.c: Include "af_alg.h" unconditionally.
2732         (sha1_stream): Invoke afalg_stream unconditionally.
2733         * lib/sha256.c: Include "af_alg.h" unconditionally.
2734         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
2735         * lib/sha512.c: Include "af_alg.h" unconditionally.
2736         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
2737         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
2738         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
2739         * modules/crypto/af_alg: New file.
2740         * modules/crypto/md5 (Files): Remove files that are now in the
2741         'crypto/af_alg' module.
2742         (Depends-on): Add crypto/af_alg.
2743         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2744         (Makefile.am): Don't mention af_alg.c here.
2745         * modules/crypto/sha1 (Files): Remove files that are now in the
2746         'crypto/af_alg' module.
2747         (Depends-on): Add crypto/af_alg.
2748         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2749         (Makefile.am): Don't mention af_alg.c here.
2750         * modules/crypto/sha256 (Files): Remove files that are now in the
2751         'crypto/af_alg' module.
2752         (Depends-on): Add crypto/af_alg.
2753         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2754         (Makefile.am): Don't mention af_alg.c here.
2755         * modules/crypto/sha512 (Files): Remove files that are now in the
2756         'crypto/af_alg' module.
2757         (Depends-on): Add crypto/af_alg.
2758         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2759         (Makefile.am): Don't mention af_alg.c here.
2761 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2763         crypto tests: pacify GCC
2764         * tests/test-digest.h (test_digest_on_files):
2765         Don’t assume digest size fits in int (!).
2767         af_alg: minor style improvements
2768         * lib/af_alg.c (afalg_stream): Prefer C99 style
2769         decl-after-statement, since we’re already assuming C99.  Clarify
2770         by strengthening the bind test and omit unnecessary assignment.
2772 2018-05-05  Bruno Haible  <bruno@clisp.org>
2774         af_alg: Fix bug on empty files.
2775         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
2776         stream is empty.
2778 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2780         sys-limits.h: new file for crypto and safe I/O
2781         * lib/af_alg.c: Include sys-limits.h.
2782         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
2783         (afalg_stream): Also reject negative sizes for sendfile; they
2784         should not happen and the code is a bit cleaner and faster this way.
2785         * lib/safe-read.c: Include sys-limits.h.
2786         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
2787         * lib/sys-limits.h: New file, with values and commentary derived
2788         from the old safe-read.c and from GNU Emacs sysdep.c.
2789         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
2790         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
2791         Add lib/sys-limits.h to Files section.
2793 2018-05-05  Bruno Haible  <bruno@clisp.org>
2795         af_alg: Improve function signature.
2796         * lib/af_alg.h (afalg_stream): Swap second and third argument.
2797         * lib/af_alg.c (afalg_stream): Likewise.
2798         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
2800 2018-05-05  Bruno Haible  <bruno@clisp.org>
2802         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
2803         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
2804         * modules/crypto/sha1 (Depends-on): Likewise.
2805         * modules/crypto/sha256 (Depends-on): Likewise.
2806         * modules/crypto/sha512 (Depends-on): Likewise.
2808 2018-05-05  Bruno Haible  <bruno@clisp.org>
2810         crypto/{md5,sha1,sha256,sha512}: Fix module description.
2811         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
2812         * modules/crypto/sha1 (Depends-on): Likewise.
2813         * modules/crypto/sha256 (Depends-on): Likewise.
2814         * modules/crypto/sha512 (Depends-on): Likewise.
2816 2018-05-05  Bruno Haible  <bruno@clisp.org>
2818         af_alg: Add documentation.
2819         * lib/af_alg.h: Add comments.
2821 2018-05-05  Bruno Haible  <bruno@clisp.org>
2823         sha512: Add tests.
2824         * tests/test-sha512.c: New file.
2825         * modules/crypto/sha512-tests: New file.
2827 2018-05-05  Bruno Haible  <bruno@clisp.org>
2829         sha256: Add tests.
2830         * tests/test-sha256.c: New file.
2831         * modules/crypto/sha256-tests: New file.
2833 2018-05-05  Bruno Haible  <bruno@clisp.org>
2835         sha1 tests: Add test for sha1_stream.
2836         * tests/test-sha1.c: Include test-digest.h.
2837         (main): Invoke test_digest_on_files on 'sha1_stream'.
2838         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
2840 2018-05-05  Bruno Haible  <bruno@clisp.org>
2842         md5 tests: Add test for md5_stream.
2843         * tests/test-digest.h: New file.
2844         * tests/test-md5.c: Include test-digest.h.
2845         (main): Invoke test_digest_on_files on 'md5_stream'.
2846         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
2848 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2850         md5sum: Use AF_ALG when available.
2851         * lib/md5.c: Include af_alg.h.
2852         (md5_stream): Use afalg_stream when available.
2853         * modules/crypto/md5 (Files): Add the af_alg files.
2854         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2855         (Makefile.am): Add af_alg.c.
2857 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2859         sha512sum: Use AF_ALG when available.
2860         * lib/sha512.c: Include af_alg.h.
2861         (sha512_stream, sha384_stream): Use afalg_stream when available.
2862         * modules/crypto/sha512 (Files): Add the af_alg files.
2863         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2864         (Makefile.am): Add af_alg.c.
2866 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2868         sha256sum: Use AF_ALG when available.
2869         * lib/sha256.c: Include af_alg.h.
2870         (sha256_stream, sha224_stream): Use afalg_stream when available.
2871         * modules/crypto/sha256 (Files): Add the af_alg files.
2872         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2873         (Makefile.am): Add af_alg.c.
2875 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2877         sha1sum: Use AF_ALG when available.
2878         * lib/af_alg.h: New file.
2879         * lib/af_alg.c: New file.
2880         * lib/sha1.c: Include af_alg.h.
2881         (sha1_stream): Use afalg_stream when available.
2882         * m4/linux-if-alg.m4: New file.
2883         * modules/crypto/sha1 (Files): Add the new files.
2884         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2885         (Makefile.am): Add af_alg.c.
2887 2018-05-05  Bruno Haible  <bruno@clisp.org>
2889         all: Replace more http URLs by https URLs.
2890         * lib/localename.c: Use https: URL.
2891         * lib/timespec.h: Likewise.
2893 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
2895         maint: port more modules to GCC 8
2896         * lib/dirname.h (base_name):
2897         * lib/exclude.h (new_exclude):
2898         * lib/xstrndup.h (xstrndup):
2899         Add malloc attribute.
2900         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
2901         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
2902         This pacifies GCC 8.
2903         * m4/gnulib-common.m4 (gl_COMMON_BODY):
2904         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
2906 2018-05-03  Bruno Haible  <bruno@clisp.org>
2908         Simplify code. Drop support for Borland C++ on Windows.
2909         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
2910         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
2911         'defined _WIN32'.
2912         * lib/canonicalize-lgpl.c: Likewise.
2913         * lib/classpath.c: Likewise.
2914         * lib/clean-temp.c: Likewise.
2915         * lib/csharpexec.c: Likewise.
2916         * lib/ctime.c: Likewise.
2917         * lib/dosname.h: Likewise.
2918         * lib/dup2.c: Likewise.
2919         * lib/errno.in.h: Likewise.
2920         * lib/error.c: Likewise.
2921         * lib/euidaccess.c: Likewise.
2922         * lib/execute.c: Likewise.
2923         * lib/fcntl.in.h: Likewise.
2924         * lib/fcntl.c: Likewise.
2925         * lib/filename.h: Likewise.
2926         * lib/findprog.c: Likewise.
2927         * lib/flock.c: Likewise.
2928         * lib/fopen.c: Likewise.
2929         * lib/freopen.c: Likewise.
2930         * lib/fstat.c: Likewise.
2931         * lib/fsync.c: Likewise.
2932         * lib/gc-gnulib.c: Likewise.
2933         * lib/get-rusage-data.c: Likewise.
2934         * lib/getaddrinfo.c: Likewise.
2935         * lib/getdelim.c: Likewise.
2936         * lib/getdtablesize.c: Likewise.
2937         * lib/gethostname.c: Likewise.
2938         * lib/getlogin.c: Likewise.
2939         * lib/getlogin_r.c: Likewise.
2940         * lib/getopt.c: Likewise.
2941         * lib/getpagesize.c: Likewise.
2942         * lib/getpass.c: Likewise.
2943         * lib/getrusage.c: Likewise.
2944         * lib/gettimeofday.c: Likewise.
2945         * lib/glob.c: Likewise.
2946         * lib/inttypes.in.h: Likewise.
2947         * lib/isapipe.c: Likewise.
2948         * lib/javaexec.c: Likewise.
2949         * lib/link.c: Likewise.
2950         * lib/localcharset.c: Likewise.
2951         * lib/localename.h: Likewise.
2952         * lib/localename.c: Likewise.
2953         * lib/localtime.c: Likewise.
2954         * lib/lseek.c: Likewise.
2955         * lib/mbsinit.c: Likewise.
2956         * lib/mkdir.c: Likewise.
2957         * lib/msvc-nothrow.h: Likewise.
2958         * lib/nanosleep.c: Likewise.
2959         * lib/nl_langinfo.c: Likewise.
2960         * lib/nonblocking.c: Likewise.
2961         * lib/nproc.c: Likewise.
2962         * lib/open.c: Likewise.
2963         * lib/openpty.c: Likewise.
2964         * lib/pathmax.h: Likewise.
2965         * lib/pipe-filter-aux.c: Likewise.
2966         * lib/pipe-filter-gi.c: Likewise.
2967         * lib/pipe-filter-ii.c: Likewise.
2968         * lib/pipe.c: Likewise.
2969         * lib/pipe2.c: Likewise.
2970         * lib/poll.c: Likewise.
2971         * lib/popen.c: Likewise.
2972         * lib/posix_openpt.c: Likewise.
2973         * lib/printf-parse.c: Likewise.
2974         * lib/progreloc.c: Likewise.
2975         * lib/putenv.c: Likewise.
2976         * lib/read.c: Likewise.
2977         * lib/relocatable.c: Likewise.
2978         * lib/rename.c: Likewise.
2979         * lib/same-inode.h: Likewise.
2980         * lib/secure_getenv.c: Likewise.
2981         * lib/select.c: Likewise.
2982         * lib/sethostname.c: Likewise.
2983         * lib/setlocale.c: Likewise.
2984         * lib/sigaction.c: Likewise.
2985         * lib/sigprocmask.c: Likewise.
2986         * lib/sleep.c: Likewise.
2987         * lib/spawn-pipe.h: Likewise.
2988         * lib/spawn-pipe.c: Likewise.
2989         * lib/spawni.c: Likewise.
2990         * lib/stat-time.h: Likewise.
2991         * lib/stat-w32.c: Likewise.
2992         * lib/stat.c: Likewise.
2993         * lib/stdio.in.h: Likewise.
2994         * lib/stdio-impl.h: Likewise.
2995         * lib/stdio-read.c: Likewise.
2996         * lib/stdio-write.c: Likewise.
2997         * lib/stdlib.in.h: Likewise.
2998         * lib/strerror_r.c: Likewise.
2999         * lib/strftime-fixes.c: Likewise.
3000         * lib/sys_stat.in.h: Likewise.
3001         * lib/sys_types.in.h: Likewise.
3002         * lib/sys_wait.in.h : Likewise.
3003         * lib/system-quote.h: Likewise.
3004         * lib/system-quote.c: Likewise.
3005         * lib/tmpdir.c: Likewise.
3006         * lib/tzset.c: Likewise.
3007         * lib/uname.c: Likewise.
3008         * lib/unistd.in.h: Likewise.
3009         * lib/utime.in.h: Likewise.
3010         * lib/utime.c: Likewise.
3011         * lib/utimecmp.c: Likewise.
3012         * lib/utimens.c: Likewise.
3013         * lib/vasnprintf.c: Likewise.
3014         * lib/vma-iter.h: Likewise.
3015         * lib/vma-iter.c: Likewise.
3016         * lib/wait-process.c: Likewise.
3017         * lib/wcsftime.c: Likewise.
3018         * lib/wctype.in.h: Likewise.
3019         * lib/write.c: Likewise.
3020         * tests/nap.h: Likewise.
3021         * tests/test-cloexec.c: Likewise.
3022         * tests/test-dup-safer.c: Likewise.
3023         * tests/test-dup2.c: Likewise.
3024         * tests/test-dup3.c: Likewise.
3025         * tests/test-fcntl.c: Likewise.
3026         * tests/test-get-rusage-data.c: Likewise.
3027         * tests/test-getaddrinfo.c: Likewise.
3028         * tests/test-getlogin.h: Likewise.
3029         * tests/test-isatty.c: Likewise.
3030         * tests/test-localename.c: Likewise.
3031         * tests/test-mbrtowc-w32.c: Likewise.
3032         * tests/test-nonblocking.c: Likewise.
3033         * tests/test-nonblocking-pipe-main.c: Likewise.
3034         * tests/test-nonblocking-socket-main.c: Likewise.
3035         * tests/test-nonblocking-socket.h: Likewise.
3036         * tests/test-pipe.c: Likewise.
3037         * tests/test-pipe2.c: Likewise.
3038         * tests/test-poll.c: Likewise.
3039         * tests/test-pthread_sigmask1.c: Likewise.
3040         * tests/test-select.h: Likewise.
3041         * tests/test-sethostname2.c: Likewise.
3042         * tests/test-sigprocmask.c: Likewise.
3043         * tests/test-spawn-pipe-child.c: Likewise.
3044         * tests/test-stat-time.c: Likewise.
3045         * tests/test-system-quote-main.c: Likewise.
3046         * tests/test-utimens-common.h: Likewise.
3047         * tests/test-wcrtomb-w32.c: Likewise.
3048         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
3049         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
3050         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
3051         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
3052         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
3053         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
3054         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
3055         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
3056         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3057         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
3058         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
3059         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
3060         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
3061         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
3062         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
3063         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3065 2018-05-02  Bruno Haible  <bruno@clisp.org>
3067         localename: Fix test failures on mingw.
3068         * lib/localename.c (gl_locale_name_thread): Remove code specific to
3069         native Windows.
3070         (gl_locale_name_posix): Move code specific to native Windows here.
3071         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
3072         Accept result without charset suffix, as it appears on mingw.
3074 2018-04-28  Paul Smith  <psmith@gnu.org>
3076         bootstrap: Avoid gnulib operations if not needed
3077         * build-aux/bootstrap: Remove unused variable gnulib_mk.
3078         Set $gnulib_extra_files early so it can be overridden in .conf.
3079         Remove redundant --import flag from $gnulib_tool_options.
3080         Set $use_gnulib to false if no gnulib modules or files are needed.
3081         If $use_gnulib is false, don't do anything related to gnulib.
3082         A lot of this is just whitespace (indentation) changes.
3084 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
3086         manywarnings: port to GCC 8.0
3087         * build-aux/gcc-warning.spec: Add -Wcatch-value,
3088         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
3089         fact that the GCC help message now mentions operands for
3090         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
3091         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
3092         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
3093         and -Wunused-const-variable.
3094         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
3095         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
3096         -Wmissing-attributes, -Wmultistatement-macros,
3097         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
3098         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
3100 2018-04-24  Bruno Haible  <bruno@clisp.org>
3102         sys_socket: Make SO_REUSEPORT available across platforms.
3103         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3104         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
3105         * doc/posix-headers/sys_socket.texi: Mention the issue.
3106         * tests/test-poll.c (SO_REUSEPORT): Remove.
3107         * tests/test-select.h: Include <sys/socket.h>.
3108         (SO_REUSEPORT): Remove.
3109         * modules/select-tests (Depends-on): Add 'sys_socket'.
3111 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
3113         localcharset: short-circuit the search for an alias on a Mac
3114         * lib/localcharset.c (get_charset_aliases): Add a tautological
3115         UTF-8 entry to speed up the search for this case.
3116         Most machines default to a UTF-8 locale nowadays, so begin the
3117         list of aliases with a dummy UTF-8 entry so it will be found
3118         immediately and a time-consuming search through the rest of
3119         the list is avoided.
3121 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
3123         fts: add comment
3124         * lib/fts.c (fts_build): Explain why ==, not >.
3125         See remark by Bernhard Voelker in:
3126         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
3128         fts: fix bug in find across filesystems
3129         This fixes a bug I introduced last summer.
3130         Problem reported by Kamil Dudka in:
3131         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
3132         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
3133         (leaf_optimization):
3134         New arg for file descriptor.  All callers changed.
3135         (fts_build): Check for whether inodes should be sorted
3136         before closing the directory.
3138 2018-04-07  Bruno Haible  <bruno@clisp.org>
3140         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
3141         Reported by Genki Sky <sky@genki.is>.
3142         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
3143         version 0.9.10 or newer.
3144         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
3145         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
3146         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
3147         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
3148         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
3150 2018-04-07  Bruno Haible  <bruno@clisp.org>
3152         execute: Update comment.
3153         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
3155 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
3157         fts: treat CIFS like NFS
3158         Problem reported by Kamil Dudka in:
3159         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
3160         * lib/fts.c (S_MAGIC_CIFS): New macro.
3161         (dirent_inode_sort_may_be_useful, leaf_optimization):
3162         Treat CIFS like NFS.
3164 2018-03-28  Bruno Haible  <bruno@clisp.org>
3166         c-stack: Fix possible build failure on some platforms.
3167         * lib/c-stack.c (die): Define whenever this function is referenced.
3169 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
3171         time_rz: fix workaround for Mac OS X 10.6 infloop
3172         Problems reported by Charles A. Roelli (Bug#27736#117).
3173         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
3174         Also, discard output, which clutters the 'configure' log.
3176 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
3178         havelib: port to Solaris 10 /bin/sh
3179         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
3180         instead of '! test EXPR'.
3182 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
3184         time_rz: work around Mac OS X 10.6 infloop
3185         * doc/posix-functions/localtime.texi:
3186         * doc/posix-functions/localtime_r.texi: Mention the bug.
3187         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
3188         better to fix localtime and localtime_r instead, but that would be
3189         more work and is not needed to fix the Emacs problem.
3190         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
3192 2018-03-24  Jim Meyering  <meyering@fb.com>
3194         test-version-etc.sh: don't use diff directly: use init.sh's compare
3195         We'd rather not sacrifice readable "diff -u" output even for
3196         "diff -c" output (not supported by busybox) or for even less
3197         readable ed-style "diff" output.  So use init.sh's compare function
3198         * tests/test-version-etc.sh: Source init.sh and add "." to path.
3199         Remove "./" from invocation of test-version-etc, so we use path.
3200         And s/diff/compare/.
3201         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
3202         to get init.sh.
3203         Prompted by Eric Blake's comments in
3204         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
3206 2018-03-24  Bruno Haible  <bruno@clisp.org>
3208         javacomp-script, javacomp: Add support for Java 10.
3209         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
3210         target-version 10.
3211         * lib/javaversion.h: Update comments.
3212         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
3213         source_version_index, get_goodcode_snippet, get_failcode_snippet,
3214         TARGET_VERSION_BOUND, target_version_index,
3215         corresponding_classfile_version): Accept source_version 10 and
3216         target_version 10.
3217         * lib/javacomp.h: Update comments accordingly.
3219 2018-03-24  Bruno Haible  <bruno@clisp.org>
3221         javacomp-script, javacomp: Update comments.
3222         * m4/javacomp.m4: Update comments regarding gcj.
3223         * lib/javacomp.h: Likewise.
3225 2018-03-24  Bruno Haible  <bruno@clisp.org>
3227         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
3228         * lib/javaversion.h: Update comments.
3229         * lib/javacomp.h: Likewise.
3230         * lib/javacomp.c (default_target_version, source_version_index,
3231         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
3232         "1.9".
3233         (TARGET_VERSION_BOUND): Bump to 9.
3234         (target_version_index, corresponding_classfile_version): Recognize "9"
3235         instead of "1.9".
3236         (get_source_version_for_javac): New function.
3237         (is_envjavac_nongcj_usable, is_javac_usable): Add
3238         source_version_for_javac argument.
3239         (compile_java_class): Determine and pass source_version_for_javac.
3240         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
3241         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
3242         appropriate.
3244 2018-03-23  Jim Meyering  <meyering@fb.com>
3246         test-version-etc.sh: port to diff without -c
3247         * tests/test-version-etc.sh: Don't use diff's -c option.
3248         This caused spurious test failure on Alpine Linux, which
3249         uses busybox's diff. Reported by Assaf Gordon in
3250         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
3252 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
3254         c-stack: port to recent GCC build
3255         Problem reported by The Fireplace (Bug#30913).
3256         * lib/c-stack.c (die): Define only if used.
3258 2018-03-20  Bruno Haible  <bruno@clisp.org>
3260         euidaccess: Port to native Windows.
3261         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
3262         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
3264 2018-03-19  Bruno Haible  <bruno@clisp.org>
3266         javacomp: Add support for Java 7, 8, 9.
3267         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
3268         source_version_index, get_goodcode_snippet, get_failcode_snippet,
3269         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
3270         and target_version 1,7, 1.8, 1.9.
3271         * lib/javacomp.h: Update comments accordingly.
3273 2018-03-19  Bruno Haible  <bruno@clisp.org>
3275         javacomp-script: Add support for Java 9.
3276         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
3277         target-version 1.9.
3279 2018-03-16  Bruno Haible  <bruno@clisp.org>
3281         glob: Don't compile replacements on recent glibc systems.
3282         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
3283         REPLACE_GLOB is 0, include the system's <glob.h> and use
3284         _GL_CXXALIAS_SYS.
3285         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
3286         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
3287         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
3288         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
3289         Remove snippet/warn-on-use.
3290         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
3291         (Makefile.am): Create glob.h always. Update list of substitutions in
3292         glob.h. Don't depend on $(WARN_ON_USE_H).
3294 2018-03-16  Bruno Haible  <bruno@clisp.org>
3296         glob: Fix link error on native Windows.
3297         * modules/glob (Depends-on): Add 'lstat'.
3299 2018-03-15  Bruno Haible  <bruno@clisp.org>
3301         glob: Fix compilation error in C++ mode.
3302         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
3304 2018-03-15  Bruno Haible  <bruno@clisp.org>
3306         host-cpu-c-abi: Support for RISC-V CPU.
3307         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
3308         riscv32 and riscv64 ABIs.
3309         References:
3310         https://github.com/riscv/riscv-toolchain-conventions
3311         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
3312         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
3314 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3316         fflush: be more paranoid about libio.h change
3317         Suggested by Eli Zaretskii in:
3318         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
3319         * lib/fbufmode.c (fbufmode):
3320         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
3321         (disable_seek_optimization, rpl_fflush):
3322         * lib/fpending.c (__fpending):
3323         * lib/fpurge.c (fpurge):
3324         * lib/freadable.c (freadable):
3325         * lib/freadahead.c (freadahead):
3326         * lib/freading.c (freading):
3327         * lib/freadptr.c (freadptr):
3328         * lib/freadseek.c (freadptrinc):
3329         * lib/fseeko.c (fseeko):
3330         * lib/fseterr.c (fseterr):
3331         * lib/fwritable.c (fwritable):
3332         * lib/fwriting.c (fwriting):
3333         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
3335 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
3337         maint: write-file-hooks -> before-save-hook
3338         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
3339         it's time to use the recommended replacement.
3340         Problem reported by Glenn Morris in:
3341         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
3342         * build-aux/announce-gen, build-aux/bootstrap:
3343         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
3344         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
3345         * build-aux/gnu-web-doc-update, build-aux/gnupload:
3346         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
3347         * build-aux/update-copyright, build-aux/useless-if-before-free:
3348         * build-aux/vc-list-files:
3349         Update hook usage for files where Gnulib is the canonical source.
3351 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
3353         binary-io: pacify gcc -Wunused-parameter
3354         Problem reported by Reuben Thomas in:
3355         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
3356         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
3357         Use _GL_UNUSED where appropriate.
3359         fflush: adjust to glibc 2.28 libio.h removal
3360         Problem reported by Daniel P. Berrangé in:
3361         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
3362         * lib/fbufmode.c (fbufmode):
3363         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
3364         (disable_seek_optimization, rpl_fflush):
3365         * lib/fpending.c (__fpending):
3366         * lib/fpurge.c (fpurge):
3367         * lib/freadable.c (freadable):
3368         * lib/freadahead.c (freadahead):
3369         * lib/freading.c (freading):
3370         * lib/freadptr.c (freadptr):
3371         * lib/freadseek.c (freadptrinc):
3372         * lib/fseeko.c (fseeko):
3373         * lib/fseterr.c (fseterr):
3374         * lib/fwritable.c (fwritable):
3375         * lib/fwriting.c (fwriting):
3376         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
3377         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
3378         Define if not already defined.
3380 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
3382         environ: fix link error on 32-bit Cygwin
3383         Problem reported for GNU Emacs by Ken Brown in:
3384         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
3385         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
3387 2018-02-24  Bruno Haible  <bruno@clisp.org>
3389         mbrtowc tests: Fix regression on glibc.
3390         Reported by Bernhard Voelker.
3391         * tests/test-mbrtowc.c (main): Fix expected value of wc.
3393 2018-02-24  Bruno Haible  <bruno@clisp.org>
3395         striconveha, uniconv/*: Avoid test failures on musl libc.
3396         * tests/iconvsupport.c: New file.
3397         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
3398         does not support the ISO-2022-JP-2 encoding.
3399         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
3400         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
3401         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
3402         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
3403         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
3404         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
3405         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
3406         (Makefile.am): Link test-striconveha with iconvsupport.o.
3407         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
3408         tests/iconvsupport.c.
3409         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
3410         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
3411         tests/iconvsupport.c.
3412         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
3413         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
3414         tests/iconvsupport.c.
3415         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
3416         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
3417         tests/iconvsupport.c.
3418         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
3419         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
3420         tests/iconvsupport.c.
3421         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
3422         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
3423         tests/iconvsupport.c.
3424         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
3426 2018-02-24  Bruno Haible  <bruno@clisp.org>
3428         localename: Add support for musl libc.
3429         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
3430         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
3431         on Linux platforms which define NL_LOCALE_NAME.
3433 2018-02-24  Bruno Haible  <bruno@clisp.org>
3435         mbrtowc tests: Don't make assumptions about the charset the C locale.
3436         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
3437         particular mapping in the C locale.
3439 2018-02-24  Bruno Haible  <bruno@clisp.org>
3441         ptsname_r: Don't expect that this function sets errno.
3442         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
3443         from ptsname_r().
3444         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
3446 2018-02-23  Bruno Haible  <bruno@clisp.org>
3448         xmalloca: pacify gcc -Wbad-function-cast
3449         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
3451 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
3453         nl_langinfo: pacify gcc -Wunused-function
3454         * lib/nl_langinfo.c (ctype_codeset): Do not define if
3455         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
3456         this case.  Without this change, I got a diagnostic when building
3457         coreutils on Fedora 27 with gcc 7.3.1 20180130.
3459         same: pacify gcc -Wunused-variable
3460         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
3461         Omit unused variable.
3463         malloca: pacify gcc -Wbad-function-cast
3464         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
3465         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
3466         To pacify GCC, I had to cast alloca’s result to some type other
3467         than void * before casting that to uintptr_t.
3469 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
3471         utimecmp: new function utimecmpat
3472         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
3473         Do not include utimens.h.
3474         (utimecmpat): New function, generalizing utimecmp.
3475         (utimecmp): Now a thin layer around utimecmpat.
3476         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
3477         utimensat instead of on lstat and utimens.
3479         same: new function same_nameat
3480         * lib/same.c: Include fcntl.h.
3481         * lib/same.c (same_nameat): New function, generalizing same_name.
3482         (same_name): Now a thin layer around same_nameat.
3483         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
3484         * modules/same (Depends-on): Depend on fstatat, openat.
3486 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
3488         warnings: Add support for Objective C.
3489         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
3490         macro.
3492 2018-02-17  Bruno Haible  <bruno@clisp.org>
3494         lock: Fix test-once1 crash on FreeBSD11.
3495         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
3496         'pthread_create', not 'pthread_cancel'.
3498 2018-02-17  Bruno Haible  <bruno@clisp.org>
3500         lock: Add test of gl_once.
3501         * tests/test-once.c: New file.
3502         * modules/lock-tests (Files): Add it.
3503         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
3505 2018-02-17  Bruno Haible  <bruno@clisp.org>
3507         thread: Fix compilation error on IRIX.
3508         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
3509         needed; include it outside the C++ extern "C" {} block.
3510         * doc/posix-headers/pthread.texi: Mention the problem with
3511         pthread_atfork on IRIX.
3513 2018-02-04  Bruno Haible  <bruno@clisp.org>
3515         nl_langinfo: Override the system's nl_langinfo() when needed.
3516         Reported by Jim Meyering.
3517         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
3518         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
3520 2018-02-04  Bruno Haible  <bruno@clisp.org>
3522         signal-h, monetary, strings: Fix build failure in some cases.
3523         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3524         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
3525         as delimiter in sed command, not '|'.
3526         * modules/monetary (Makefile.am): Likewise.
3527         * modules/strings (Makefile.am): Likewise.
3529 2018-02-03  Jim Meyering  <meyering@fb.com>
3531         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
3532         * top/maint.mk (sc_file_system): Don't complain about
3533         "/proc/filesystems".
3535 2018-02-03  Bruno Haible  <bruno@clisp.org>
3537         stdlib: Fix compilation error on OpenIndiana.
3538         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
3539         <sys/time.h>.
3540         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
3541         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3543 2018-02-03  Bruno Haible  <bruno@clisp.org>
3545         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
3546         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
3547         and use $EGREP instead of 'grep -E'.
3548         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
3549         'grep -E'.
3551 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
3553         malloca: Add a compile-time verification.
3554         * lib/malloca.c (small_t): Verify that it is wide enough.
3555         * modules/malloca (Depends-on): Add verify.
3557 2018-02-02  Bruno Haible  <bruno@clisp.org>
3559         malloca: Add an argument check.
3560         Suggested by Paul Eggert.
3561         * lib/malloca.c (freea): Check against an invalid argument.
3563 2018-02-02  Bruno Haible  <bruno@clisp.org>
3565         localename: Add support for OpenIndiana.
3566         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
3567         Solaris 11 variants with uselocale() but without getlocalename_l().
3569 2018-02-02  Bruno Haible  <bruno@clisp.org>
3571         malloca, xmalloca: Make multithread-safe.
3572         Reported by Florian Weimer <fweimer@redhat.com>.
3573         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
3574         * lib/malloca.h (malloca): In the stack allocation case, return a
3575         pointer that is a multiple of 2 * sa_alignment_max.
3576         (sa_increment): Remove enum item.
3577         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
3578         a pointer that is a multiple of 2 * sa_alignment_max.
3579         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
3580         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
3581         HASH_TABLE_SIZE, mmalloca_results): Remove.
3582         (small_t): New type.
3583         (mmalloca, free): Rewritten.
3584         * lib/malloca.valgrind: Remove file.
3585         * modules/malloca (Files): Remove it.
3586         (Depends-on): Remove verify.
3588 2018-01-31  Bruno Haible  <bruno@clisp.org>
3590         environ: Fix link error on 64-bit Cygwin.
3591         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
3592         __declspec(dllimport) attribute.
3593         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
3595 2018-01-30  Bruno Haible  <bruno@clisp.org>
3597         get-rusage-data: Add support for Minix 3.
3598         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
3600 2018-01-30  Bruno Haible  <bruno@clisp.org>
3602         vma-iter: Add support for Minix 3.
3603         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
3604         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
3606 2018-01-27  Bruno Haible  <bruno@clisp.org>
3608         Fix malfunction of socket functions on HP-UX in 64-bit mode.
3609         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
3610         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
3611         _HPUX_ALT_XOPEN_SOCKET_API.
3612         * modules/accept (Depends-on): Add 'extensions'.
3613         * modules/getpeername (Depends-on): Likewise.
3614         * modules/getsockname (Depends-on): Likewise.
3615         * modules/getsockopt (Depends-on): Likewise.
3616         * modules/recvfrom (Depends-on): Likewise.
3617         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
3618         * doc/posix-functions/getpeername.texi: Likewise.
3619         * doc/posix-functions/getsockname.texi: Likewise.
3620         * doc/posix-functions/getsockopt.texi: Likewise.
3621         * doc/posix-functions/recvfrom.texi: Likewise.
3623 2018-01-27  Bruno Haible  <bruno@clisp.org>
3625         getsockname tests: More tests.
3626         * tests/test-getsockname.c (open_server_socket): New function, mostly
3627         copied from test-poll.c.
3628         (main): Check that getsockname fills in addr.
3629         * modules/getsockname-tests (Depends-on): Add the necessary
3630         dependencies.
3631         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
3633 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
3635         manywarnings: fix maintainer comment
3636         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
3637         it does not mistakenly think that ‘-1)’ is an option.
3639 2018-01-26  Bruno Haible  <bruno@clisp.org>
3641         langinfo: Fix last commit.
3642         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3643         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
3645 2018-01-24  Bruno Haible  <bruno@clisp.org>
3647         langinfo, nl_langinfo: Add support for alternative month names.
3648         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
3649         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
3650         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
3651         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
3652         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
3653         * doc/posix-functions/nl_langinfo.texi: Likewise.
3655 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3657         Merge strftime.c changes from glibc
3658         This incorporates:
3659         2017-11-14 [BZ #10871] Implement alternative month names
3660         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
3661         2017-06-20 Use locale_t, not __locale_t, throughout glibc
3662         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
3663         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
3664         Use locale_t, not __locale_t.
3665         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
3666         (__strftime_internal): Add support for alternate months.
3668 2018-01-23  Bruno Haible  <bruno@clisp.org>
3670         doc: Mention another prerequisite for using Gnulib.
3671         Reported at <https://stackoverflow.com/questions/48378214/>.
3672         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
3673         AC_CONFIG_HEADERS.
3675 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
3677         build: GuixSD doesn't have /bin/bash
3678         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
3680 2018-01-21  Bruno Haible  <bruno@clisp.org>
3682         Avoid test failures on Microsoft Windows Subsystem for Linux.
3683         * tests/test-fcntl.c (main): Allow a different errno.
3684         * tests/test-rename.h (test_rename): Likewise.
3685         * tests/test-renameat.c (main): Likewise.
3686         * tests/test-renameat2.c (main): Likewise.
3688 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
3690         filenamecat: make base a suffix of result
3691         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
3692         (mfile_name_concat): Always make BASE a suffix of the result, as
3693         cp expects this.  To implement this, separate with '.' instead of
3694         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
3695         * tests/test-filenamecat.c (main): Adjust tests to match
3696         current behavior.  Check that BASE_IN_RESULT points to
3697         a copy of BASE and is a suffix of the resultk, and that DIR
3698         is a prefix of the result that is no longer than the prefix
3699         indicated by BASE_IN_RESULT.
3701 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
3703         update-copyright: Handle use of ©
3704         * build-aux/update-copyright ($circle_c_re): Update regex to
3705         handle use of © in headers.
3707 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
3709         Fix -Wundef warning in user-included header lib/cdefs.h.
3710         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
3712 2018-01-04  Bruno Haible  <bruno@clisp.org>
3714         pthread_sigmask: Avoid compilation error on mingw.
3715         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3716         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
3717         macro.
3719 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
3721         test-framework-sh: ‘ps -ef’, not ‘ps ef’
3722         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
3723         Suggested by Bob Proulx (Bug#29968).
3724         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
3726 2018-01-02  Eric Blake  <eblake@redhat.com>
3728         stat-time: silence -Wunused-parameter regression
3729         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
3730         Prefer attribute over cast-to-void.
3731         (stat_time_normalize): Mark st as potentially unused.
3733 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
3735         test-framework-sh: avoid netstat
3736         Problem reported by Kristýna Streitová (Bug#29947).
3737         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
3738         deprecated on SuSE and it's not that important anyway.
3740 2018-01-01  Jim Meyering  <meyering@fb.com>
3742         update-copyright: add code to handle more special cases
3743         After running "make update-copyright" this year, five files
3744         required additional manual changes.  Automate those adjustments
3745         for next year.
3746         * Makefile (_year_and_prev): Define.
3747         (update-copyright): Add perl commands to induce this year's post-
3748         update-copyright adjustments.
3750 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3752         version-etc: new year
3753         * build-aux/gendocs.sh (version):
3754         * doc/gendocs_template:
3755         * doc/gendocs_template_min:
3756         * doc/gnulib.texi:
3757         * lib/version-etc.c (COPYRIGHT_YEAR):
3758         Update copyright dates by hand in templates and the like.
3760         maint: fix 'make update-copyright'
3761         * Makefile (update-copyright): Adjust to 2016-11-23 change
3762         to config/srclist-update, which changed the format of srclist.txt.
3764 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
3766         chdir-safer: remove this module
3767         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
3768         * NEWS: Document removal.
3769         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
3770         * modules/chdir-safer: Remove these files.
3772 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
3774         Add cross-compilation results for GNU/Hurd.
3775         * m4/calloc.m4: Add GNU/Hurd guess.
3776         * m4/cbrtl.m4: Likewise.
3777         * m4/ceil.m4: Likewise.
3778         * m4/ceilf.m4: Likewise.
3779         * m4/ceill.m4: Likewise.
3780         * m4/chown.m4: Likewise.
3781         * m4/duplocale.m4: Likewise.
3782         * m4/exp2l.m4: Likewise.
3783         * m4/expm1.m4: Likewise.
3784         * m4/fchdir.m4: Likewise.
3785         * m4/floor.m4: Likewise.
3786         * m4/floorf.m4: Likewise.
3787         * m4/fmod.m4: Likewise.
3788         * m4/fmodf.m4: Likewise.
3789         * m4/fmodl.m4: Likewise.
3790         * m4/getcwd.m4: Likewise.
3791         * m4/getgroups.m4: Likewise.
3792         * m4/gettimeofday.m4: Likewise.
3793         * m4/hypot.m4: Likewise.
3794         * m4/hypotf.m4: Likewise.
3795         * m4/hypotl.m4: Likewise.
3796         * m4/link-follow.m4: Likewise.
3797         * m4/link.m4: Likewise.
3798         * m4/linkat.m4: Likewise.
3799         * m4/log.m4: Likewise.
3800         * m4/log10.m4: Likewise.
3801         * m4/log10f.m4: Likewise.
3802         * m4/log1p.m4: Likewise.
3803         * m4/log1pf.m4: Likewise.
3804         * m4/log1pl.m4: Likewise.
3805         * m4/log2.m4: Likewise.
3806         * m4/log2f.m4: Likewise.
3807         * m4/logf.m4: Likewise.
3808         * m4/lstat.m4: Likewise.
3809         * m4/malloc.m4: Likewise.
3810         * m4/mbrlen.m4: Likewise.
3811         * m4/mbrtowc.m4: Likewise.
3812         * m4/mkdir.m4: Likewise.
3813         * m4/mkfifo.m4: Likewise.
3814         * m4/mknod.m4: Likewise.
3815         * m4/mkstemp.m4: Likewise.
3816         * m4/modf.m4: Likewise.
3817         * m4/modff.m4: Likewise.
3818         * m4/modfl.m4: Likewise.
3819         * m4/printf.m4: Likewise.
3820         * m4/pselect.m4: Likewise.
3821         * m4/ptsname.m4: Likewise.
3822         * m4/putenv.m4: Likewise.
3823         * m4/readlink.m4: Likewise.
3824         * m4/realloc.m4: Likewise.
3825         * m4/remainder.m4: Likewise.
3826         * m4/remainderf.m4: Likewise.
3827         * m4/remainderl.m4: Likewise.
3828         * m4/rmdir.m4: Likewise.
3829         * m4/round.m4: Likewise.
3830         * m4/roundf.m4: Likewise.
3831         * m4/roundl.m4: Likewise.
3832         * m4/select.m4: Likewise.
3833         * m4/setenv.m4: Likewise.
3834         * m4/signbit.m4: Likewise.
3835         * m4/sleep.m4: Likewise.
3836         * m4/stat.m4: Likewise.
3837         * m4/strerror.m4: Likewise.
3838         * m4/strtok_r.m4: Likewise.
3839         * m4/symlink.m4: Likewise.
3840         * m4/symlinkat.m4: Likewise.
3841         * m4/trunc.m4: Likewise.
3842         * m4/truncf.m4: Likewise.
3843         * m4/truncl.m4: Likewise.
3844         * m4/tzset.m4: Likewise.
3845         * m4/ungetc.m4: Likewise.
3846         * m4/usleep.m4: Likewise.
3847         * m4/wcwidth.m4: Likewise.
3849 2017-12-28  Bruno Haible  <bruno@clisp.org>
3851         gnulib-tool: Make --conditional-dependencies work better.
3852         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
3853         * gnulib-tool (Options): Don't reject the combination of
3854         --conditional-dependencies with --with-tests.
3855         (func_emit_autoconf_snippets): Add argument referenceable_modules.
3856         Don't reference $modules.
3857         (func_import, func_create_testdir): Pass it.
3859 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
3861         regex: use re_malloc etc. consistently
3862         Problem and original patch reported by Arnold Robbins in:
3863         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
3864         * lib/regcomp.c (re_comp):
3865         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
3866         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
3868 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
3869             Paul Eggert  <eggert@cs.ucla.edu>
3871         glob: Silence warning about void pointer arithmetic.
3872         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
3873         arithmetic.
3875 2017-12-15  Bruno Haible  <bruno@clisp.org>
3877         spawn-pipe: Silence a clang warning.
3878         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3879         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
3880         in this file.
3882 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3884         explicit_bzero: port to macOS + Clang 9.0.0
3885         Problem reported by Marcus Johnson (Bug#29658).
3886         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
3887         Don’t use asm.
3889 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
3891         doc: Improve explanation of supporting relocatable libraries.
3892         * doc/relocatable-maint.texi (Supporting Relocation): Explain
3893         properly how to build the relocatable module for
3894         libraries. (Method and example code from Bruno Haible.)
3896 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
3898         doc: Use better texinfo tags in a few cases.
3899         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
3900         instead of @samp in a few places.
3902 2017-12-11  Bruno Haible  <bruno@clisp.org>
3904         unistr/base: Update comment.
3905         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
3907 2017-12-10  Pádraig Brady  <P@draigBrady.com>
3909         test-faccessat.c: unlink temp file to avoid subsequent test failure
3910         * tests/test-faccessat.c: Remove the file to avoid failure
3911         to open the file on subsequent runs due to being created
3912         with no permissions.
3914 2017-12-10  Bruno Haible  <bruno@clisp.org>
3916         doc: New sect. "Modifying the build rules of a Gnulib import directory".
3917         * doc/gnulib-tool.texi (Modified build rules): New node.
3919 2017-12-10  Bruno Haible  <bruno@clisp.org>
3921         doc: Tweak wording.
3922         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
3923         "binaries".
3925 2017-12-05  Sam Steingold  <sds@gnu.org>
3926             Bruno Haible  <bruno@clisp.org>
3928         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
3929         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
3930         AC_EGREP_CPP pattern.
3932 2017-12-03  Bruno Haible  <bruno@clisp.org>
3934         all: Replace more http URLs by https URLs.
3935         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
3936         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
3937         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
3938         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
3940 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
3942         Port better to CentOS 5
3943         Problems reported by Tom G. Christensen in:
3944         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
3945         * doc/glibc-functions/strverscmp.texi (strverscmp):
3946         Document strverscmp bug with glibc 2.9 and earlier.
3947         * doc/posix-functions/tzset.texi (tzset):
3948         Document that TZ with angle brackets is POSIX-2001 and later.
3949         * tests/test-nstrftime.c: Include unistd.h.
3950         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
3951         (TZ): Use it to skip tests with angle brackets in TZ,
3952         for older systems.
3954         stat: add missing module dependencies
3955         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
3956         Add stat-time.
3958 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
3960         stat: fix compilation failure on macOS Sierra
3961         Reported by Marius Schamschula <mschamschula@gmail.com> in:
3962         https://savannah.gnu.org/bugs/?52546
3963         * lib/stat.c: Add missing include of stat-time.h.
3965 2017-11-28  Jim Meyering  <meyering@fb.com>
3967         test-faccessat.c: correct BASE definition to avoid parallel test failure
3968         * tests/test-faccessat.c (BASE): Define using this file's name, not
3969         that of test-lstat.c.  Using the latter caused this test to fail
3970         sometimes when run concurrently with test-lstat.
3972 2017-11-27  Daiki Ueno  <ueno@gnu.org>
3974         unicase: fix VPATH build
3975         * modules/unicase/special-casing (Makefile.am): Ensure that the
3976         base directory is created when generating
3977         unicase/special-casing.h.
3979 2017-11-27  Daiki Ueno  <ueno@gnu.org>
3981         libunistring: update to Unicode 9.0.0
3982         * lib/gen-uni-tables.c (fill_properties): Recognize
3983         Sentence_Terminal and Prepended_Concatenation_Mark.
3984         (is_property_default_ignorable_code_point): Exclude U+08E2.
3985         (fill_arabicshaping): Allow missing whitespace when parsing;
3986         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
3987         (output_blocks): Increase the element size of the level1 table to
3988         accommodate more blocks.
3989         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
3990         Update each class according to the standard.
3991         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
3992         E_Base_GAZ characters.
3993         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
3994         Glue_After_Zwj, and E_Base_GAZ characters.
3995         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
3996         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
3997         enum value.
3998         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
3999         value.
4000         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
4001         LBP_ZWJ, LBP_EB, and LBP_EM.
4002         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
4003         enum value.
4004         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
4005         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
4006         declaration.
4007         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
4008         (uniwbrk_table): Implement WB14.
4009         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
4010         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
4011         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
4012         uc-is-grapheme-break.
4013         * modules/unigbrk/uc-grapheme-breaks: New module.
4014         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
4015         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
4016         enum value.
4017         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
4018         * lib/unigbrk/u-grapheme-breaks.h: New file.
4019         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
4020         u-grapheme-breaks.h instead of uc_is_grapheme_break.
4021         * lib/unigbrk/uc-grapheme-breaks.c: New file.
4022         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
4023         29.
4024         * tests/unigbrk/test-uc-gbrk-prop.c
4025         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
4026         GBP_GAZ, and GBP_EBG.
4027         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
4028         * tests/unigbrk/test-uc-is-grapheme-break.c
4029         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
4030         GBP_GAZ, and GBP_EBG.
4031         (main): Skip unsupported rules involving 3 or more characters,
4032         namely GB10, GB12, and GB13.
4033         * lib/uniwidth/width.c (nonspacing_table_data): Update.
4034         * all generated files under lib/uni* and tests/uni*: Regenerate.
4035         * all the affected modules: Bump version.
4037 2017-11-26  Bruno Haible  <bruno@clisp.org>
4039         strfmon_l: Fix compilation error with glibc 2.5.
4040         Reported by Tom G. Christensen <tgc@jupiterrise.com>
4041         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
4042         * lib/monetary.in.h: Include also <locale.h>.
4044 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
4046         posixtm: remove PDS_LEADING_YEAR
4047         This changes the API slightly, in a hopefully-innocuous way.
4048         Without this change the code had undefined behavior when a
4049         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
4050         Problem reported by Pádraig Brady in:
4051         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
4052         * NEWS: Mention this.
4053         * lib/posixtm.c (posix_time_parse): Treat the absence of
4054         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
4055         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
4056         present, but define it as zero, for compatibility with existing
4057         source code).  All other PDS_* values moved up.
4058         * tests/test-posixtm.c (LY): New macro.
4059         (T): Use it.  Do not expect a particular numeric encoding
4060         for PDS_CENTURY etc.
4062 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
4064         stat: work around Solaris bug with tv_nsec < 0
4065         * doc/posix-functions/fstat.texi (fstat):
4066         * doc/posix-functions/fstatat.texi (fstatat):
4067         * doc/posix-functions/lstat.texi (lstat):
4068         * doc/posix-functions/stat.texi (stat):
4069         Mention Solaris 11 bug.
4070         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
4071         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
4072         * lib/lstat.c (rpl_lstat):
4073         * lib/stat.c (rpl_stat):
4074         Normalize resulting timestamps.
4075         * lib/fstatat.c (normal_fstatat): New function.
4076         (rpl_fstatat): Use it.
4077         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
4078         (stat_time_normalize): New function.
4079         * m4/fstat.m4 (gl_FUNC_FSTAT):
4080         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
4081         * m4/lstat.m4 (gl_FUNC_LSTAT):
4082         * m4/stat.m4 (gl_FUNC_STAT):
4083         Replace on Solaris.
4084         * modules/fstat (Depends-on):
4085         * modules/fstatat (Depends-on):
4086         Add stat-time.
4087         * modules/stat-time (Depends-on): Add errno, intprops.
4089 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
4091         regex: merge from glibc
4092         * lib/regcomp.c (init_word_char): Add comments.
4094 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
4096         regex: merge from glibc
4097         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
4098         * lib/regex_internal.h (internal_function): Remove.
4099         All uses removed.
4101 2017-11-20  Bruno Haible  <bruno@clisp.org>
4103         crypto/gc-sm3: Fix buffer overrun.
4104         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
4105         Reported by Coverity.
4107 2017-11-12  Jim Meyering  <meyering@fb.com>
4109         maint: shorten https://lists.gnu.org/archive/html/... links
4110         Each /archive/html/ part can be replace with /r/.
4111         Run this to induce the change:
4112         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
4113         * ChangeLog: Perform that substitution.
4114         * Makefile: Likewise.
4115         * STATUS-libposix: Likewise.
4116         * build-aux/bootstrap: Likewise.
4117         * doc/maintain.texi: Likewise.
4118         * gnulib-tool: Likewise.
4119         * lib/allocator.h: Likewise.
4120         * lib/argp-ba.c: Likewise.
4121         * lib/argp-pv.c: Likewise.
4122         * lib/canon-host.c: Likewise.
4123         * lib/canonicalize-lgpl.c: Likewise.
4124         * lib/float.in.h: Likewise.
4125         * lib/fstat.c: Likewise.
4126         * lib/getdelim.c: Likewise.
4127         * lib/getprogname.c: Likewise.
4128         * lib/glthread/thread.h: Likewise.
4129         * lib/intprops.h: Likewise.
4130         * lib/mbsrtowcs-state.c: Likewise.
4131         * lib/safe-read.c: Likewise.
4132         * lib/signal.in.h: Likewise.
4133         * lib/stat.c: Likewise.
4134         * lib/stdbool.in.h: Likewise.
4135         * lib/stdio-impl.h: Likewise.
4136         * lib/stdio.in.h: Likewise.
4137         * lib/sysexits.in.h: Likewise.
4138         * lib/timespec.h: Likewise.
4139         * lib/wcsrtombs-state.c: Likewise.
4140         * m4/alloca.m4: Likewise.
4141         * m4/extern-inline.m4: Likewise.
4142         * m4/fstatat.m4: Likewise.
4143         * m4/gnulib-common.m4: Likewise.
4144         * m4/lib-ignore.m4: Likewise.
4145         * m4/printf.m4: Likewise.
4146         * m4/regex.m4: Likewise.
4147         * m4/stat-size.m4: Likewise.
4148         * m4/std-gnu11.m4: Likewise.
4149         * m4/stdbool.m4: Likewise.
4150         * m4/sys_types_h.m4: Likewise.
4151         * m4/threadlib.m4: Likewise.
4152         * m4/vararrays.m4: Likewise.
4153         * pygnulib/GLImport.py: Likewise.
4154         * tests/test-exp.h: Likewise.
4155         * tests/test-exp2.h: Likewise.
4156         * tests/test-expm1.h: Likewise.
4157         * tests/test-fflush2.c: Likewise.
4158         * tests/test-getopt_long.h: Likewise.
4159         * tests/test-intprops.c: Likewise.
4160         * tests/test-log.h: Likewise.
4161         * tests/test-log10.h: Likewise.
4162         * tests/test-log1p.h: Likewise.
4163         * tests/test-log2.h: Likewise.
4164         * tests/test-printf-posix.h: Likewise.
4165         * tests/test-regex.c: Likewise.
4166         * tests/test-snprintf-posix.h: Likewise.
4167         * tests/test-sprintf-posix.h: Likewise.
4168         * tests/test-stdalign.c: Likewise.
4169         * tests/test-stdbool.c: Likewise.
4170         * tests/test-vasnprintf-posix.c: Likewise.
4171         * tests/test-vasprintf-posix.c: Likewise.
4172         * top/maint.mk: Likewise.
4174 2017-11-12  Bruno Haible  <bruno@clisp.org>
4176         faccessat: Make the last change more robust.
4177         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
4178         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
4180 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
4182         faccessat: port to macOS (Bug#29231)
4183         macOS faccessat has the same bug that lstat does: if the file
4184         name ends in '/' it ignores the trailing slash.
4185         Problem reported for Emacs by Vincent Zhang.
4186         * doc/posix-functions/faccessat.texi (faccessat): Document this.
4187         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
4188         around the initial includes.  Include errno.h, string.h, sys/stat.h.
4189         (orig_faccessat) [HAVE_FACCESSAT]: New function.
4190         Include "unistd.h" after defining it.
4191         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
4192         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
4193         Handle in the usual way.
4194         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
4195         lstat dereferences symlinks, since faccessat is likely to
4196         have the same problem.
4197         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
4198         * modules/faccessat (Depends-on): Add fstatat.
4199         Depend if REPLACE_FACCESSAT is 1, too.
4200         (configure.ac): Link if REPLACE_FACCESSAT is 1.
4201         * modules/faccessat-tests (Depends-on): Add symlink.
4202         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
4203         * tests/test-faccessat.c (main): Test for the bug.
4205 2017-11-11  Bruno Haible  <bruno@clisp.org>
4207         getprogname: Fix compilation error on IRIX.
4208         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
4209         'namesize'.
4211 2017-11-11  Bruno Haible  <bruno@clisp.org>
4213         year2038: Tweak last patch.
4214         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
4216 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4218         year2038: be more insistent about 64-bit time_t
4219         Applications requiring access to arbitrary files should not be
4220         built with 32-bit time_t on hosts that have 64-bit timestamps,
4221         as this can lead to real trouble at runtime.
4222         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
4223         Check on all systems, not just MinGW.  Use a heuristic involving
4224         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
4225         output a failure or just a warning, to make it more likely that
4226         builders will select 64-bit time_t.
4228 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
4230         havelib: fix typo in previous change
4231         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
4233         Don’t use AC_EGREP_CPP if affected by CFLAGS
4234         * m4/float_h.m4 (gl_FLOAT_H):
4235         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
4236         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
4237         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
4238         * m4/year2038.m4 (gl_YEAR2038):
4239         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
4240         likely to be affected by the choice of CFLAGS, since CFLAGS are
4241         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
4242         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
4244         fstatat: pacify GCC on unusual platform
4245         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
4246         Omit, as it’s unused in this case.
4248 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
4250         timespec: prefer ‘assume’ to ‘assure’
4251         This avoids some runtime tests.  The rest of the module makes
4252         similar assumptions and there is little point to testing here.
4253         * lib/timespec.h: Include verify.h instead of assure.h.
4254         (timespec_cmp): Use ‘assume’, not ‘assure’.
4255         Also, remove an unnecessary cast to ‘int’, as lots of other
4256         code in this module now causes -Wconversion to complain, and
4257         this is a problem with -Wconversion not with the code.
4259         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
4261         Port recent gnulib-tool change to Dash
4262         * gnulib-tool (func_create_testdir): Don't assume that the shell
4263         retokenizes after expanding "$@" inside the call to
4264         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
4266 2017-10-27  Jim Meyering  <meyering@fb.com>
4268         timespec.h: use "assure" to avoid a spurious warning
4269         * lib/timespec.h: Include "assure.h" and use it to help
4270         gcc7's -Wstrict-overflow avoid a false positive warning
4271         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
4272         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
4273         * modules/timespec (Depends-on): Add assure.
4275 2017-10-29  Bruno Haible  <bruno@clisp.org>
4277         Avoid several test failures with traditional locales on Haiku.
4278         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
4279         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
4280         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
4281         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
4282         LOCALE_ZH_CN=none.
4284 2017-10-29  Bruno Haible  <bruno@clisp.org>
4286         strerror_r-posix: Fix behaviour and test failure on Haiku.
4287         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
4288         are positive. Work around return value 0 instead of ERANGE on Haiku.
4289         For unknown error numbers, use a format string consistent with perror().
4290         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
4291         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
4292         are positive.
4294 2017-10-29  Bruno Haible  <bruno@clisp.org>
4296         get-rusage-data: Avoid crash on Haiku.
4297         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
4299 2017-10-29  Bruno Haible  <bruno@clisp.org>
4301         get-rusage-as: Avoid crash on Haiku.
4302         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
4304 2017-10-29  Bruno Haible  <bruno@clisp.org>
4306         ilogbl: Ensure replacement on Haiku.
4307         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
4308         REPLACE_ILOGBL if ilogbl does not work.
4309         (gl_FUNC_ILOGBL_WORKS): New macro.
4310         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
4311         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
4312         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
4313         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
4314         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
4316 2017-10-29  Bruno Haible  <bruno@clisp.org>
4318         expl: Ensure replacement on Haiku.
4319         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
4320         zero.
4321         * doc/posix-functions/expl.texi: Mention the Haiku problem.
4323 2017-10-29  Bruno Haible  <bruno@clisp.org>
4325         math: Fix test failure on Haiku.
4326         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
4327         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
4328         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
4329         * doc/posix-headers/math.texi: Mention the Haiku problem.
4331 2017-10-29  Bruno Haible  <bruno@clisp.org>
4333         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
4334         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
4335         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
4337 2017-10-29  Bruno Haible  <bruno@clisp.org>
4339         crypto/*: Verify that the header file is self-contained.
4340         * tests/test-gc-*.c: Include the module's header file immediately after
4341         <config.h>.
4342         * tests/test-hmac-*.c: Likewise.
4343         * tests/test-arcfour.c: Likewise.
4344         * tests/test-arctwo.c: Likewise.
4345         * tests/test-des.c: Likewise.
4346         * tests/test-md2.c: Likewise.
4347         * tests/test-md4.c: Likewise.
4348         * tests/test-md5.c: Likewise.
4349         * tests/test-rijndael.c: Likewise.
4350         * tests/test-sha1.c: Likewise.
4351         * tests/test-sm3.c: Likewise.
4353 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4354             Bruno Haible  <bruno@clisp.org>
4356         crypto/gc: fix build failure with -Werror=suggest-attribute=const
4357         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
4359 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4361         New module: crypto/gc-sm3
4362         * lib/gc.h: Declare SM3-related stuffs.
4363         * lib/gc-gnulib.c: Support sm3 in internal functions.
4364         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
4365         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
4366         * modules/crypto/gc-sm3: Define gc-sm3 module.
4367         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
4368         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
4369         * MODULES.html.sh: List gc-sm3 module.
4371 2017-10-29  Bruno Haible  <bruno@clisp.org>
4373         random, random_r: Mention different prototypes on Haiku.
4374         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
4375         * doc/glibc-functions/random_r.texi: Likewise.
4376         * doc/glibc-functions/initstate_r.texi: Likewise.
4377         * doc/glibc-functions/setstate_r.texi: Likewise.
4379 2017-10-28  Bruno Haible  <bruno@clisp.org>
4381         posix_spawn: Avoid spurious message in configure output.
4382         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
4383         'cmp' command.
4385 2017-10-28  Bruno Haible  <bruno@clisp.org>
4387         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
4388         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
4389         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
4391 2017-10-28  Bruno Haible  <bruno@clisp.org>
4393         ioctl: Override non-POSIX declaration on Haiku.
4394         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
4395         * lib/sys_ioctl.in.h: Add comment about Haiku.
4396         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
4397         * doc/glibc-headers/sys_ioctl.texi: Likewise.
4399 2017-10-28  Bruno Haible  <bruno@clisp.org>
4401         crypto/sm3: Add overview documentation to the .h file.
4402         * lib/sm3.h: Add comments.
4404 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4406         New module: crypto/sm3
4407         This new module can be used to compute SM3 message digest of files or
4408         memory blocks according to the specification GM/T 004-2012
4409         Cryptographic Hash Algorithm SM3, published by State Cryptography
4410         Administration, China.
4411         The official SM3 cryptographic hash algorithm specification is
4412         available at
4413         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
4414         * lib/sm3.h: Declare the APIs of sm3 module.
4415         * lib/sm3.c: Implement SM3 hash algorithm.
4416         * m4/sm3.m4: m4 file for sm3 module.
4417         * modules/crypto/sm3: Define sm3 module.
4418         * tests/test-sm3.c: Implement SM3 test case.
4419         * modules/crypto/sm3-tests: Define sm3 test module.
4420         * MODULES.html.sh: List sm3 module.
4422 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4424         gc-libgcrypt: fix undefined enum type in switch statement
4425         Resolve the following build failure:
4426         lib/gc-libgcrypt.c: In function 'gc_hash_open':
4427         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
4428         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
4429              case 0:
4430              ^~~~
4431         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
4432         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
4434 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4436         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
4437         Resolve the following build failure:
4438         lib/gc-libgcrypt.c: In function 'gc_hash_read':
4439         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
4440         in signedness [-Werror=pointer-sign]
4441             digest = gcry_md_read (ctx->gch, 0);
4442                    ^
4443         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
4445 2017-10-26  Bruno Haible  <bruno@clisp.org>
4447         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
4448         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
4449         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
4451 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4453         glob: fix another heap buffer overflow
4454         Problem reported by Tim Rühsen in:
4455         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
4456         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
4458 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
4460         quotearg: pacify compiler re unsigned
4461         * lib/quotearg.c (quotearg_n_options):
4462         Rewrite to avoid diagnostic from overly-picky compiler.
4463         Problem reported by Sami Kerola in:
4464         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
4466         glob: fix heap buffer overflow
4467         * lib/glob.c (glob): Fix off-by-one error introduced into
4468         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
4469         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
4470         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
4471         Fix suggested by Bruno Haible.
4473 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
4475         glob: pacify fuzzer for mempcpy
4476         Problem reported by Tim Rühsen in:
4477         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
4478         * lib/glob.c (glob): Do not pass NULL to mempcpy.
4480 2017-10-12  Bruno Haible  <bruno@clisp.org>
4482         doc: Fix syntax error (regression from 2017-10-03).
4483         * doc/posix-functions/strncpy.texi: Fix syntax error.
4485 2017-10-12  Bruno Haible  <bruno@clisp.org>
4487         doc: Update for Solaris 11.3.
4488         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
4489         mention Solaris 11.3.
4490         * m4/log2.m4: Fix comments.
4491         * m4/log2f.m4: Likewise.
4492         * m4/printf.m4: Update comments.
4493         * m4/rename.m4: Likewise.
4494         * m4/strncat.m4: Likewise.
4496         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
4498 2017-10-10  Bruno Haible  <bruno@clisp.org>
4500         doc: Improve doc about ioctl.
4501         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
4502         prototype.
4504 2017-10-09  Bruno Haible  <bruno@clisp.org>
4506         wcwidth: Don't use obsolete syntax of 'test'.
4507         Reported by Eric Blake.
4508         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
4509         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
4511 2017-10-09  Bruno Haible  <bruno@clisp.org>
4513         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
4514         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
4515         and Daniel P. Berrange <berrange@redhat.com>.
4516         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
4517         on glibc systems. The getopt-pfx-core.h file declares exactly what
4518         unistd.h needs, nothing more.
4520 2017-10-08  Bruno Haible  <bruno@clisp.org>
4522         vma-iter: Improve support for FreeBSD.
4523         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
4524         vma_iterate.
4525         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
4527 2017-10-08  Bruno Haible  <bruno@clisp.org>
4529         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
4530         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
4532 2017-10-07  KO Myung-Hun  <komh@chollian.net>
4534         test-framework-sh: Fix 'invalid path dir' error.
4535         On OS/2, a path separator is ';' not ':'. And ':' is used as a
4536         separator between a drive letter and directory parts.
4537         As a result, an absolute path such as x:/path/to/dir on OS/2 is
4538         treated as an invalid path dir.
4539         * tests/init.sh (PATH_SEPARATOR): Set at startup.
4540         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
4541         instead of hard coded ':'.
4543 2017-10-07  Bruno Haible  <bruno@clisp.org>
4545         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
4546         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
4547         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
4548         (rof_open): On Linux, do multiple read() calls and make sure
4549         MIN_LEFTOVER bytes are left when read() returns.
4551 2017-10-07  Bruno Haible  <bruno@clisp.org>
4553         vma-iter: Improve support for GNU/Hurd.
4554         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
4555         API, not the /proc file system.
4557 2017-10-07  Bruno Haible  <bruno@clisp.org>
4559         test-framework-sh: Don't require bash on Windows and OS/2.
4560         Reported by KO Myung-Hun.
4561         * tests/test-init.sh: Use 'shopt' only when running in bash.
4563 2017-10-06  KO Myung-Hun  <komh@chollian.net>
4565         wcwidth: check a macro version of wcwidth () as well
4566         * lib/wchar.in.h: Revert commit from 2016-01-14.
4567         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
4569 2017-10-06  Bruno Haible  <bruno@clisp.org>
4571         getopt-posix: Clarify copyright header.
4572         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
4573         * lib/getopt-pfx-core.h: Likewise.
4574         * lib/getopt-pfx-ext.h: Likewise.
4575         * lib/getopt-cdefs.in.h: Likewise.
4577 2017-10-03  Bruno Haible  <bruno@clisp.org>
4579         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
4580         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
4581         gl_HOST_CPU_C_ABI.
4583 2017-10-03  Bruno Haible  <bruno@clisp.org>
4585         doc: warn about misuse of strncpy and wcsncpy.
4586         * doc/posix-functions/strcpy.texi: Describe requirements on prior
4587         memory allocation.
4588         * doc/posix-functions/wcscpy.texi: Likewise.
4589         * doc/posix-functions/strncpy.texi: Describe what this function is not
4590         useful for.
4591         * doc/posix-functions/wcsncpy.texi: Likewise.
4593 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
4595         fsuage: fix typo in previous change
4596         * lib/fsusage.c: Remove stray include of full-read.h.
4597         Problem reported by Sam Steingold for macOS (Bug#28669).
4599 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
4601         fsusage: remove SVR2 support
4602         SVR2 was obsolete by 1986 and is no longer supported by anybody,
4603         and its code was getting in the way of use of this module by
4604         Emacs, which has its own ‘read’ function anyway.
4605         * lib/fsusage.c: Do not include sys/filsys.h.
4606         (get_fs_usage): Remove SVR2-specific code.
4607         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
4608         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
4609         * modules/fsusage (Depends-on): Do not depend on full-read.
4611         Simplify autoupdate of licenses
4612         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
4613         place.
4615 2017-10-01  Bruno Haible  <bruno@clisp.org>
4617         vma-iter: Add support for GNU/Hurd.
4618         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
4619         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
4621 2017-09-30  Bruno Haible  <bruno@clisp.org>
4623         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
4624         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
4625         fail when module 'largefile' is in use.
4626         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
4627         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
4628         Don't test HAVE_SYS_PROCFS_H.
4630 2017-09-30  Bruno Haible  <bruno@clisp.org>
4632         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
4633         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
4634         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
4635         * modules/havelib (Depends-on): Add host-cpu-c-abi.
4637 2017-09-30  Bruno Haible  <bruno@clisp.org>
4639         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
4640         * lib/uniname/uniname.c (unicode_name_character): Add braces around
4641         scope of local variables.
4643 2017-09-28  Bruno Haible  <bruno@clisp.org>
4645         string: code style
4646         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
4647         substitutable variables.
4648         * modules/string (Makefile.am): Likewise.
4650 2017-09-26  Bruno Haible  <bruno@clisp.org>
4652         uniname/uniname-tests: Tighten code.
4653         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
4654         local variables into one.
4656 2017-09-26  Bruno Haible  <bruno@clisp.org>
4658         vma-iter: Improvements for Linux and BSD platforms.
4659         - Add support for DragonFly BSD.
4660         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
4661         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
4662         Read the entire file into memory in a single system call.
4663         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
4664         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
4666 2017-09-26  Bruno Haible  <bruno@clisp.org>
4668         vma-iter: Provide the protection flags on FreeBSD.
4669         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
4670         skip three fields between the addresses and the protection flags.
4672 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
4674         glob: remove bogus extern decl
4675         * lib/glob.c (__glob_pattern_type): Remove now-spurious
4676         extern declaration.  Problem reported by Adhemerval Zanella in:
4677         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
4679 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
4681         uniname/uniname-tests: integer overflow fix
4682         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
4683         Check for integer overflow.
4685         duplocale-tests: fix unlikely crash
4686         * tests/test-duplocale.c (get_locale_dependent_values):
4687         Don’t crash with absurdly long month names.
4689         maint: fix overflow checking in nap.h
4690         * modules/chown-tests:
4691         * modules/fchownat-tests, modules/fdutimensat-tests:
4692         * modules/futimens-tests, modules/lchown-tests:
4693         * modules/stat-time-tests, modules/utime-tests:
4694         * modules/utimens-tests, modules/utimensat-tests:
4695         Depend on intprops.
4696         * tests/nap.h: Include intprops.h.
4697         (diff_timespec): Handle overflow properly.
4699         sys_types: update URL
4700         * m4/sys_types_h.m4: Use https: URL.
4702         parse-datetime: fix dependency
4703         * modules/parse-datetime (Depends-on): Depend
4704         on nstrftime, not strftime.
4706         parse-datetime, posixtm: avoid uninit access
4707         * lib/parse-datetime.y (parse_datetime2):
4708         * lib/posixtm.c (posixtime):
4709         Do not access uninitialized storage, even though the resulting
4710         value is never used.
4712 2017-09-25  Bruno Haible  <bruno@clisp.org>
4714         vma-iter: Improvements for BSD platforms.
4715         - Add support for GNU/kFreeBSD.
4716         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
4717         - Speed up on OpenBSD.
4718         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
4719         (vma_iterate_bsd): New function.
4720         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
4721         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
4722         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
4723         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
4725 2017-09-23  Bruno Haible  <bruno@clisp.org>
4727         strfmon_l: New module.
4728         * modules/strfmon_l: New file.
4729         * lib/strfmon_l.c: New file.
4730         * m4/strfmon_l.m4: New file.
4731         * doc/posix-functions/strfmon_l.texi: Mention the new module.
4732         * modules/strfmon_l-tests: New file.
4733         * tests/test-strfmon_l.c: New file.
4735         monetary: New module.
4736         * modules/monetary: New file.
4737         * lib/monetary.in.h: New file.
4738         * m4/monetary_h.m4: New file.
4739         * doc/posix-headers/monetary.texi: Mention the new module.
4740         * modules/monetary-tests: New file.
4741         * tests/test-monetary.c: New file.
4742         * modules/monetary-c++-tests: New file.
4743         * tests/test-monetary-c++.cc: New file.
4744         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
4746 2017-09-23  Bruno Haible  <bruno@clisp.org>
4748         duplocale tests: Fix test crash on Linux/x86.
4749         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
4750         locale from the current thread before freeing it.
4752 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
4754         mktime: port to OpenVMS
4755         Problem reported by John E. Malmberg in:
4756         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
4757         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
4759 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
4761         manywarnings: port to GCC on 64-bit MS-Windows
4762         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
4763         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
4764         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
4766 2017-09-13  Bruno Haible  <bruno@clisp.org>
4768         all: Replace many more http URLs by https URLs. Update stale URLs.
4769         * users.txt: Remove mention of 'newts'.
4770         * lib/localename.c: Update comment about LANG_SOTHO.
4772 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4774         all: Replace many http URLs by https URLs.
4776 2017-09-12  Bruno Haible  <bruno@clisp.org>
4778         doc: Prefer https URLs where possible.
4779         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
4780         * doc/ld-output-def.texi: Remove unavailable URL.
4782 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
4784         maintainer-makefile: FTP -> HTTPS
4785         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
4786         of FTP, which is planned to be decommissioned on 2017-11-01.
4788 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
4790         libc-config: Fix __GNUC_PREREQ macro.
4791         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
4792         __GNUC_MINOR.
4794 2017-09-09  Bruno Haible  <bruno@clisp.org>
4796         gnulib-tool: Simplify commit from 2015-08-20.
4797         * gnulib-tool (func_add_or_update): Remove local variable
4798         is_binary_file.
4800 2017-09-08  Bruno Haible  <bruno@clisp.org>
4802         stddef: Avoid conflict with system-defined max_align_t.
4803         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
4804         Reported by Werner Lemberg <wl@gnu.org> in
4805         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
4806         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
4807         (max_align_t): Define as a macro.
4808         (GNULIB_defined_max_align_t): New macro. Guards against multiple
4809         definitions of rpl_max_align_t in different copies of gnulib-generated
4810         <stddef.h>.
4812 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4814         libc-config: port to MSVC
4815         Problems reported by Gisle Vanem in:
4816         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
4817         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
4818         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
4819         * m4/__inline.m4: New file.
4820         * modules/libc-config (Files): Add it.
4821         (Depends-on): Use it.
4823         glob: Use enum for __glob_pattern_type result
4824         From a patch proposed by Adhemerval Zanella in:
4825         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
4826         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
4827         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
4828         * lib/glob_internal.h (__glob_pattern_type):
4829         * lib/glob.c (glob):
4830         * lib/glob_pattern_p.c (__glob_pattern_p):
4831         Use them.
4833         glob: fix for use in glibc
4834         Problem reported by Adhemerval Zanella in:
4835         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
4836         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
4837         Do not redefine if _LIBC.
4839 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4841         glob: fix bugs with long login names
4842         Problem reported by Adhemerval Zanella in:
4843         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
4844         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
4845         (glob): Use the same scratch buffer for both getlogin_r and
4846         getpwnam_r.  Don’t require preallocation of the login name.  This
4847         simplifies storage allocation, and corrects the handling of
4848         long login names.
4850 2017-09-02  Bruno Haible  <bruno@clisp.org>
4852         dirent: Update doc.
4853         * doc/posix-headers/dirent.texi: More concrete list of platforms.
4855 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4857         glob: fix getpwnam_r errno typo
4858         * lib/glob.c (glob): Fix longstanding misuse of errno after
4859         getpwnam_r, which returns an error number rather than setting
4860         errno.
4862         glob: fix typo in recent change
4863         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
4864         Fix recently-introduced typo.
4866 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4868         glob: don't save and restore errno unnecessarily
4869         * lib/glob.c (glob): Don't save and restore errno
4870         merely because we have getpwnam_r.
4872         glob: don't assume getpwnam_r
4873         * lib/glob.c (glob): Port recent patches to platforms
4874         lacking getpwnam_r.
4876         scratch_buffer: don’t use private glibc API
4877         Suggested by Florian Weimer in:
4878         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
4879         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
4880         * lib/scratch_buffer_grow.c: Rename to
4881         lib/malloc/scratch_buffer_grow.c.
4882         * lib/scratch_buffer_grow_preserve.c: Rename to
4883         lib/malloc/scratch_buffer_grow_preserve.c.
4884         * lib/scratch_buffer_set_array_size.c: Rename to
4885         lib/malloc/scratch_buffer_set_array_size.c.
4886         * lib/scratch_buffer.h: New file.
4887         * modules/scratch_buffer (Files, Makefile.am):
4888         Adjust to source-file renaming.
4890 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4892         glob: use scratch_buffer instead of extend_alloca
4893         Much of the lib/glob.c part of this patch comes from a glibc patch
4894         proposed by Adhemerval Zanella in:
4895         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
4896         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
4897         included via glob.h, does this for us now.
4898         (__set_errno): Remove, as libc-config does this for us now.
4899         Include <scratch_buffer.h>.
4900         (GETPW_R_SIZE_MAX): Remove.
4901         (glob): Use struct scratch_buffer instead of extend_alloca.
4902         * lib/glob.in.h: Include libc-config.h rather than
4903         including <sys/cdefs.h> conditionally.
4904         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
4905         (__glibc_unlikely, __restrict, weak_alias):
4906         Remove, as libc-config does this for us now.
4907         * m4/glob.m4 (gl_PREREQ_GLOB):
4908         Remove sys/cdefs.h tests; no longer needed.
4909         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
4910         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
4912         scratch_buffer: new module
4913         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
4914         * lib/scratch_buffer_grow_preserve.c:
4915         * lib/scratch_buffer_set_array_size.c:
4916         New files, copied from glibc with very minor changes that can be
4917         copied back.
4918         * modules/scratch_buffer: New file.
4920         libc-config: new module
4921         * MODULES.html.sh: Add libc-config.
4922         * lib/cdefs.h: New file, copied from the GNU C Library with very
4923         minor changes that can be copied back.
4924         * lib/libc-config.h, modules/libc-config: New files.
4926 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4928         glob: match dangling symlinks
4929         This fixes a bug I inadvertently introduced to Gnulib when I
4930         merged glibc glob back into gnulib on 2007-10-16.  This fix is
4931         inspired by a patch proposed for glibc by Adhemerval Zanella in:
4932         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
4933         * doc/posix-functions/glob.texi: Update list of affected platforms.
4934         * lib/glob.c (__lstat64): New macro.
4935         (is_dir): New function.
4936         (glob, glob_in_dir): Match symlinks even if they are dangling.
4937         (link_stat, link_exists_p): Remove.  All uses removed.
4938         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
4939         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
4940         * modules/glob-tests (Depends-on): Add symlink.
4941         * tests/test-glob.c: Include errno.h, unistd.h.
4942         (BASE): New macro.
4943         (main): Test dangling symlinks, if symlinks are supported.
4945         glob, backupfile: inode 0 is a valid inode number
4946         * doc/posix-functions/readdir.texi (readdir):
4947         * doc/posix-headers/dirent.texi (dirent.h):
4948         Document more readdir portability issues.
4949         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
4950         (numbered_backup): Don’t treat inode 0 any differently from
4951         other inode values.
4952         * lib/glob.c (struct readdir_result): Remove skip_entry member.
4953         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
4954         All uses removed.
4955         * modules/glob (Depends-on): Remove d-ino.
4957         glob: simplify symlink detection
4958         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
4959         uint8_t, as C99 does not require uint8_t.
4960         (struct readdir_result): Use it.  Do not define skip_entry unless
4961         it is needed; this saves a byte on platforms lacking d_ino.
4962         (readdir_result_type, readdir_result_skip_entry):
4963         New functions, replacing ...
4964         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
4965         ... these functions, which were removed.  This makes the callers
4966         easier to read.  All callers changed.
4967         (D_INO_TO_RESULT): Now empty if there is no d_ino.
4969 2017-08-30  Pádraig Brady  <P@draigBrady.com>
4971         fts-tests: tag as a longrunning-test so not included by default
4972         * modules/fts-tests: This test takes about 20s on current systems,
4973         and uses about 285M of space on ext4.
4975 2017-08-30  Pádraig Brady  <P@draigBrady.com>
4977         renameat2: fix compilation on alpine linux
4978         * m4/renameat.m4: Check for <linux/fs.h> presence.
4979         * lib/renameat2.h: Only include <linux/fs.h> if present.
4980         Reported by Assaf Gordon on Alpine Linux.
4982 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4984         glob: try to port recent changes to MS-Windows
4985         Problem reported by Bruno Haible in:
4986         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
4987         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
4988         * lib/glob.in.h (__glob_pattern_p): ... to here.
4990 2017-08-24  Eric Blake  <eblake@redhat.com>
4992         warnings: fix compilation with old autoconf
4993         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
4994         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
4995         AC_DEFUN.
4996         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
4997         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
4999 2017-08-24  Bruno Haible  <bruno@clisp.org>
5001         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
5002         * modules/glob (Depends-on): Add c99.
5004 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
5006         glob: fix typo that broke platforms lacking d_ino
5007         This typo also hurt performance on GNU/Linux and similar hosts.
5008         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
5009         in previous change.
5011 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
5013         glob: merge from glibc with Zanella glob changes
5014         Merge glob from glibc, with changes for glob proposed
5015         by Adhemerval Zanella in the thread starting here:
5016         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
5017         plus some fixes for this merge.
5018         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
5019         New files, ported from glibc.
5020         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
5021         with __restrict.
5022         (__size_t): Remove.  All uses replaced by size_t.
5023         (size_t): Define by defining __need_size_t and including <stddef.h>.
5024         This should work even in non-glibc platforms, where any name
5025         pollution is OK.
5026         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
5027         (struct stat64): Don’t worry about __GLOB_GNULIB.
5028         (glob, globfree, glob_pattern_p): Remove macros for
5029         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
5030         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
5031         but set errno.
5032         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
5033         removed since the glibc behavior works on null pointers.
5034         Do not include stdio.h; old SunOS is irrelevant now.
5035         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
5036         Include glob_internal.h.
5037         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
5038         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
5039         worked only coincidentally.
5040         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
5041         Remove macros; now done in glob.in.h.
5042         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
5043         (glob): Properly initialize glob structure with
5044         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
5045         Remove old code using SHELL since Bash no longer
5046         uses this.
5047         (glob, prefix_array): Separate MS code better.
5048         (glob, glob_in_dir): Use C99 decls before statements when glibc
5049         does.
5050         (glob_in_dir): Remove old Amiga and VMS code.
5051         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
5052         separate files.
5053         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
5054         (__glibc_unlikely):
5055         Move here from glob.c.
5056         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
5057         (weak_alias): New macro.
5058         (__size_t): Remove.  All uses replaced by size_t.
5059         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
5060         * modules/glob (Files): Add +lib/glob_internal.h,
5061         lib/glob_pattern_p.c, lib/globfree.c.
5062         (Depends-on): Remove snippet/arg-nonnull.
5064 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
5066         glob: port to clang's Undefined Sanitizer
5067         Problem reported by Tim Rühsen in:
5068         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
5069         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
5070         (glob_in_dir): Do not rely on undefined behavior in accessing
5071         struct members beyond their bounds.  Use a flexible array member
5072         instead.
5074 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
5076         vc-list-files: port to Solaris 10
5077         * build-aux/vc-list-files: Don't assume test -e works.
5079 2017-08-21  Karl Berry  <karl@freefriends.org>
5081         * doc/posix-functions/srandom.texi (srandom): typo }.
5083 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5085         git-version-gen: port to Solaris 10
5086         Problem reported by Dagobert Michelsen in:
5087         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
5088         * build-aux/git-version-gen (v_from_git):
5089         Use expr instead of shell substitution.
5091 2017-08-19  Bruno Haible  <bruno@clisp.org>
5093         host-cpu-c-abi: Improve detection of MIPS ABI.
5094         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
5095         _MIPS_SIM.
5097 2017-08-17  Bruno Haible  <bruno@clisp.org>
5099         hypot tests: Fix test failure on FreeBSD 11.0/x86.
5100         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
5102 2017-08-17  Bruno Haible  <bruno@clisp.org>
5104         float: Fix LDBL_MIN value on FreeBSD/x86.
5105         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
5107 2017-08-17  Bruno Haible  <bruno@clisp.org>
5109         random: Fix test compilation failure on Cygwin 1.5.25.
5110         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
5111         HAVE_DECL_SETSTATE.
5112         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
5113         declared.
5114         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
5115         HAVE_DECL_SETSTATE.
5116         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
5117         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
5118         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
5119         * doc/posix-functions/random.texi: Likewise.
5120         * doc/posix-functions/setstate.texi: Likewise.
5121         * doc/posix-functions/srandom.texi: Likewise.
5123 2017-08-16  Bruno Haible  <bruno@clisp.org>
5125         stdnoreturn: Fix test compilation failure on Cygwin.
5126         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
5127         <stdnoreturn.h> replacement.
5128         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
5129         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
5131 2017-08-16  Bruno Haible  <bruno@clisp.org>
5133         thread: Fix conflict with pthread_sigmask module.
5134         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
5135         it's defined as a macro.
5136         * modules/thread (Depends-on): Add pthread_sigmask.
5138 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
5140         rename: port better to NetBSD
5141         * doc/posix-functions/rename.texi (rename): NetBSD 7
5142         does not have the link-count bug.
5143         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
5144         broken merely because rename ("a", "b") removes "a" when the two
5145         names are hard links to the same file.
5147 2017-08-16  Bruno Haible  <bruno@clisp.org>
5149         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
5150         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
5151         the target file names with '$(srcdir)/'.
5152         * modules/unicase/locale-language (Makefile.am): Likewise.
5153         * modules/unicase/special-casing (Makefile.am): Likewise.
5154         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
5155         * modules/unictype/category-byname (Makefile.am): Likewise.
5156         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
5157         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
5158         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
5159         * modules/unictype/property-byname (Makefile.am): Likewise.
5160         * modules/unictype/scripts (Makefile.am): Likewise.
5161         * modules/uninorm/composition (Makefile.am): Likewise.
5163 2017-08-16  Bruno Haible  <bruno@clisp.org>
5165         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
5166         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
5167         value for OpenBSD.
5169 2017-08-16  Bruno Haible  <bruno@clisp.org>
5171         rename, renameat: Update doc regarding NetBSD.
5172         * doc/posix-functions/rename.texi: Clarify that when using
5173         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
5174         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
5175         version.
5177 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5179         renameat2: port better to macOS
5180         * lib/renameat2.c (renameat2): Use renameatx_np if available.
5182         futimens: don’t assume struct timespec layout
5183         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
5184         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
5185         * tests/test-fdutimensat.c (main):
5186         * tests/test-futimens.h (test_futimens):
5187         * tests/test-lutimens.h (test_lutimens):
5188         * tests/test-utimens.h (test_utimens):
5189         * tests/test-utimensat.c (main):
5190         Don’t assume that struct timespec is a two-member structure in
5191         tv_sec, tv_nsec order.  Although this is true on all platforms we
5192         know about, POSIX does not guarantee it.
5194         rename: document+test NetBSD rename
5195         Test failure reported by Bruno Haible in:
5196         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
5197         This is an area where NetBSD is better-behaved than POSIX,
5198         so allow the NetBSD behavior in tests.
5199         * doc/posix-functions/rename.texi:
5200         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
5201         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
5203 2017-08-15  Bruno Haible  <bruno@clisp.org>
5205         renameat: Ensure declaration in <stdio.h> on NetBSD.
5206         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
5207         * doc/posix-functions/renameat.texi: Mention this problem.
5209 2017-08-15  Bruno Haible  <bruno@clisp.org>
5211         duplocale: Work around NetBSD 7.0 bug.
5212         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
5213         * lib/duplocale.c: Add comment about NetBSD problem.
5214         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
5216 2017-08-15  Bruno Haible  <bruno@clisp.org>
5218         duplocale tests: Verify use with *_l functions.
5219         * modules/duplocale-tests (configure.ac): Test for uselocale and
5220         some *_l functions.
5221         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
5222         from main.
5223         (get_locale_dependent_values_from, test_with_locale_parameter): New
5224         functions.
5225         (main): Test both test_with_uselocale and test_with_locale_parameter.
5227 2017-08-15  Bruno Haible  <bruno@clisp.org>
5229         extensions: Enable NetBSD specific extensions.
5230         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
5232 2017-08-14  Bruno Haible  <bruno@clisp.org>
5234         open, openat: Update doc about O_CLOEXEC.
5235         * doc/posix-functions/open.texi: More concrete list of platforms.
5236         * doc/posix-functions/openat.texi: Likewise.
5238 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5240         open: support O_CLOEXEC
5241         * NEWS, doc/posix-functions/open.texi:
5242         * doc/posix-functions/openat.texi: Document this.
5243         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
5244         (GNULIB_defined_O_CLOEXEC): New symbol.
5245         * lib/open.c: Include cloexec.h.
5246         (open): Support O_CLOEXEC.
5247         * lib/openat.c: Include cloexec.h.
5248         (rpl_openat): Support O_CLOEXEC.
5249         * lib/popen-safer.c: Do not include cloexec.h.
5250         (open_noinherit): Remove.
5251         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
5252         * lib/save-cwd.c: Do not include cloexec.h.
5253         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
5254         * m4/open-cloexec.m4: New file.
5255         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
5256         Replace 'open' if O_CLOEXEC is not present.
5257         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
5258         Replace 'openat' if O_CLOEXEC is not present.
5259         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
5260         * modules/open (Files): Add m4/open-cloexec.m4.
5261         (Depends-on): Depend on cloexec if replacing 'open'.
5262         * modules/openat (Files): Add m4/open-cloexec.m4.
5263         (Depends-on): Depend on cloexec if replacing openat.
5264         * modules/popen-safer (Depends-on): Remove cloexec.
5265         * modules/save-cwd (Depends-on): Remove cloexec, and add
5266         fd-safer-flag and 'open'.
5268 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
5270         reallocarray: minor fixes
5271         * doc/glibc-functions/reallocarray.texi: Update version numbers.
5272         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
5273         * modules/reallocarray (License): Change from GPL to LGPL.
5274         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
5275         Indent properly and don't use tabs.
5277 2017-08-13  Darshit Shah  <darnir@gnu.org>
5279         reallocarray: New module
5280         reallocarray is a new function in glibc 2.26 to safely allocate an array
5281         of memory locations with integer overflow protection.
5282         * MODULES.html.sh: Add reallocarray.
5283         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
5284         * lib/reallocarray.c: New file to implement module reallocarray.
5285         * lib/stdlib.in.h: Add function declarations for reallocarray.
5286         * m4/reallocarray.m4: New file.
5287         * m4/stdlib_h.m4: Declare reallocarray.
5288         * modules/reallocarray: New file.
5289         * modules/reallocarray-test: New file.
5290         * modules/stdlib: Coerce stdlib.h to export reallocarray.
5291         * tests/test-reallocarray.c: New test.
5293 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
5295         dirent-safer: fix cloexec race
5296         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
5297         (opendir_safer): Use F_DUPFD_CLOEXEC.
5298         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
5299         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
5300         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
5301         instead of dup_safer.
5303         fts: fix cloexec races
5304         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
5305         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
5306         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
5307         (fd_ring_check): Set cloexec flag on new file descriptors.
5308         (fts_build, fd_ring_check): While we’re at it, make sure the
5309         resulting file descriptor is not 0, 1, or 2, since that is easy.
5311 2017-08-11  Bruno Haible  <bruno@clisp.org>
5313         fts tests: Fix link error.
5314         Reported by Tom G. Christensen in
5315         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
5316         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
5318 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5320         fts: port recent changes to CentOS 6
5321         Problem reported by Tom G. Christensen in:
5322         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
5323         * lib/fts.c (fsword): New type.
5324         (struct dev_type, filesystem_type): Use it.
5325         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
5326         Also, check for f_type only if fstatfs and sys/vfs.h work.
5328 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5330         tempname: do not depend on secure_getenv
5331         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
5332         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
5333         * modules/tempname (Depends-on): Remove secure_getenv.
5335 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
5337         extensions: add _OPENBSD_SOURCE
5338         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
5340 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
5341             Bruno Haible  <bruno@clisp.org>
5343         manywarnings: Add support for C++.
5344         * build-aux/g++-warning.spec: New file.
5345         * m4/manywarnings-c++.m4: New file.
5346         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
5347         redirects to manywarnings-c++.m4.
5348         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
5350 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
5352         git-version-gen: another fix for tags with "-"
5353         * build-aux/git-version-gen: Improve fix for tags containing "-".
5354         Suggested by Markus Armbruster in:
5355         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
5357 2017-08-06  Bruno Haible  <bruno@clisp.org>
5359         warnings, manywarnings: Add support for multiple languages, not just C.
5360         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
5361         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
5362         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
5363         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
5364         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
5365         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
5366         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
5367         of the current language. If C++ is the current language, modify
5368         WARN_CXXFLAGS instead of WARN_CFLAGS.
5369         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
5370         gl_MANYWARN_ALL_GCC.
5371         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
5373 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
5375         git-version-gen: Fix for tags containing '-'
5377         Really old versions of git-describe (before v1.5.0, Feb 2007)
5378         don't have the number of commits in their long format output,
5379         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
5380         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
5381         recognizes both patterns, and normalizes the old format to the new one.
5383         Unfortunately, this normalization code gets confused when the tag
5384         contains '-'.  Reproducer:
5386             $ git-tag -m test v0.2-rc1
5387             $ build-aux/git-version-gen .tarball-version; echo
5388             build-aux/git-version-gen: WARNING: git rev-list failed
5389             UNKNOWN
5391         We take exact tag "v0.2-rc1" for the old format, extract the presumed
5392         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
5393         commits since tha tag.  Fails, because tag "v0.2" does not exist.
5395         * git-version-gen: We could perhaps drop support for versions from
5396         more than a decade ago.  But tightening the pattern match is easy
5397         enough, so do that.  Still breaks when you use version tags ending in
5398         something matching -g????, but you arguably get what you deserve then.
5400 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
5402         valgrind-tests: use ls, and cache
5403         * m4/valgrind-tests.m4: Test ls, not bash.
5404         Problem reported by Reuben Thomas.
5405         Also, cache the result so that it can be overridden.
5407 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
5409         manywarnings: port to 64-bit GCC builds of Emacs
5410         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
5411         object size rather than hardwiring 2147483647.  This is needed to
5412         build GNU Emacs, which has one conditional (and used
5413         only-in-theory) call to malloc with a literal greater than
5414         2147483647.
5416 2017-08-04  Bruno Haible  <bruno@clisp.org>
5418         Relax the license of some modules with no runtime code.
5419         * modules/std-gnu11 (License): Set to 'unlimited'.
5420         * modules/c99 (License): Likewise.
5421         Reported by Reuben Thomas <rrt@sc3d.org>.
5422         * modules/d-ino (License): Set to 'LGPL'.
5423         * modules/host-os (License): Likewise.
5424         * modules/longlong (License): Likewise.
5426 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
5428         renameat2: port to RHEL 7 + NFS
5429         * lib/renameat2.c (renameat2) [SYS_renameat2]:
5430         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
5431         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
5433 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
5435         renameat2: port to non-renameat platforms
5436         Problem reported for MSVC-2015 by Gisle Vanem in:
5437         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
5438         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
5439         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
5441 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
5443         manywarnings: port to 32-bit GCC bug
5444         Problem reported by Pino Toscano in:
5445         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
5446         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
5447         not 2**63 - 1, to work around the following GCC bug:
5448         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
5450 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5452         backupfile: new function to validate backup suffix
5453         * lib/backupfile.c (set_simple_backup_suffix): New function.
5454         (backupfile_internal): Use it.
5456         canonicalize: fix EOVERFLOW commentary
5457         Problem reported by Bruno Haible in:
5458         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
5459         * lib/canonicalize.c (canonicalize_filename_mode):
5460         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
5462         Don't interpret EOVERFLOW to mean nonexistence
5463         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
5464         may be EOVERFLOW; this is likely more useful than reporting the
5465         stat errno.
5466         * lib/glob.c (link_stat): Rename from link_exists2_p and
5467         return -1/0 instead of 0/1.  Caller changed.
5468         * lib/glob.c (link_exists_p):
5469         * lib/renameat2.c (rename_noreplace, renameat2):
5470         * lib/tempname.c (try_nocreate):
5471         If errno == EOVERFLOW then the directory entry exists, so do not
5472         act as if it does not exist.
5474         backup-rename: new module
5475         It is like backupfile, except it avoids some race conditions,
5476         and it does not output to stderr or exit.
5477         * MODULES.html.sh: Add backup-rename.
5478         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
5479         * modules/backup-rename: New files.
5480         * lib/backupfile.c: Turn this into an internals file, which
5481         contains code common to backupfile and backup_rename.  Include
5482         backupfile-internal.h instead of backupfile.h.  Do not include
5483         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
5484         renameat2.h and fcntl.h.
5485         (BACKUP_NOMEM): New constant.
5486         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
5487         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
5488         (backupfile_internal): Rename from find_backup_file_name.
5489         Support new arg RENAME.
5490         (backup_args, backup_types, get_version, xget_version):
5491         Move to lib/backup-find.c.
5492         * lib/backupfile.h (backup_file_rename): New decl.
5493         * modules/backupfile (Files): Add lib/backup-internal.h,
5494         lib/backup-find.c.
5495         (Depends-on): Add dirfd, fcntl, renameat2.
5496         (lib_SOURCES): Add backup-find.c.
5498         renameat2: port better to older Solaris
5499         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
5500         Add goto to use a label, to silence picky compilers.
5502         fts-tests: port to gcc -Wwrite-strings
5503         * tests/test-fts.c (base, base_d): New static vars.
5504         (argv, remove_tree, main): Use them.
5506 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
5508         relocatable-lib{,-lgpl}: improve documentation
5509         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
5510         Various other updates.
5512 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
5513             Bruno Haible  <bruno@clisp.org>
5515         relocatable-lib{,-lgpl}: add Valgrind suppressions
5516         * lib/relocatable.valgrind: New file.
5517         * modules/relocatable-lib (Files): Add relocatable.valgrind.
5518         * modules/relocatable-lib-lgpl: Likewise.
5520 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
5522         relocatable: Make the license on the sources the GPL.
5523         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
5524         LGPL, which was a special case so that the relocatable source files
5525         could be used without gnulib-tool, to GPL. They can still be used under
5526         the LGPL, using the --lgpl option to gnulib-tool.
5528 2017-07-30  Bruno Haible  <bruno@clisp.org>
5530         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
5531         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
5532         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
5533         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
5534         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
5536 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
5538         faccessat: document AT_SYMLINK_NOFOLLOW issue
5539         * doc/posix-functions/faccessat.texi: Modernize platform list.
5540         Document AT_SYMLINK_NOFOLLOW limitation.
5542         renameat2: port to Solaris 10
5543         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
5544         with AT_SYMLINK_NOFOLLOW (which is not portable).
5545         (renameat): Undef before using, to avoid endless recursion when
5546         the replacement renameat calls renameat2 which calls the
5547         replacement renameat.
5548         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
5549         * modules/renameat2 (Depends-on): Remove faccessat.
5550         * modules/renameat-tests (test_renameat_LDADD):
5551         * modules/renameat2-tests (test_renameat2_LDADD):
5552         Remove $(LIB_EACCESS).
5554         renameat2: new module
5555         Although the Linux syscall renameat2 is not in glibc (yet?), it is
5556         useful to have access to its RENAME_NOREPLACE flag.
5557         * MODULES.html.sh (func_all_modules): Add renameat2.
5558         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
5559         * modules/renameat2-tests, tests/test-renameat2.c: New files.
5560         * lib/renameat.c (renameat): Move most of the implementation
5561         to renameat2, and just call renameat2.
5562         * modules/renameat (Files): Remove lib/at-func2.c.
5563         (Depends-on): Depend only on renameat2.
5564         (Include): Remove <fcntl.h>.
5565         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
5566         since renameat (via renameat2) might use faccessat.
5568 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
5570         vc-list-files: Adjust the script to support git worktrees
5571         * build-aux/vc-list-files: Require existence, not directory.
5573 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5575         doc: bring MODULES.html.sh up to date
5576         Somehow a few months ago we stopped updating MODULES.html.sh.
5577         I don’t recall explicitly deciding this, so I updated it now.
5578         Alternatively I suppose we could remove it.
5579         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
5580         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
5581         truncate, utime, utime-h, windows-stat-inodes,
5582         windows-stat-override, windows-stat-timespec, year2038.  Sort.
5584 2017-07-26  Jim Meyering  <meyering@fb.com>
5586         fprintftime: fix build-break caused by recent renaming
5587         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
5588         "strftime.c".
5589         * modules/fprintftime: Depend directly on nstrftime.
5591 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5593         regex: work with GCC7's -Werror=implicit-fallthrough=
5594         * lib/regex_internal.h (FALLTHROUGH): New macro.
5595         * lib/regcomp.c (peek_token_bracket, parse_expression):
5596         * lib/regexec.c (check_node_accept): Use it.
5598 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5600         fts: simplify fts_build
5601         * lib/fts.c (fts_build): Simplify, and be lazier about
5602         calling leaf_optimization.
5604         fts: three levels of leaf optimization
5605         * lib/fts.c (enum leaf_optimization): New type with three values.
5606         (S_MAGIC_AFS): New macro.  Sort them.
5607         (leaf_optimization): Rename from leaf_optimization_applies, and
5608         return enum leaf_optimization instead of bool.  All uses changed.
5609         Add cases for unknown type and for AFS.
5610         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
5612         fts: cache dirent_inode_sort_may_be_useful too
5613         * lib/fts.c (struct dev_type): New struct.
5614         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
5615         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
5616         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
5617         Now takes FTSENT const *, not int.  All uses changed.  Use
5618         filesystem_type to cache.
5619         (link_count_optimize_ok): Remove.  Caller changed to use
5620         leaf_optimization_applies, which now uses shared cache.
5622         fts: introduce MIN_DIR_NLINK
5623         * lib/fts.c (MIN_DIR_NLINK): New constant.
5624         Use it instead of 2, whenever we are talking about link counts.
5626         fts: nlink_t signedness fixups
5627         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
5628         so that root need not be a special case later.
5629         (fts_read): Remove now-redundant test for fts_level.
5630         Do not assume that nlink_t is signed.
5631         (fts_build): Remove useless decrement of nlinks.
5632         (fts_stat): Avoid unlikely signed integer overflow later, if
5633         nlink_t is signed.
5635         fts-tests: new module
5636         * modules/fts-tests, tests/test-fts.c: New files.
5638 2017-07-23  Bruno Haible  <bruno@clisp.org>
5640         Rename module 'strftime' to 'nstrftime'.
5641         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
5642         * lib/nstrftime.c: Renamed from lib/strftime.c.
5643         * modules/nstrftime: Renamed from modules/strftime.
5644         (Files, Makefile.am): Update.
5645         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
5646         Fix comment.
5647         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
5648         (Files, Makefile.am): Update.
5649         * modules/strftime: New file, an obsolete indirection.
5650         * doc/posix-functions/strftime.texi: Update reference.
5651         * config/srclist.txt: Update info.
5652         * NEWS: Mention the change.
5654 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
5656         malloca: Silence a warning from clang's memory sanitizer.
5657         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
5658         (freea): Use it.
5660 2017-07-18  Bruno Haible  <bruno@clisp.org>
5662         host-cpu-c-abi: Fix detection of MIPS ABI.
5663         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
5664         ABI, not the CPU instruction set.
5666 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5668         explicit_bzero: new module
5669         The explicit_bzero function has been added to glibc.
5670         This module is intended to supports its use in GNU programs.
5671         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
5672         * m4/explicit_bzero.m4, modules/explicit_bzero:
5673         New files.
5674         * doc/gnulib.texi (Glibc string.h): Link to new doc.
5675         * lib/string.in.h (explicit_bzero): Declare.
5676         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
5677         * modules/string (string.h): Substitute its vars.
5679 2017-07-16  Bruno Haible  <bruno@clisp.org>
5681         threadlib: Support static linking.
5682         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
5683         set gl_cv_have_weak to 'no'.
5685 2017-07-16  Bruno Haible  <bruno@clisp.org>
5687         unicase/locale-language: Fix link dependencies.
5688         * modules/unicase/locale-language (Link): New section.
5689         * modules/unicase/locale-language-tests (Makefile.am): Link
5690         test-locale-language program with $(LIBTHREAD).
5692 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5694         sys_socket: Add support for OpenVMS.
5695         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
5696         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
5698 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5700         sys_resource: Add support for OpenVMS.
5701         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
5702         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
5704 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5705             Bruno Haible  <bruno@clisp.org>
5707         math: Add support for OpenVMS.
5708         * lib/math.in.h [__VMS]: Include <fp.h>.
5709         * doc/posix-headers/math.texi: Mention OpenVMS issues.
5711 2017-07-15  Bruno Haible  <bruno@clisp.org>
5713         getdtablesize: Add minimal support for OpenVMS.
5714         Reported by John E. Malmberg <wb8tyw@qsl.net>.
5715         * modules/getdtablesize (Description): Fix.
5716         * lib/getdtablesize.c: Fix comment.
5717         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
5718         getdtablesize() function, even though the test fails.
5719         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
5720         limitation on OpenVMS.
5722 2017-07-13  Bruno Haible  <bruno@clisp.org>
5724         Revisit cross-compilation guesses.
5725         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
5727 2017-07-13  Bruno Haible  <bruno@clisp.org>
5729         Improve cross-compilation guesses for native Windows.
5730         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
5731         Windows.
5732         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
5733         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
5734         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
5735         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
5736         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
5737         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
5738         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
5739         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5740         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5741         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
5742         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5743         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
5744         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
5745         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
5746         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
5747         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
5748         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
5749         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
5750         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5751         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
5752         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
5753         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
5754         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
5755         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
5756         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
5757         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
5758         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
5759         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5760         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
5761         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
5762         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5763         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
5764         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
5765         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
5766         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
5767         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
5768         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
5769         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
5770         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
5771         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
5772         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
5773         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
5774         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
5775         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
5776         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
5777         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
5778         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
5779         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
5780         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
5781         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
5782         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
5783         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
5784         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
5785         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
5786         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
5787         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
5788         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
5789         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
5790         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
5791         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
5792         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5793         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
5794         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
5795         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
5796         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5797         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5798         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
5799         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
5800         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
5801         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
5802         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
5803         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
5804         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5805         * m4/regex.m4 (gl_REGEX): Likewise.
5806         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
5807         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
5808         gl_FUNC_REMAINDERF_WORKS): Likewise.
5809         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
5810         gl_FUNC_REMAINDERL_WORKS): Likewise.
5811         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5812         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5813         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5814         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5815         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5816         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
5817         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
5818         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
5819         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
5820         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5821         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
5822         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
5823         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5824         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
5825         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
5826         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
5827         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5828         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5829         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
5830         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
5831         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
5832         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5833         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5834         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
5835         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5836         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5837         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
5838         Likewise.
5839         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
5840         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
5841         Windows. Enable also on Autoconf 2.70.
5842         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
5843         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
5844         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
5845         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
5846         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
5847         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
5848         for native Windows.
5849         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
5850         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
5852 2017-07-13  Bruno Haible  <bruno@clisp.org>
5854         Improve cross-compilation guesses for native Windows.
5855         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
5856         Windows.
5857         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
5858         memchr.m4.
5859         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
5861 2017-07-13  Bruno Haible  <bruno@clisp.org>
5863         Improve cross-compilation guesses for native Windows.
5864         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
5865         native Windows.
5866         (gl_FUNC_FFLUSH): Update accordingly.
5867         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
5868         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
5870 2017-07-11  Bruno Haible  <bruno@clisp.org>
5872         More systematic m4 quoting and indentation.
5873         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
5874         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5875         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
5876         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5877         * m4/host-os.m4 (gl_HOST_OS): Likewise.
5878         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
5879         gl_WINSIZE_IN_PTEM): Likewise.
5880         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
5881         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
5882         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5883         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
5884         Correct indentation.
5885         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5886         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5887         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
5888         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5889         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
5890         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5892 2017-07-10  Bruno Haible  <bruno@clisp.org>
5894         round, roundf: Avoid compiler warning in configure test.
5895         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
5896         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5898 2017-07-10  Bruno Haible  <bruno@clisp.org>
5900         getlogin tests: Avoid #ifdefs when sharing code between modules.
5901         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
5902         * modules/getlogin-tests (Files): Likewise. Remove
5903         tests/test-getlogin_r.c.
5904         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
5905         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
5906         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
5907         getlogin().
5909 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
5911         getlogin: don’t assume one name per uid
5912         Problem reported by Wolfgang F. Muthmann (Bug#27640).
5913         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
5914         (ttyname): Remove test.
5915         * modules/getlogin_r-tests (ttyname): Remove test.
5916         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
5917         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
5918         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
5919         getlogin rather than getlogin_r.  This avoids code duplication.
5920         (main): Use isatty and fstat rather than ttyname and stat.
5921         Use getpwnam instead of getpwuid, to be portable to test platforms
5922         that have multiple login names for the same uid.
5924 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
5925             Bruno Haible  <bruno@clisp.org>
5927         glob: Fix more memory leaks.
5928         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
5929         returning.
5930         Reported by Tim Rühsen.
5932 2017-07-10  Bruno Haible  <bruno@clisp.org>
5934         Make sure $host and $host_os are defined when used.
5935         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
5936         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
5937         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
5938         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5939         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5940         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
5941         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
5942         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
5943         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5944         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5945         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
5946         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
5947         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
5948         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
5949         m4_ifdef block.
5951 2017-07-09  Bruno Haible  <bruno@clisp.org>
5953         *printf: Fix cross-compilation guess for Solaris.
5954         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
5955         2010-12-21.
5957 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
5958             Bruno Haible  <bruno@clisp.org>
5960         vasnprintf: port to macOS 10.13
5961         Problem reported by comex in:
5962         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
5963         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
5965 2017-07-06  Bruno Haible  <bruno@clisp.org>
5967         imaxdiv tests: Fix logic.
5968         * tests/test-imaxdiv.c (main): Use == instead of =.
5969         Reported by Coverity.
5971 2017-07-06  Bruno Haible  <bruno@clisp.org>
5973         uninorm/filter: Fix use-after-free bug.
5974         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
5975         sortbuf == filter->sortbuf invariant.
5976         Reported by Coverity.
5978 2017-07-06  Bruno Haible  <bruno@clisp.org>
5980         glob: Fix more memory leaks.
5981         * lib/glob.c (glob): Free dirname before returning.
5982         Reported by Coverity and Tim Rühsen.
5984 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5986         parse-datetime: fix uninit var bug
5987         Reported by Bruno Haible in:
5988         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
5989         * lib/parse-datetime.y (parse_datetime2): Do not use
5990         uninitialized.
5992 2017-07-05  Bruno Haible  <bruno@clisp.org>
5994         doc: Update for MSVC 14.
5995         * doc/posix-headers/*.texi: Add info about MSVC 14.
5996         * doc/posix-functions/*.texi: Likewise.
5997         * doc/pastposix-functions/*.texi: Likewise.
5998         * doc/glibc-headers/*.texi: Likewise.
5999         * doc/glibc-functions/*.texi: Likewise.
6001 2017-07-05  Bruno Haible  <bruno@clisp.org>
6003         sched: Fix build failure on native Windows (regression from 2017-06-19).
6004         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
6006 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
6008         stdioext: Port to OpenVMS.
6009         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
6010         * lib/fpending.c (fpending): Remove non-working VMS specific code.
6011         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
6012         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
6013         * lib/fpurge.c (fpurge): Likewise.
6014         * lib/freadable.c (freadable): Likewise.
6015         * lib/freadahead.c (freadahead): Likewise.
6016         * lib/freading.c (freading): Likewise.
6017         * lib/freadptr.c (freadptr): Likewise.
6018         * lib/freadseek.c (freadseek): Likewise.
6019         * lib/fseeko.c (fseeko): Likewise.
6020         * lib/fseterr.c (fseterr): Likewise.
6021         * lib/fwritable.c (fwriteable): Likewise.
6022         * lib/fwriting.c (fwriting): Likewise.
6024 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
6026         glob: Declare variables at the very start of their scope.
6027         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
6028         its separate scope, so the functions will compile on Haiku.
6030 2017-07-01  Bruno Haible  <bruno@clisp.org>
6032         logbl: Work around a glibc bug on PowerPC64LE.
6033         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
6034         numbers.
6035         * doc/posix-functions/logbl.texi: Update.
6037 2017-06-29  Bruno Haible  <bruno@clisp.org>
6039         stat, fstat: Compile stat-w32.c only on platforms that need it.
6040         Suggested by Paul Eggert.
6041         * modules/stat (configure.ac): Request stat-w32.o only on native
6042         Windows.
6043         * modules/fstat (configure.ac): Likewise.
6045 2017-06-25  Bruno Haible  <bruno@clisp.org>
6047         stat: Improve last change.
6048         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
6050 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
6052         stat: port to xlc 12.01
6053         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
6054         12.01 complains "Compilation unit is empty."
6056 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
6058         xalloc-oversized: port to icc
6059         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
6060         __builtin_mul_overflow if ICC is defined, as this results in
6061         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
6062         20170213.
6064 2017-06-19  Bruno Haible  <bruno@clisp.org>
6066         classpath: Avoid including config.h twice, as it produces warnings.
6067         Reported by John E. Malmberg <wb8tyw@gmail.com>.
6068         * lib/classpath.h: Conditionalize the include of config.h.
6070 2017-06-19  Bruno Haible  <bruno@clisp.org>
6071             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
6073         sched: Fix compilation failure on OpenVMS.
6074         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
6075         test whether <pthread.h> exists and defines struct sched_param.
6076         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
6078 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
6080         diffseq: port to GCC 7 with --enable-gcc-warnings
6081         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
6082         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
6083         not complain about big_snake being defined but not used.
6085 2017-06-15  Bruno Haible  <bruno@clisp.org>
6087         gettext-h: Update theoretical condition for use of variable size arrays.
6088         Reported by Paul Eggert.
6089         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
6090         to include the theoretical condition for availability of variable size
6091         arrays, if we could trust the value of __STDC_VERSION__.
6093 2017-06-12  Bruno Haible  <bruno@clisp.org>
6095         Relicense some modules under LGPLv2+.
6096         Daiki Ueno's approval is in
6097         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
6098         * modules/uniwidth/base (License): Change to LGPLv2+.
6099         * modules/uniwidth/width (License): Likewise.
6101 2017-06-11  Bruno Haible  <bruno@clisp.org>
6103         localename: Fix test failure on DragonFly BSD.
6104         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
6105         like FreeBSD.
6107 2017-06-11  Bruno Haible  <bruno@clisp.org>
6109         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
6110         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
6111         * lib/float.in.h: Likewise.
6112         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
6114 2017-06-11  Bruno Haible  <bruno@clisp.org>
6116         gnulib-tool: Clean up after autotools.
6117         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
6118         useless directory left over by the Autotools.
6120 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
6122         getopt-posix: port to glibc 2.25.90
6123         Problem reported by Daniel P. Berrange in:
6124         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
6125         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
6126         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
6127         #undef if __GETOPT_PREFIX is defined.
6129 2017-06-11  Bruno Haible  <bruno@clisp.org>
6131         strtod-obsolete: Fix license.
6132         * modules/strtod-obsolete (License): Change to LGPL.
6134 2017-06-10  Jim Meyering  <meyering@fb.com>
6136         maint: update to work with GCC7's -Werror=implicit-fallthrough=
6137         * lib/savewd.c (FALLTHROUGH): Define.
6138         (savewd_save, savewd_restore): Use this, rather than a comment,
6139         whenever one switch case falls through into the next.
6141 2017-06-08  Bruno Haible  <bruno@clisp.org>
6143         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
6144         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
6145         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
6146         case.
6148 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
6150         doc: remove robots, add prereqs
6151         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
6152         builds.  Simon's robot site does not seem to be up, so remove
6153         mentions of it for now.
6155 2017-06-08  Bruno Haible  <bruno@clisp.org>
6157         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
6158         * gnulib-tool (func_symlink_target): New function, extracted from
6159         func_symlink.
6160         (func_symlink, func_symlink_if_changed): Use it.
6162 2017-06-08  Bruno Haible  <bruno@clisp.org>
6164         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
6165         * gnulib-tool (func_ln_s): Determine cp_src correctly.
6167 2017-06-07  Bruno Haible  <bruno@clisp.org>
6169         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
6170         Reported by John E. Malmberg <wb8tyw@gmail.com> in
6171         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
6172         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
6173         override, pass 2 arguments to getcwd, not 3.
6175 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
6177         same-inode: port better to VMS 8.2 and later
6178         Problem reported by John E. Malmberg in:
6179         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
6180         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
6181         Use the usual POSIX definition.
6182         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
6184 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6186         error: fix POSIX violation for va_end
6187         Problem reported by Bruno Haible in:
6188         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
6189         * lib/error.c (error_tail): Do not call va_end here.
6190         (error, error_at_line): Call it here instead.
6192 2017-05-28  Bruno Haible  <bruno@clisp.org>
6194         c-strtod: Make it usable in C++ mode.
6195         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
6197 2017-05-25  Jim Meyering  <meyering@fb.com>
6199         quotearg: fix compilation failure due to FALLTHROUGH misuse
6200         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
6201         macro back to /* fall through */ comment.  The macro can apply only
6202         to a following case statement.  Reported by Assaf Gordon.
6204 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
6206         intprops: port to recent icc
6207         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
6208         but does not support __builtin_add_overflow etc.
6209         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
6210         Define to 0.
6212 2017-05-23  Karl Berry  <karl@freefriends.org>
6214         * config/srclist.txt (iconv.m4): sync broken, comment out
6215         until (hopefully) the next gettext release.
6217 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
6219         Remove repeated words in comments.
6221 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
6223         fallthrough: reinstate a FALLTHROUGH instance in quotearg
6224         quotearg.c: Reinstate this instance which is significant
6225         when the if branch is not taken.
6227 2017-05-21  Bruno Haible  <bruno@clisp.org>
6229         gnulib-tool: Add options to create hard links.
6230         * gnulib-tool (func_usage): Document options --hardlink,
6231         --local-hardlink, --more-hardlinks.
6232         (func_symlink): Renamed from func_ln.
6233         (func_symlink_if_changed): Renamed from func_ln_if_changed.
6234         (func_hardlink): New function.
6235         (copymode, lcopymode): New variables.
6236         (symbolic, lsymbolic): Remove variables.
6237         (Options): Implement options --hardlink, --local-hardlink,
6238         --more-hardlinks.
6239         (func_should_link): Renamed from func_should_symlink. Set copyaction.
6240         (func_add_file, func_update_file): Update invocation of
6241         func_should_link. Invoke func_hardlink when appropriate.
6242         (func_import): Update comments.
6243         (func_create_testdir): Update invocation of func_should_link. Invoke
6244         func_hardlink when appropriate.
6245         Finally, invoke 'git update-index --refresh' to mitigate the effects of
6246         the hard links on git.
6248 2017-05-20  Bruno Haible  <bruno@clisp.org>
6250         argp: Simplify bit manipulation.
6251         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
6252         on a signed integer type.
6254 2017-05-20  Bruno Haible  <bruno@clisp.org>
6256         Avoid wrong configure results with gcc -fsanitize=address.
6257         This completes the work done on 2016-02-06 on this topic.
6258         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
6259         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
6260         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
6261         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
6262         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
6263         returning.
6264         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
6265         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
6266         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
6267         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
6268         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
6269         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
6270         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
6271         free allocated memory before returning.
6272         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6273         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
6274         objects before returning.
6275         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
6276         returning.
6278 2017-05-20  Bruno Haible  <bruno@clisp.org>
6280         gnulib-tool: Don't create hard links between gnulib and its testdirs.
6281         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
6283 2017-05-20  Bruno Haible  <bruno@clisp.org>
6285         argp, tsearch tests: Fix file list.
6286         * modules/argp-tests (Files): Add tests/macros.h.
6287         * modules/tsearch-tests (Files): Likewise.
6289 2017-05-20  Bruno Haible  <bruno@clisp.org>
6291         getopt-posix tests: Remove redundant include.
6292         * tests/test-getopt.h: Don't include "macros.h". It's already included
6293         by tests/test-getopt-main.h.
6295 2017-05-19  Jim Meyering  <meyering@fb.com>
6297         dfa: two small simplifications
6298         * lib/dfa.c (build_state): Avoid repeating longer expressions.
6300 2017-05-18  Jim Meyering  <meyering@fb.com>
6302         fallthrough: update for GCC 7/8
6303         * lib/quotearg.c (FALLTHROUGH): New macro.
6304         Use it whenever one switch case falls through into the next,
6305         replacing "/* Fall through */" comments.  This exposed one
6306         instance of an unwarranted "fall through" comment: unwarranted
6307         because it preceded a "goto" label not a case statement.
6308         * lib/freopen-safer.c (freopen_safer): Likewise.
6309         * lib/fts.c (leaf_optimization_applies): Likewise.
6310         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
6311         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
6312         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
6313         tests/macros.h for the definition.
6314         * tests/test-argp.c (group1_parser): Likewise.
6315         * tests/test-getopt.h (getopt_loop): Likewise.
6317 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6319         argp: fix shift bug
6320         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
6321         behavior on shift overflow, caught by gcc -fsanitize=undefined.
6323         argp: fix pointer-subtraction bug
6324         * lib/argp-help.c (hol_append): Don’t subtract pointers to
6325         different arrays, as this can run afoul of -fcheck-pointer-bounds.
6326         See the thread containing Bruno Haible’s report in:
6327         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
6329 2017-05-19  Bruno Haible  <bruno@clisp.org>
6331         printf-posix tests: Avoid test failure with "gcc --coverage".
6332         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
6333         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
6334         than 5000000.
6335         * tests/test-fprintf-posix2.c (main): Likewise.
6337 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6339         closeout: don’t close stderr when sanitizing
6340         * NEWS: Document this.
6341         * lib/closeout.c (__has_feature): New macro, if not already defined.
6342         (SANITIZE_ADDRESS): New constant.
6343         (close_stdout): Don’t close stderr if sanitizing addresses.
6345 2017-05-19  Bruno Haible  <bruno@clisp.org>
6347         get-rusage-data tests: Avoid failure on Linux/glibc.
6348         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
6349         on glibc systems.
6351 2017-05-18  Bruno Haible  <bruno@clisp.org>
6353         localename: Include necessary header files on Cygwin.
6354         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
6355         where NL_LOCALE_NAME is defined.
6357 2017-05-18  Bruno Haible  <bruno@clisp.org>
6359         gettext: Update macros from gettext git.
6360         * m4/intldir.m4: Require Autoconf >= 2.60.
6361         * m4/progtest.m4: Fix typos in copyright notice.
6363 2017-05-18  Bruno Haible  <bruno@clisp.org>
6365         copy-file tests: Fix link error (regression from 2017-05-01).
6366         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6367         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
6368         $(LIB_CLOCK_GETTIME).
6370 2017-05-18  Bruno Haible  <bruno@clisp.org>
6372         unicase/special-casing: Fix incompatibility with gperf-3.0.4
6373         (regression from 2017-02-13).
6374         * lib/unicase/special-casing.in.h: Renamed from
6375         lib/unicase/special-casing.h.
6376         * modules/unicase/special-casing (Files): Add
6377         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
6378         (Makefile.am): Add rule for generating unicase/special-casing.h.
6379         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
6380         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
6381         not "special-casing.h".
6382         * lib/unicase/u*.c: Likewise.
6384 2017-05-17  Bruno Haible  <bruno@clisp.org>
6386         README: Don't ask people to read a TeXinfo file.
6387         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
6388         * README: Tell people how to read the HTML formatted manual.
6390 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
6392         parse-datetime: Fix memleak
6393         * lib/parse-datetime.y (parse_datetime2): Cleanup on
6394         localtime_rz() failure.
6396 2017-05-16  Bruno Haible  <bruno@clisp.org>
6398         javacomp: Fix handle leak.
6399         Found by Coverity.
6400         * lib/javacomp.c (get_classfile_version): Close fd before returning.
6402 2017-05-16  Bruno Haible  <bruno@clisp.org>
6404         relocate: Make it easier to reclaim allocated memory.
6405         * lib/relocatable.h (relocate2): New declaration/macro.
6406         * lib/relocatable.c (relocate2): New function.
6407         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
6408         relocate2 function.
6409         * lib/localcharset.c (relocate2): Define fallback.
6410         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
6411         allocated memory.
6412         * lib/javaversion.c (relocate2): Define fallback.
6413         (javaexec_version): Invoke relocate2 instead of relocate. Free the
6414         allocated memory.
6416 2017-05-16  Bruno Haible  <bruno@clisp.org>
6418         relocate: Simplify EMX specific code.
6419         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
6420         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
6422 2017-05-16  Bruno Haible  <bruno@clisp.org>
6424         sigpipe tests: Fix file list.
6425         * modules/sigpipe-tests (Files): Add tests/macros.h.
6427 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6429         manywarnings: update for GCC 7
6430         * build-aux/gcc-warning.spec:
6431         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
6432         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
6433         requires a non-comment fallthrough attribute.  This is a bit
6434         cleaner than the comment versions.
6435         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
6436         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
6437         Use it whenever one switch case falls through into the next.
6438         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
6439         Use FALLTHROUGH macro.
6441 2017-05-15  Bruno Haible  <bruno@clisp.org>
6443         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
6444         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
6445         @ALLOCA@, not @LTALLOCA@.
6447 2017-05-15  Bruno Haible  <bruno@clisp.org>
6449         sys_select: Avoid "was expanded before it was required" warning.
6450         * modules/sys_select (configure.ac): Require, not invoke,
6451         gl_HEADER_SYS_SELECT.
6453 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
6455         gnulib-tool: improve GNU Make debugging
6456         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
6457         Report autoconf diagnostics when it fails, in the output makefile.
6459 2017-05-14  Bruno Haible  <bruno@clisp.org>
6461         stat-time tests: Improve comment.
6462         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
6464 2017-05-14  Bruno Haible  <bruno@clisp.org>
6466         same-inode: Adapt for windows-stat-inodes.
6467         * lib/same-inode.h: Include <sys/types.h>.
6468         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
6469         * modules/same-inode (Depends-on): Add sys_types.
6471 2017-05-14  Bruno Haible  <bruno@clisp.org>
6473         windows-stat-inodes: New module.
6474         * m4/windows-stat-inodes.m4: New file.
6475         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
6476         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
6477         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
6478         (_GL_WINDOWS_STAT_INODES): New macro.
6479         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
6480         (GetFileInformationByHandleExFunc): New variable.
6481         (initialize): Initialize it.
6482         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
6483         st_ino appropriately.
6484         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
6485         a fallback, because it does not provide st_dev and st_ino values.
6486         * modules/fstat (Depends-on): Add 'verify'.
6487         * modules/windows-stat-inodes: New file.
6488         * doc/windows-stat-inodes.texi: New file.
6489         * doc/gnulib.texi: Include it.
6490         * doc/posix-headers/sys_stat.texi: Mention the new module.
6492 2017-05-14  Bruno Haible  <bruno@clisp.org>
6494         stat-time tests: Workaround for native Windows.
6495         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
6496         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
6497         New variables.
6498         (initialize_filenames): New function.
6499         (main): Invoke it.
6500         (cleanup, prepare_test): Update.
6502 2017-05-14  Bruno Haible  <bruno@clisp.org>
6504         stat-time: Adapt for windows-stat-timespec.
6505         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
6506         entire st_ctim field.
6508 2017-05-13  Jim Meyering  <meyering@fb.com>
6510         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
6511         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
6512         file that uses the assume macro, claiming that verify.h is unused.
6514 2017-05-13  Bruno Haible  <bruno@clisp.org>
6516         Use symbolic values for _WIN32_WINNT.
6517         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
6518         * lib/sethostname.c (_WIN32_WINNT): Likewise.
6520 2017-05-13  Bruno Haible  <bruno@clisp.org>
6522         year2038: New module.
6523         * m4/year2038.m4: New file.
6524         * modules/year2038: New file.
6525         * doc/year2038.texi: New file.
6526         * doc/gnulib.texi: Include it.
6528 2017-05-13  Bruno Haible  <bruno@clisp.org>
6530         largefile: Simplify.
6531         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
6532         of _GL_WINDOWS_64_BIT_ST_SIZE.
6534 2017-05-13  Bruno Haible  <bruno@clisp.org>
6536         largefile: Improve and document.
6537         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
6538         the mingw headers already define 'stat' appropriately.
6539         * modules/largefile (Description): Clarify.
6540         * doc/largefile.texi: New file.
6541         * doc/gnulib.texi: Include it.
6542         * doc/posix-headers/sys_types.texi: Update.
6544 2017-05-13  Bruno Haible  <bruno@clisp.org>
6546         truncate: New module.
6547         * lib/unistd.in.h (truncate): New declaration.
6548         * lib/truncate.c: New file.
6549         * m4/truncate.m4: New file.
6550         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
6551         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
6552         REPLACE_TRUNCATE.
6553         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
6554         HAVE_TRUNCATE, REPLACE_TRUNCATE.
6555         * modules/truncate: New file.
6556         * tests/test-unistd-c++.cc (truncate): Test signature.
6557         * doc/posix-functions/truncate.texi: Mention the new module.
6559         * tests/test-truncate.c: New file.
6560         * modules/truncate-tests: New file.
6562 2017-05-13  Bruno Haible  <bruno@clisp.org>
6564         windows-stat-timespec: New module.
6565         * modules/windows-stat-timespec: New file.
6566         * m4/windows-stat-timespec.m4: New file.
6567         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
6568         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
6569         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
6570         fields st_atim, st_mtim, st_ctim.
6571         (st_atime, st_mtime, st_ctime): Define as macros.
6572         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
6573         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
6574         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
6575         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
6576         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
6577         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
6578         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
6579         FILETIME to 'struct timespec', not 'time_t'.
6580         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
6581         FILETIME to 'struct timespec', not 'time_t'.
6582         * lib/stat-time.h (STAT_TIMESPEC): Define also if
6583         _GL_WINDOWS_STAT_TIMESPEC.
6584         * doc/windows-stat-timespec.texi: New file.
6585         * doc/gnulib.texi: Include it.
6587 2017-05-13  Bruno Haible  <bruno@clisp.org>
6589         windows-stat-override: New module.
6590         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
6591         definition. Define GNULIB_defined_struct_stat.
6592         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
6593         link error if this symbol is used and the corresponding module is not
6594         in use.
6595         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
6596         GNULIB_OVERRIDES_STRUCT_STAT.
6597         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
6598         GNULIB_OVERRIDES_STRUCT_STAT.
6599         * modules/sys_stat (Makefile.am): Substitute
6600         GNULIB_OVERRIDES_STRUCT_STAT.
6601         * modules/windows-stat-override: New file.
6603 2017-05-13  Bruno Haible  <bruno@clisp.org>
6605         fstat: Fix module dependency conditions.
6606         * modules/fstat (Depends-on): Fix typo.
6608 2017-05-13  Bruno Haible  <bruno@clisp.org>
6610         stat, fstat: Complete removal of old native Windows code.
6611         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
6612         * lib/fstat.c: Likewise.
6613         * lib/stat-w32.c: Likewise.
6615 2017-05-13  Bruno Haible  <bruno@clisp.org>
6617         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
6618         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
6620 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
6622         getopt-posix: port to mingw
6623         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
6624         Problem reported by Daniel P. Berrage in:
6625         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
6627 2017-05-11  Bruno Haible  <bruno@clisp.org>
6629         gettimeofday: Increase precision on mingw.
6630         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
6631         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
6632         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
6633         GetSystemTimePreciseAsFileTime based implementation always.
6634         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
6635         mingw.
6637 2017-05-11  Bruno Haible  <bruno@clisp.org>
6639         poll: Fix confusion between SOCKETs and FDs on native Windows.
6640         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
6641         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
6643 2017-05-11  Bruno Haible  <bruno@clisp.org>
6645         doc: Clarify doc about socket functions on native Windows.
6646         This reworks doc that was added on 2008-09-29.
6647         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
6648         clearer wording.
6649         * doc/posix-functions/accept.texi: Use clearer wording.
6650         * doc/posix-functions/bind.texi: Likewise.
6651         * doc/posix-functions/connect.texi: Likewise.
6652         * doc/posix-functions/getpeername.texi: Likewise.
6653         * doc/posix-functions/getsockname.texi: Likewise.
6654         * doc/posix-functions/getsockopt.texi: Likewise.
6655         * doc/posix-functions/ioctl.texi: Likewise.
6656         * doc/posix-functions/listen.texi: Likewise.
6657         * doc/posix-functions/recv.texi: Likewise.
6658         * doc/posix-functions/recvfrom.texi: Likewise.
6659         * doc/posix-functions/send.texi: Likewise.
6660         * doc/posix-functions/sendto.texi: Likewise.
6661         * doc/posix-functions/setsockopt.texi: Likewise.
6662         * doc/posix-functions/shutdown.texi: Likewise.
6663         * doc/posix-functions/socket.texi: Likewise.
6665 2017-05-10  Bruno Haible  <bruno@clisp.org>
6667         poll: Fix link error on native Windows.
6668         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
6670 2017-05-10  Bruno Haible  <bruno@clisp.org>
6672         time: Fix missing initialization of HAVE_TIMEZONE_T.
6673         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
6674         here...
6675         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
6676         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
6677         gl_HEADER_SYS_TIME_H_DEFAULTS.
6678         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
6679         (configure.ac): Remove useless quoting.
6681 2017-05-10  Bruno Haible  <bruno@clisp.org>
6683         Implement a way to opt out from MSVC support, part 2.
6684         * modules/msvc-inval (Include): Document recommended idiom.
6685         * modules/msvc-nothrow (Include): Likewise.
6687         Implement a way to opt out from MSVC support.
6688         This is useful for Emacs.
6689         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
6690         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
6691         * lib/error.c: Likewise.
6692         * lib/fcntl.c: Likewise.
6693         * lib/flock.c: Likewise.
6694         * lib/fstat.c: Likewise.
6695         * lib/fsync.c: Likewise.
6696         * lib/ioctl.c: Likewise.
6697         * lib/isapipe.c: Likewise.
6698         * lib/lseek.c: Likewise.
6699         * lib/nonblocking.c: Likewise.
6700         * lib/poll.c: Likewise.
6701         * lib/select.c: Likewise.
6702         * lib/sockets.h: Likewise.
6703         * lib/sockets.c: Likewise.
6704         * lib/stdio-read.c: Likewise.
6705         * lib/stdio-write.c: Likewise.
6706         * lib/utimens.c: Likewise.
6707         * lib/w32sock.h: Likewise.
6708         * lib/w32spawn.h: Likewise.
6709         * tests/test-cloexec.c: Likewise.
6710         * tests/test-dup-safer.c: Likewise.
6711         * tests/test-dup2.c: Likewise.
6712         * tests/test-dup3.c: Likewise.
6713         * tests/test-fcntl.c: Likewise.
6714         * tests/test-pipe.c: Likewise.
6715         * tests/test-pipe2.c: Likewise.
6716         * lib/ftruncate.c: Likewise.
6717         (chsize_nothrow): Renamed from chsize.
6718         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
6719         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
6720         * lib/close.c: Likewise.
6721         * lib/dup.c: Likewise.
6722         * lib/fclose.c: Likewise.
6723         * lib/raise.c: Likewise.
6724         * tests/test-fgetc.c: Likewise.
6725         * tests/test-fputc.c: Likewise.
6726         * tests/test-fread.c: Likewise.
6727         * tests/test-fwrite.c: Likewise.
6728         * lib/getdtablesize.c: Likewise.
6729         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
6730         * lib/isatty.c: Don't include msvc-inval.h if
6731         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
6732         Include <io.h> as an alternative to msvc-nothrow.h.
6733         * lib/read.c: Likewise.
6734         * lib/write.c: Likewise.
6735         * lib/dup2.c: Likewise.
6736         (dup2_nothrow): New function.
6737         (ms_windows_dup2): Use it.
6738         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
6739         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
6740         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
6741         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
6742         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
6743         * m4/read.m4 (gl_FUNC_READ): Likewise.
6744         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
6745         * doc/windows-without-msvc.texi: New file.
6746         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
6747         section.
6749 2017-05-10  Bruno Haible  <bruno@clisp.org>
6751         wait-process: Adjust native Windows support.
6752         * lib/wait-process.c: Use the usual condition for recognizing a native
6753         Windows platform.
6755 2017-05-10  Bruno Haible  <bruno@clisp.org>
6757         doc: New chapter "Native Windows Support".
6758         * doc/gnulib.texi (Native Windows Support): New chapter.
6759         * doc/windows-libtool.texi: Small wording changes.
6760         * doc/windows-sockets.texi: Small wording and formatting changes.
6762 2017-05-10  Bruno Haible  <bruno@clisp.org>
6764         doc: Move section "Library version handling".
6765         * doc/gnulib.texi: Move section "Library version handling"
6766         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
6768 2017-05-10  Bruno Haible  <bruno@clisp.org>
6770         doc: Move section "Running self-tests under valgrind".
6771         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
6772         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
6774 2017-05-10  Bruno Haible  <bruno@clisp.org>
6776         doc: New chapter "Build Infrastructure Modules".
6777         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
6779 2017-05-10  Bruno Haible  <bruno@clisp.org>
6781         Prepare for reordering sections in the manual.
6782         * doc/gnulib.texi: Move several sections to separate files. Include
6783         these files.
6784         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
6785         * doc/obsolete.texi: Likewise.
6786         * doc/extra-tests.texi: Likewise.
6787         * doc/transversal.texi: Likewise.
6788         * doc/namespace.texi: Likewise.
6789         * doc/check-version.texi: Likewise.
6790         * doc/windows-sockets.texi: Likewise.
6791         * doc/windows-libtool.texi: Likewise.
6792         * doc/licenses-texi.texi: Likewise.
6793         * doc/build-automation.texi: Likewise.
6794         * doc/c-locale.texi: Likewise.
6796 2017-05-10  Bruno Haible  <bruno@clisp.org>
6798         Fix instructions how to update manual on www.gnu.org.
6799         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
6801 2017-05-09  Bruno Haible  <bruno@clisp.org>
6803         tzset: Expand comment about TZ problem on native Windows.
6804         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
6805         Paul Eggert.
6806         * lib/ctime.c (rpl_ctime): Likewise.
6807         * lib/localtime.c (rpl_localtime): Likewise.
6808         * lib/mktime.c (mktime): Likewise.
6809         * lib/strftime-fixes.c (rpl_strftime): Likewise.
6810         * lib/wcsftime.c (rpl_wcsftime): Likewise.
6812 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6814         intprops: don’t depend on ‘verify’
6815         Problem reported by Ævar Arnfjörð Bjarmason in:
6816         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
6817         * lib/intprops.h: Do not include verify.h, and move compile-time
6818         checks from here ...
6819         * tests/test-intprops.c (main): ... to here, if they’re not here
6820         already.  Check widths of other standard integer types.
6821         * modules/intprops (Depends-on): Remove ‘verify’.
6823 2017-05-07  Bruno Haible  <bruno@clisp.org>
6825         utimens: On native Windows, support 100ns resolution also if fd < 0.
6826         * lib/utime.in.h: Include <time.h>.
6827         (_gl_utimens_windows): New declaration.
6828         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
6829         (utime): Invoke it.
6830         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
6831         instead of utime.
6832         * modules/utime (Depends-on): Add 'time'.
6834 2017-05-07  Bruno Haible  <bruno@clisp.org>
6836         utimens: Improve error code on native Windows.
6837         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
6838         error code EACCES, not EINVAL.
6840 2017-05-07  Bruno Haible  <bruno@clisp.org>
6842         utime: Handle more Windows error codes.
6843         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
6844         Based on explanations by Billy O'Neal.
6846 2017-05-05  Bruno Haible  <bruno@clisp.org>
6848         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
6849         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
6850         union.
6851         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
6852         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
6853         value of cipher->IV.
6855 2017-05-05  Bruno Haible  <bruno@clisp.org>
6857         wctype-h-c++-tests: Update.
6858         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
6860 2017-05-05  Bruno Haible  <bruno@clisp.org>
6862         wchar-c++-tests: Update.
6863         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
6865 2017-05-05  Bruno Haible  <bruno@clisp.org>
6867         utime-h-c++-tests: New module.
6868         * tests/test-utime-h-c++.cc: New file.
6869         (utime): Declare, missing since 2017-04-30.
6870         * modules/utime-h-c++-tests: New file.
6872 2017-05-05  Bruno Haible  <bruno@clisp.org>
6874         unistd-c++-tests: Update.
6875         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
6876         (read): Declare, missing since 2011-04-15.
6877         (sethostname): Declare, missing since 2011-12-03.
6879 2017-05-05  Bruno Haible  <bruno@clisp.org>
6881         time-c++-tests: Update.
6882         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
6883         (localtime, gmtime): Declare, missing since 2017-04-30.
6884         (ctime): Declare, missing since 2017-04-30.
6885         (strftime): Declare, missing since 2017-04-30.
6886         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
6887         2015-07-24.
6889 2017-05-05  Bruno Haible  <bruno@clisp.org>
6891         sys_resource-c++-tests: New module.
6892         * tests/test-sys_resource-c++.cc: New file.
6893         (getrusage): Declare, missing since 2012-04-13.
6894         * modules/sys_resource-c++-tests: New file.
6896 2017-05-05  Bruno Haible  <bruno@clisp.org>
6898         strings-c++-tests: New module.
6899         * tests/test-strings-c++.cc: New file.
6900         (ffs): Declare, missing since 2011-07-12.
6901         * modules/strings-c++-tests: New file.
6903 2017-05-05  Bruno Haible  <bruno@clisp.org>
6905         string-c++-tests: Update.
6906         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
6907         (ffsll): Declare, missing since 2011-07-15.
6909 2017-05-05  Bruno Haible  <bruno@clisp.org>
6911         stdlib-c++-tests: Update.
6912         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
6913         2011-10-18.
6914         (ptsname_r): Declare, missing since 2011-11-07.
6915         (qsort_r): Declare, missing since 2014-08-29.
6916         (random, srandom, initstate, setstate): Declare, missing since
6917         2012-01-14.
6918         (secure_getenv): Declare, missing since 2013-02-05.
6920 2017-05-05  Bruno Haible  <bruno@clisp.org>
6922         stdio-c++-tests: Update.
6923         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
6925 2017-05-05  Bruno Haible  <bruno@clisp.org>
6927         signal-h-c++-tests: Update.
6928         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
6930 2017-05-05  Bruno Haible  <bruno@clisp.org>
6932         math-c++-tests: Update.
6933         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
6934         (fma): Declare, missing since 2011-10-17.
6935         (fmal): Declare, missing since 2011-10-17.
6937 2017-05-05  Bruno Haible  <bruno@clisp.org>
6939         locale-c++-tests: Update.
6940         * tests/test-locale-c++.cc (localeconv): Declare, missing since
6941         2012-03-25.
6943 2017-05-05  Bruno Haible  <bruno@clisp.org>
6945         inttypes-c++-tests: New module.
6946         * tests/test-inttypes-c++.cc: New file.
6947         (strtoimax): Declare, missing since 2012-01-05.
6948         (strtoumax): Declare, missing since 2012-01-05.
6949         * modules/inttypes-c++-tests: New file.
6951 2017-05-05  Bruno Haible  <bruno@clisp.org>
6953         dirent-c++-tests: Update.
6954         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
6955         (rewinddir): Declare, missing since 2011-09-13.
6956         (dirfd): Declare, missing since 2010-03-08.
6958 2017-05-04  Bruno Haible  <bruno@clisp.org>
6960         argp: Fix mistake in 2017-04-23 commit.
6961         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
6962         assume that strerror_r returns 'int', not 'char *'.
6964 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
6966         argp: Fix typo.
6967         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
6969 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6971         utimens: port to Emacs + MS-Windows
6972         Skip the new MS-Windows-specific code if Emacs.
6973         * lib/utimens.c [EMACS_CONFIGUATION]:
6974         Avoid new MS-Windows-specific code.
6975         (USE_SETFILETIME): New macro.
6976         (fdutimens): Use it.
6978 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
6980         tzset: update doc for TZ problems on MS-Windows
6981         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
6982         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
6983         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
6984         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
6985         * doc/posix-functions/wcsftime.texi:
6986         Mention some issues with TZ under MS-Windows.
6988 2017-05-01  Bruno Haible  <bruno@clisp.org>
6990         copy-file: Fix build error on mingw.
6991         * modules/copy-file (Depends-on): Add 'close'.
6993 2017-05-01  Bruno Haible  <bruno@clisp.org>
6995         tzset: Work around TZ problem on native Windows.
6996         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
6997         Windows, set REPLACE_TZSET to 1.
6998         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
6999         invoke '_tzset' instead of 'tzset'.
7000         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
7002         * modules/time_rz (Depends-on): Add tzset.
7003         * lib/time_rz.c (tzset): Remove fallback definition.
7004         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
7006 2017-05-01  Bruno Haible  <bruno@clisp.org>
7008         mktime: Fix dependencies.
7009         * modules/mktime (Depends-on): Add 'time'.
7011 2017-05-01  Bruno Haible  <bruno@clisp.org>
7013         New module 'localtime-buffer', split off from module 'gettimeofday'.
7014         * lib/localtime-buffer.h: New file.
7015         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
7016         * lib/time.in.h (tzset): New declaration.
7017         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
7018         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
7019         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
7020         moved to lib/localtime-buffer.c or lib/tzset.c.
7021         * m4/localtime-buffer.m4: New file.
7022         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
7023         HAVE_TZSET, REPLACE_TZSET.
7024         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
7025         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
7026         gl_LOCALTIME_BUFFER_NEEDED.
7027         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
7028         since 2007-01-18.
7029         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
7030         tzset.
7031         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
7032         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
7033         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
7034         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
7035         * modules/localtime-buffer: New file.
7036         * modules/time (Depends-on): Remove 'gettimeofday'.
7037         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
7038         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
7039         * modules/tzset (Description): Enable hyperlink to POSIX spec.
7040         (Files): Add lib/tzset.c.
7041         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
7042         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
7043         gl_TIME_MODULE_INDICATOR.
7044         * modules/gettimeofday (Depends-on): Add localtime-buffer.
7046 2017-05-01  Bruno Haible  <bruno@clisp.org>
7048         copy-file: Preserve sub-second time stamps.
7049         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
7050         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
7051         transport the time stamps from the original file to the destination
7052         file.
7053         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
7054         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
7055         utime-h.
7057 2017-05-01  Bruno Haible  <bruno@clisp.org>
7059         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
7060         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
7061         also on MSVC.
7062         Reported by Eli Zaretskii <eliz@gnu.org>.
7064 2017-05-01  Bruno Haible  <bruno@clisp.org>
7066         wchar: Fix compilation error with the original mingw.org mingw.
7067         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
7068         <stddef.h> instead.
7069         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
7070         gl_WCTYPE_H.
7071         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
7072         gl_TYPE_WINT_T_PREREQ instead.
7073         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
7074         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
7075         Reported by Eli Zaretskii <eliz@gnu.org>.
7077 2017-04-30  Bruno Haible  <bruno@clisp.org>
7079         utimecmp: Add support for native Windows.
7080         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
7082 2017-04-30  Bruno Haible  <bruno@clisp.org>
7084         utimens: Add support for native Windows.
7085         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
7086         (fdutimens): Provide a native Windows implementation, like utime.c with
7087         added tv_nsec support.
7088         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
7089         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
7091 2017-04-30  Bruno Haible  <bruno@clisp.org>
7093         wcsftime: New module.
7094         * lib/wchar.in.h (wcsftime): New declaration.
7095         * lib/wcsftime.c: New file.
7096         * m4/wcsftime.m4: New file.
7097         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
7098         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
7099         HAVE_WCSFTIME, REPLACE_WCSFTIME.
7100         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
7101         HAVE_WCSFTIME, REPLACE_WCSFTIME.
7102         * modules/wcsftime: New file.
7103         * doc/posix-functions/wcsftime.texi: Mention the new module.
7105 2017-04-30  Bruno Haible  <bruno@clisp.org>
7107         strftime-fixes: New module.
7108         * lib/time.in.h (strftime): New declaration.
7109         * lib/strftime-fixes.c: New file.
7110         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
7111         (gl_FUNC_STRFTIME): Remove macro.
7112         * m4/strftime-fixes.m4: New file.
7113         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
7114         REPLACE_STRFTIME.
7115         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
7116         REPLACE_STRFTIME.
7117         * modules/strftime-fixes: New file.
7118         * doc/posix-functions/strftime.texi: Mention the new module.
7120 2017-04-30  Bruno Haible  <bruno@clisp.org>
7122         mktime: Work around TZ problem on native Windows.
7123         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
7124         from the native Windows workaround.
7125         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
7126         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
7127         'guessing no'.
7128         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
7129         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
7130         NEED_MKTIME_WINDOWS.
7131         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
7132         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
7133         NEED_MKTIME_INTERNAL.
7134         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
7135         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
7136         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
7137         not REPLACE_MKTIME.
7138         * doc/posix-functions/mktime.texi: Mention the native Windows
7139         workaround.
7141 2017-04-30  Bruno Haible  <bruno@clisp.org>
7143         localtime: New module.
7144         * lib/time.in.h (localtime): Declare also if requested by module
7145         'localtime'.
7146         * lib/localtime.c: New file.
7147         * m4/localtime.m4: New file.
7148         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
7149         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
7150         * modules/localtime: New file.
7151         * doc/posix-functions/localtime.texi: Mention the new module.
7153 2017-04-30  Bruno Haible  <bruno@clisp.org>
7155         ctime: New module.
7156         * lib/time.in.h (ctime): New declaration.
7157         * lib/ctime.c: New file.
7158         * m4/ctime.m4: New file.
7159         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
7160         REPLACE_CTIME.
7161         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
7162         * modules/ctime: New file.
7163         * doc/posix-functions/ctime.texi: Mention the new module.
7165 2017-04-30  Bruno Haible  <bruno@clisp.org>
7167         gettimeofday: Provide higher resolution on native Windows.
7168         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
7169         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
7170         (initialize): Initialize it.
7171         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
7172         'struct timeval'. Don't use _ftime().
7173         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
7174         <sys/timeb.h> and _ftime.
7176 2017-04-30  Bruno Haible  <bruno@clisp.org>
7178         Document the problem with the Cygwin environment variable TZ.
7179         * doc/posix-functions/tzset.texi: Add note about TZ.
7180         * doc/posix-functions/ctime.texi: Likewise.
7181         * doc/posix-functions/localtime.texi: Likewise.
7182         * doc/posix-functions/mktime.texi: Likewise.
7183         * doc/posix-functions/strftime.texi: Likewise.
7184         * doc/posix-functions/wcsftime.texi: Likewise.
7185         * doc/pastposix-functions/ftime.texi: Likewise.
7187 2017-04-30  Bruno Haible  <bruno@clisp.org>
7189         utime-tests: New module.
7190         * tests/test-utime.c: New file, based on tests/test-utimens.h.
7191         * tests/test-utimens-common.h: Include <sys/stat.h>.
7192         * modules/utime-tests: New file.
7194 2017-04-29  Bruno Haible  <bruno@clisp.org>
7196         utime: New module.
7197         * lib/utime.in.h: Add comment for snippets.
7198         (utime): New declaration.
7199         * lib/utime.c: New file.
7200         * m4/utime.m4: New file.
7201         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
7202         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
7203         REPLACE_UTIME.
7204         * modules/utime-h (Depends-on): Add snippets.
7205         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
7206         Insert snippets.
7207         * modules/utime: New file.
7208         * doc/posix-functions/utime.texi: Mention the new module.
7210 2017-04-29  Bruno Haible  <bruno@clisp.org>
7212         utime-h: Modernize handling of 'struct utimbuf'.
7213         * lib/utime.in.h: Include next <utime.h> if it exists.
7214         (utimbuf): Define to _utimbuf on native Windows.
7215         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
7216         Set UTIME_H on native Windows.
7217         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
7218         * modules/utime-h (Depends-on): Add include_next.
7219         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
7220         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
7222         * lib/utimens.c (utimbuf): Remove fallback definition.
7223         * m4/utimens.m4 (gl_UTIMENS): Don't require
7224         gl_CHECK_TYPE_STRUCT_UTIMBUF.
7225         * m4/utimbuf.m4: Remove file.
7226         * modules/utimens (Files): Remove m4/utimbuf.m4.
7228 2017-04-29  Bruno Haible  <bruno@clisp.org>
7230         Make use of module 'utime-h'.
7231         * modules/copy-file (Depends-on): Add utime-h.
7232         * lib/copy-file.c: Assume that <utime.h> exists.
7233         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
7235         * modules/utimens (Depends-on): Add utime-h.
7236         * lib/utimens.c: Assume that <utime.h> exists.
7238 2017-04-29  Bruno Haible  <bruno@clisp.org>
7240         utime-h: New module.
7241         * m4/utime_h.m4: New file.
7242         * lib/utime.in.h: New file.
7243         * modules/utime-h: New file.
7244         * doc/posix-headers/utime.texi: Mention the new module.
7246         * tests/test-utime-h.c: New file.
7247         * modules/utime-h-tests: New file.
7249 2017-04-30  Bruno Haible  <bruno@clisp.org>
7251         Fix a few typos.
7252         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
7253         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
7254         * doc/posix-functions/fstat.texi: Fix a plural typo.
7255         * doc/posix-functions/stat.texi: Likewise.
7256         * m4/include_next.m4: Update comments.
7258 2017-04-29  Bruno Haible  <bruno@clisp.org>
7260         error: Fix mistake in 2017-04-23 commit.
7261         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
7262         assume that strerror_r returns 'int', not 'char *'.
7264 2017-04-29  Bruno Haible  <bruno@clisp.org>
7266         stat: Fix time_t values and other problems on native Windows platforms.
7267         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
7268         implementations of stat().
7269         * lib/stat.c: Include filename.h instead of dosname.h. Include
7270         malloca.h, stat-w32.h.
7271         (is_unc_root): New function.
7272         (rpl_stat): New implementation for native Windows. Remove
7273         REPLACE_FUNC_STAT_DIR code.
7274         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
7275         Don't define REPLACE_FUNC_STAT_DIR.
7276         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
7277         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
7278         (Depends-on): Remove dosname. Add filename, malloca.
7279         (configure.ac): Also compile lib/stat-w32.c.
7281 2017-04-29  Bruno Haible  <bruno@clisp.org>
7283         fstat: Fix time_t values on native Windows platforms.
7284         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
7285         * lib/stat-w32.h: New file.
7286         * lib/stat-w32.c: New file.
7287         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
7288         stat-w32.h instead.
7289         (fstat_nothrow): Remove function.
7290         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
7291         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
7292         always.
7293         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
7294         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
7295         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
7296         (configure.ac): Also compile lib/stat-w32.c.
7298 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
7300         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
7301         Problem reported by Assaf Gordon and Gavin Smith in:
7302         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
7303         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
7304         #define this, too.
7306 2017-04-29  Bruno Haible  <bruno@clisp.org>
7308         strerror_r-posix: Fixes for MSVC 14.
7309         * lib/strerror_r.c: Include <stdarg.h>.
7310         (strerror_r): Provide error messages for errno values 100...140.
7311         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
7313 2017-04-28  Bruno Haible  <bruno@clisp.org>
7315         noreturn: New module.
7316         * lib/noreturn.h: New file.
7317         * modules/noreturn: New file.
7318         * tests/test-noreturn.c: New file.
7319         * modules/noreturn-tests: New file.
7320         * tests/test-noreturn-c++.cc: New file.
7321         * modules/noreturn-c++-tests: New file.
7323 2017-04-27  Bruno Haible  <bruno@clisp.org>
7325         wctype-h: Fix compilation error with the original mingw.org mingw.
7326         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
7327         HAVE_CRTDEFS_H.
7328         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
7329         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
7330         <stddef.h> instead.
7331         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
7333 2017-04-26  Pádraig Brady  <P@draigBrady.com>
7335         nap.h: Fix compilation on non windows platforms
7336         * tests/nap.h: Move misplaced endif.
7338 2017-04-26  Pádraig Brady  <P@draigBrady.com>
7339         and Paul Eggert  <eggert@cs.ucla.edu>
7341         time_rz: fix heap buffer overflow vulnerability
7342         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
7343         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
7344         whether there is enough buffer space available, thus avoiding
7345         the problematic promotion of signed to unsigned causing an invalid
7346         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
7347         the start of the buffer.
7348         * tests/test-parse-datetime.c (main): Add a test case written by
7349         Paul Eggert, which overwrites enough of the heap so that
7350         standard glibc will fail with "free(): invalid pointer"
7351         without the patch applied.
7353 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
7355         xalloc: add missing integer overflow check
7356         * lib/xalloc.h (x2nrealloc): Also check for multiplication
7357         overflow when P is null.
7359 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7361         parse-datetime: make it standalone
7362         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
7363         (_GL_ATTRIBUTE_FORMAT): New macro.
7364         These are needed to get './gnulib-tool --test parse-datetime' to work.
7366 2017-04-23  Bruno Haible  <bruno@clisp.org>
7368         nap.h: Port to native Windows.
7369         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
7370         use nap_fd instead. On native Windows, close and reopen nap_fd.
7371         (nap_works): Don't compare the ctimes, because on native Windows, these
7372         are the creation times.
7373         (nap): Update.
7375 2017-04-23  Bruno Haible  <bruno@clisp.org>
7377         nap.h: Fix logic.
7378         * tests/nap.h (nap): Avoid signed integer overflow in loop.
7380 2017-04-23  Bruno Haible  <bruno@clisp.org>
7382         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
7383         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
7384         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
7385         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
7386         * lib/argp-help.c (__argp_failure): Likewise.
7388 2017-04-23  Bruno Haible  <bruno@clisp.org>
7390         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
7391         * m4/strerror_r.m4: Revert changes since 2016-10-16.
7392         * lib/strerror_r.c: Likewise.
7394 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
7396         Target a C99 subset, not a C89 subset
7397         For many years Gnulib has targeted C89 and has resisted using C99
7398         features, as some Gnulib-using programs still wanted to target
7399         C89.  As this no longer seems to be the case, relax the porting
7400         requirements to allow some C99 features.  This is merely a change
7401         to the documentation, to give other Gnulib developers a chance to
7402         weigh in on the topic.
7403         * doc/extern-inline.texi (extern inline):
7404         * doc/gnulib-readme.texi (Portability guidelines):
7405         * doc/gnulib-tool.texi (Initial import):
7406         * doc/gnulib.texi (Header files):
7407         Modernize to talk about C99 and C11 instead of C89 and C99.
7408         * doc/gnulib-readme.texi (Portability guidelines):
7409         Now a section, not merely a subsection, so that it
7410         can be split up.  Modernize a bit.
7411         (C language versions, C99 features assumed)
7412         (C99 features avoided):
7413         New sections.
7415 2017-04-23  Bruno Haible  <bruno@clisp.org>
7417         doc: New section "Modules that modify the way other modules work".
7418         * doc/gnulib.texi (Modules that modify the way other modules work): New
7419         section.
7421 2017-04-23  Bruno Haible  <bruno@clisp.org>
7423         stat-time: Update comments.
7424         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
7425         * tests/test-utimens-common.h: Add reference regarding st_ctime on
7426         Windows.
7428 2017-04-01  Bruno Haible  <bruno@clisp.org>
7430         glob: Fix more memory leaks.
7431         * lib/glob.c (glob): Free allocated memory before returning.
7432         Reported by Coverity via Tim Rühsen.
7434 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7436         poll: improve fast check for out-of-range NFD
7437         * lib/poll.c: Do not include intprops.h.
7438         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
7439         * modules/poll (Depends-on): Remove intprops.
7441         ftoastr: cite a newer paper
7442         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
7443         instead of Loitsch 2010.
7445 2017-04-22  Bruno Haible  <bruno@clisp.org>
7447         poll: Enable argument check also in the Windows implementation.
7448         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
7449         Reported by Paul Eggert.
7451 2017-04-22  Bruno Haible  <bruno@clisp.org>
7453         getlogin_r: Work around bug in Mac OS X 10.12.
7454         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
7455         bug.
7456         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
7457         given size minus 1, call getlogin_r a second time, on a larger buffer.
7458         * modules/getlogin_r (Depends-on): Add malloca.
7459         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
7461 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7463         parse-datetime: fix %z and prefer signed int
7464         %z problem reported by Pádraig Brady in:
7465         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
7466         While fixing it, I decided to prefer signed ints to size_t, as
7467         they are less error-prone (e.g., ubsan catches overflow).
7468         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
7469         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
7470         counts, since signed integers make for better debugging.
7471         (date): Don’t assume %z works in printf formats.
7472         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
7473         sizes of buffers known to be small, e.g., because we’re using snprintf.
7474         (parse_datetime2): Simplify call to debug_mktime_not_ok.
7476 2017-04-22  Bruno Haible  <bruno@clisp.org>
7478         *printf: Work around rounding bug on Mac OS X.
7479         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
7480         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
7481         Mac OS X and FreeBSD.
7482         * doc/glibc-functions/*printf.texi: Likewise.
7484 2017-04-22  Bruno Haible  <bruno@clisp.org>
7486         vasnprintf tests: Avoid warnings.
7487         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
7488         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
7489         test.
7491 2017-04-22  Bruno Haible  <bruno@clisp.org>
7493         sys_file tests: Avoid warning.
7494         * tests/test-sys_file.c (main): Add a default clause to the switch
7495         statement.
7497 2017-04-22  Bruno Haible  <bruno@clisp.org>
7499         sethostname: Update doc.
7500         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
7501         Mac OS X.
7503 2017-04-22  Bruno Haible  <bruno@clisp.org>
7505         quotearg tests: Avoid warnings.
7506         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
7507         false.
7509 2017-04-22  Bruno Haible  <bruno@clisp.org>
7511         poll: Enable argument check.
7512         * lib/poll.c: Include intprops.h.
7513         (poll): Check value of nfd correctly.
7514         * modules/poll (Depends-on): Add intprops.
7516 2017-04-22  Bruno Haible  <bruno@clisp.org>
7518         get-rusage-data: Avoid warnings on Mac OS X.
7519         * lib/get-rusage-data.c: On Mac OS X, don't define
7520         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
7521         (get_rusage_data) [Mac OS X]: Just return 0.
7523 2017-04-22  Bruno Haible  <bruno@clisp.org>
7525         xbinary-io: Fix build error.
7526         * modules/xbinary-io (Depends-on): Add gettext-h.
7527         * lib/xbinary-io.c: Include gettext.h and define _().
7528         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7529         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
7531 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7533         parse-datetime: overflow and debug cleanups
7534         This long patch was triggered by this bug report from Ruediger Meier:
7535         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
7536         I fixed the bug he noted, then found some others nearby, and then
7537         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
7538         up some of the code to follow GNU standards while I was at it.
7539         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
7540         use c_isdigit.
7541         (EPOCH_YEAR): Remove; unused.
7542         (TM_YEAR_BASE): Now an enum rather than a macro.
7543         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
7544         time zone offset, since timezones now are in terms of seconds and
7545         not minutes.
7546         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
7547         appropriate.  Verify that intmax_t is wide enough.
7548         (time_overflow, time_zone_str): New functions, used to deal
7549         more reliably with overflow.
7550         (dbg_printf): Add printf attribute, to help catch integer width errors.
7551         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
7552         (%union, to_hour, yylex, parse_datetime2):
7553         Use intmax_t instead of long int and/or long_time_t.
7554         All uses changed.
7555         (DBGBUFSIZE): Move earlier.
7556         (relative_time, set_hhmmss, parser_control):
7557         Just use int for nanoseconds and for time zones; that’s wide enough.
7558         (parser_control): Use bool for members like year_seen that can
7559         be booleans instead of counters.  All uses changed.
7560         Remove debug_default_input_timezone; no longer needed.
7561         All uses removed.
7562         (apply_relative_time): Return a bool overflow flag.
7563         All uses changed to check for overflow.
7564         (apply_relative_time, zone, date, relunit, relunit_snumber)
7565         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
7566         Check for integer overflow portably.
7567         (str_days): Use just int for N, as it’s wide enough.
7568         Prefer 2D char arrays to arrays of char * when it looks like
7569         2D is a win on typical platforms.
7570         Prefer snprintf to strncpy/strncat, for simplicity;
7571         all buffers are smaller than INT_MAX so this is safe.
7572         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
7573         (debug_print_current_time): Don’t assume tv_nsec is of type long,
7574         as this is not true on x32.  Output "." before any nanoseconds.
7575         (debug_print_current_time, parse_datetime2):
7576         Output local zones using a more-consistent format.
7577         (debug_print_current_time, date, parse_datetime2):
7578         (main) [TEST]:
7579         Don’t assume time_t is the same width as long.
7580         (print_rel_part): New function, replacing ...
7581         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
7582         (debug_print_relative_time): Use bool for boolean.
7583         (local_zone): dsts_seen now counts only tDST instances.
7584         (date): Fix printf of size_t to use %z.  Do not assume numeric
7585         tokens have negative values merely because the context suggests
7586         a syntax with "-" separating tokens.
7587         (time_zone_hhmm): Return bool success indicator, which checks for
7588         overflow.  Store result into PC->time_zone instead.  All callers
7589         changed.
7590         (tm_year_str): New function.  Return a bool success indicator and
7591         store the result into a buffer.  All callers changed.  Output the
7592         numerically correct string even if adding 1900 to the year would
7593         overflow.
7594         (to_tm_year): New function, replacing the old to_year.  All
7595         callers changed.
7596         (tm_diff): Sync with glibc.
7597         (lookup_word): Use to_uchar instead of doing it by hand.
7598         (TZBUFSIZE): Now local to the only function that needs it.
7599         (debug_strfdatetime): Simplify now that time zones are int seconds.
7600         (debug_strfdate): Work even if tm_year + 1900 would overflow.
7601         (get_effective_timezone): Remove.  All uses removed.
7602         (parse_datetime2): Use fprintf in pieces instead of snprintfing
7603         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
7604         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
7605         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
7606         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
7607         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
7608         * modules/parse-datetime (Depends-on): Add inttypes.
7610 2017-04-21  Bruno Haible  <bruno@clisp.org>
7612         gettext-h: Avoid -Wundef warning.
7613         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
7614         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
7615         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
7617 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
7619         error: Avoid "function declaration isn't a prototype" warning.
7620         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
7622 2017-04-21  Bruno Haible  <bruno@clisp.org>
7624         vasnprintf: Fix for MSVC 14.
7625         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
7626         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
7627         of !HAVE_SNPRINTF_RETVAL_C99.
7629 2017-04-21  Bruno Haible  <bruno@clisp.org>
7631         mbrtowc tests: Fix test failures on MSVC 14.
7632         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
7633         behaviour for invalid input.
7635 2017-04-21  Bruno Haible  <bruno@clisp.org>
7637         mbsinit: Fix for MSVC 14.
7638         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
7639         implementation that is in sync with mbrtowc.c. On other platforms, use
7640         an adequate ad-hoc implementation.
7642 2017-04-21  Bruno Haible  <bruno@clisp.org>
7644         Fix test-mbrtowc5.sh failure on native Windows.
7645         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
7646         "C".
7648 2017-04-21  Bruno Haible  <bruno@clisp.org>
7650         Avoid accidental use of native Windows APIs on Cygwin.
7651         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
7652         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
7653         * lib/localename.c (WINDOWS_NATIVE): Likewise.
7655 2017-04-20  Bruno Haible  <bruno@clisp.org>
7657         Remove red warnings from the generated MODULES.html.
7658         * modules/fcntl (Description): Disambiguate function references.
7659         * modules/getcwd-lgpl (Description): Likewise.
7660         * modules/hostent (Description): Likewise.
7661         * modules/servent (Description): Likewise.
7662         * modules/tempname (Description): Likewise.
7664 2017-04-20  Bruno Haible  <bruno@clisp.org>
7666         verify tests: Fix spurious failure with parallel make.
7667         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
7668         EXTRA_PROGRAMS.
7669         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
7670         * tests/test-verify-try.c: New file.
7671         * modules/verify-tests (Files): Add it.
7672         (EXTRA_PROGRAMS): Add test-verify-try.
7673         (MOSTLYCLEANFILES): Update accordingly.
7674         Reported by Adam James Stewart <ajstewart@anl.gov>.
7676 2017-04-18  Bruno Haible  <bruno@clisp.org>
7678         vma-iter: Fix compilation error on Solaris 7.
7679         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
7680         like on IRIX, OSF/1.
7681         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7683 2017-04-18  Bruno Haible  <bruno@clisp.org>
7685         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
7686         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
7687         included.
7688         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
7689         <sys/procfs.h>.
7690         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
7691         <sys/procfs.h> cannot be included.
7692         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7694 2017-04-18  Bruno Haible  <bruno@clisp.org>
7696         getopt-gnu: Add comments.
7697         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
7698         * modules/getopt-gnu (configure.ac): Likewise.
7700 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
7702         regex: port better to Solaris 10
7703         Solaris 10 <locale.h> includes <libintl.h>, which #defines
7704         gettext, and this causes a double #define.
7705         Problem reported by Gavin Smith in:
7706         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
7707         * lib/regex_internal.h (gettext): #undef before #defining.
7709 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7711         intprops: improve comments
7712         * lib/intprops.h: Improve and shorten commentary.
7713         For the record, if we ever run into a pedantic compiler that
7714         behaves differently from GCC when converting an out-of-range value
7715         to a signed integer, we can work around the problem with something
7716         like the following code, where UCT is the signed counterpart of T
7717         (UCT is sometimes narrower than UT) and all callers are changed
7718         accordingly:
7719         #if __SUNPRO_C <= 0x5120
7720         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
7721            ((t) ((ut) (a) op (ut) (b)))
7722         #else
7723         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
7724            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
7725             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
7726                + TYPE_MINIMUM (t)) \
7727             : (t) (uct) ((ut) (a) op (ut) (b)))
7728         #endif
7730 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7732         intprops: try to avoid tickling similar bugs
7733         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
7734         needs to be the same width as T; it can be wider.
7735         Change callers so that UT is at least as wide as unsigned int,
7736         as I suspect that this is less likely to run into compiler bugs.
7738         intprops: port to Oracle Studio 12.3 x86
7739         Problem reported by Gavin Smith in:
7740         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
7741         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
7742         Convert unsigned to signed via the usual rather than the standard way,
7743         to avoid a compiler bug in Oracle Studio 12.3 x86.
7745 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7747         getopt: prefer - to _ in new file names
7748         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
7749         * lib/getopt-core.h: Rename from lib/getopt_core.h.
7750         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
7751         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
7752         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
7753         All uses changed.
7755         getopt: port recent getopt changes to macOS
7756         Problem reported by Harald Maier (Bug#26398).
7757         The macOS C compiler uses __nonnull for its own purposes and that
7758         clashes with glibc's __nonnull.
7759         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
7760         * lib/getopt_cdefs.in.h (__nonnull): Remove.
7761         * lib/getopt_core.h (getopt):
7762         * lib/getopt_ext.h (getopt_long, getopt_long_only):
7763         Use _GL_ARG_NONNULL, not __nonnull.
7764         * lib/unistd.in.h: Move snippet hooks to before where the getopt
7765         .h files are included, so that _GL_ARG_NONNULL is defined in time.
7766         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
7767         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
7769 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
7771         getopt-gnu: omit some duplicate code
7772         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
7773         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
7774         gnulib-tool already does this.
7775         * modules/getopt-gnu (configure.ac): Omit code duplicated from
7776         getopt-posix, which we depend on.
7778         getopt-posix: use angle-bracket include
7779         * lib/getopt1.c: Include <config.h>, not "config.h".
7781 2017-04-06  Zack Weinberg  <zackw@panix.com>
7783         getopt: annotate files with relationship to glibc
7785         As the final act in this patchset, adjust the message at the top of
7786         each file to indicate which files are synced with glibc.  (This has
7787         already been done for most of the headers.)
7789         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
7790         Mention in top-of-file boilerplate that these files are shared
7791         between glibc and gnulib.
7794         getopt: split up getopt.in.h and eliminate __need_getopt
7796         Over in glibc, all of the __need macros are being phased out in favor
7797         of small headers that declare only the necessary components, as this
7798         is much simpler and less prone to bugs.  As getopt is shared with
7799         glibc, gnulib needs to do the same for __need_getopt.
7801         __need_getopt is misnamed; what it really means is "we want only the
7802         getopt features specified in POSIX, not the GNU extensions".  glibc
7803         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
7804         these files can be shared verbatim with gnulib.  The portability
7805         wrapper, on the other hand, they have renounced altogether; glibc's
7806         getopt.h will no longer be shared with gnulib at all.  In exchange,
7807         certain glibc-specific quirks (having to do with __posix_getopt) no
7808         longer need appear in gnulib's headers at all.
7810         This patch merges getopt_core.h and getopt_ext.h from glibc, and
7811         splits up the current gnulib-side portability wrapper into three
7812         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
7813         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
7814         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
7815         unistd.in.h just use them.  All new files are clearly marked with
7816         whether they are shared with glibc.
7818         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
7819         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
7820         with glibc, and ...
7821         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
7822         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
7823         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
7824         instead of defining __need_getopt and including the full getopt.h.
7826         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
7827         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
7828         * modules/getopt-posix (Files): Add new headers and sort list.
7829         (Depends-on): No longer need snippet/arg-nonnull.
7830         (Makefile.am): Generate getopt_cdefs.h.
7833         getopt: better handling of ambiguous options
7835         glibc's getopt uses alloca to construct a linked list of possibilities
7836         for an "ambiguous" long option.  In gnulib, malloc should be used
7837         instead.  Providing for both cases complicates things a fair bit.
7839         This patch rewrites ambiguous-option handling to use a boolean vector
7840         instead of a linked list.  There is then only one allocation that
7841         might need freeing; in glibc it can honor __libc_use_alloca as usual,
7842         and in gnulib we define __libc_use_alloca to always be false, so we
7843         don't need ifdefs in the middle of the function.  This should also be
7844         slightly more efficient in the normal case of long options being fully
7845         spelled out -- I think most people aren't even aware they _can_
7846         sometimes abbreviate long options.
7848         One interesting consequence is that the list of possibilities is now
7849         printed in exactly the order they appear in the list of long options,
7850         instead of the first possibility being shuffled to the end.
7852         (The patch looks bigger than it really is because there's a fair bit
7853         of reindentation and code rearrangement.)
7855         * lib/getopt.c: When used standalone, define __libc_use_alloca
7856         as always false and alloca to abort if called.
7857         (process_long_option): Rewrite handling of ambiguous long options
7858         to use a single boolean vector, not a linked list; use
7859         __libc_use_alloca to decide whether to allocate this using alloca.
7862         getopt: refactor long-option handling
7864         There were two copies of the bulk of the code to handle long options.
7865         Now there is only one.
7867         This change temporarily removes the logic to avoid using alloca when
7868         standalone; the next patch in the series will restore it.
7870         * lib/getopt.c (process_long_option): New function split out
7871         from _getopt_internal_r.
7872         (_getopt_internal_r): Replace both copies of the long-option
7873         processing code with calls to process_long_option.
7876         getopt: tidy up _getopt_initialize a bit
7878         _getopt_data.__posixly_correct is completely redundant to
7879         _getopt_data.__ordering, and some work that logically belongs in
7880         _getopt_initialize was being done by _getopt_internal_r, making the
7881         code harder to understand.
7883         As a side effect, getenv will no longer be called if the first
7884         character of the options string is '+' or '-', which is probably a
7885         Good Thing.  (Perhaps we should have a flag character that
7886         specifically asks for the permutation behavior?)
7888         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
7889         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
7890         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
7893         getopt: merge from glibc: repetition reduction
7895         The definitions of the entry point functions 'getopt' and
7896         '__posix_getopt' can be made substantially less repetitive with a
7897         helper macro.
7899         While I was merging the const-correctness changes from gnulib into
7900         glibc I noticed there are still some unnecessary casts in
7901         _getopt_internal_r.
7903         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
7904         a macro.  Consistently cast 'argv' to 'char **' when calling
7905         _getopt_internal.
7906         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
7909         getopt: clean up error reporting
7911         getopt can print a whole bunch of error messages, and when used
7912         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
7913         cancellation point and getopt isn't, and also applying fprintf to a
7914         stream in wide-character mode is not allowed.  So every single error
7915         reporting case has an #ifdef _LIBC block in which it calls internal
7916         libc functions instead.  The counterpart patch series in glibc makes
7917         it possible to simplify all of that down to a set of #defines at the
7918         top of the file; core code is written as if it is safe to just call
7919         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
7920         call any *other* stdio functions.)
7922         * lib/getopt.c: When _LIBC is defined, define fprintf to
7923         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
7924         to _IO_funlockfile.  When neither _LIBC nor
7925         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
7926         funlockfile as no-ops.
7927         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
7928         standalone error-printing code can now be used for libc as well.
7929         Add an flockfile/funlockfile pair around one case where the error
7930         message is printed in several chunks.  Don't use fputc.
7933         getopt: fix fencepost error in ambiguous-W-option handling
7935         getopt_long contains an undocumented (AFAICT) feature in which, if you
7936         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
7937         treated as equivalent to '--foo'.  This is implemented with a partial
7938         second copy of the code for handling long options, and that code
7939         increments optind one too many times when recovering from an ambiguous
7940         abbreviated option, which can cause the main loop to walk past the end
7941         of argv and crash.
7943         I discovered this while writing a test case that tries to exercise all
7944         of getopt's error reporting paths; I wouldn't be surprised to learn
7945         that this feature is never used by real applications.
7947         * lib/getopt.c (_getopt_internal_r): Don't increment
7948         d->optind a second time when reporting ambiguous -W options.
7951         getopt: clean up getopt.c and getopt1.c file headers
7953         In getopt.c, there is no need to include wchar.h at all, and it is
7954         safe nowadays to assume that stdlib.h does declare getenv (several
7955         other gnulib modules make this assumption).
7957         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
7958         by using "" inclusions consistently, and there is no actual need to
7959         include stdlib.h (except in the #ifdef TEST block, where it should be
7960         unconditional), nor to provide a backup definition of NULL at all.
7962         * lib/getopt1.c: Simplify #ifdeffage at top of file.
7963         Move inclusion of stdlib.h to #ifdef TEST block and make
7964         unconditional.  Do not define NULL.
7965         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
7966         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
7967         * modules/getopt-gnu, modules/getopt-posix: Don't call
7968         gl_PREREQ_GETENV.
7971         getopt: harmonize comments with glibc
7973         The comments explaining how the behavior of 'getopt' varies depending
7974         on whether it's the standalone version and whether there are special
7975         characters at the beginning of the options string were inconsistent
7976         between gnulib and glibc, and also out of sync with the code.
7978         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
7981         getopt: remove USE_NONOPTION_FLAGS
7983         getopt includes code to parse an environment variable named
7984         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
7985         in decimal); but all of it has been #ifdefed out since 2001, with no
7986         official way to turn it back on.
7988         According to commentary in glibc's config.h.in, bash version 2.0
7989         set this environment variable to indicate argv elements that were
7990         the result of glob expansion and therefore should not be treated
7991         as options, but the feature was "disabled later" because "it
7992         caused problems".  According to bash's CHANGES file, "later" was
7993         release 2.01; it gives no more detail about what the problems
7994         were.
7996         Version 2.0 of bash was released on the last day of 1996, and version
7997         2.01 in June of 1997.  Twenty years later, I think it is safe to
7998         assume that this environment variable isn't coming back.
8000         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
8001         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
8002         __libc_argc and __libc_argv externs, which were only used by
8003         #ifdef USE_NONOPTION_FLAGS blocks.
8006         getopt: tabify, in preparation for merge with glibc
8008         glibc sticks to the GNU default of indenting with a mix of
8009         8-column tabs and spaces; make the gnulib copy match.
8011         getopt.h is not included because it is *not* going to be merged in its
8012         present form.
8014         * getopt.c, getopt1.c, getopt_int.h: Tabify.
8016 2017-04-02  Bruno Haible  <bruno@clisp.org>
8018         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
8019         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
8020         like it was done in modules/relocatable-lib on 2011-05-21 and in
8021         modules/relocatable-prog on 2011-08-15.
8022         Reported by Reuben Thomas <rrt@sc3d.org>.
8024 2017-03-31  Bruno Haible  <bruno@clisp.org>
8026         glob: Fix invalid free() call.
8027         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
8028         static storage to home_dir.
8029         Reported by Coverity via Tim Rühsen.
8031 2017-03-31  Bruno Haible  <bruno@clisp.org>
8033         glob: Fix memory leaks.
8034         * lib/glob.c (glob): Free allocated memory before returning.
8035         Reported by Coverity via Tim Rühsen.
8037 2017-03-31  Bruno Haible  <bruno@clisp.org>
8039         md5, sha1, sha256, sha512: Add comments regarding correctness.
8040         * lib/md5.h (buflen): Add comments regarding range.
8041         * lib/sha1.h (buflen): Likewise.
8042         * lib/sha256.h (buflen): Likewise.
8043         * lib/sha512.h (buflen): Likewise.
8044         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
8045         * lib/sha1.c (sha1_process_bytes): Likewise.
8046         * lib/sha256.c (sha256_process_bytes): Likewise.
8047         * lib/sha512.c (sha512_process_bytes): Likewise.
8048         Reported by Coverity via Tim Rühsen.
8050 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
8052         getopt: merge from glibc
8053         This does not change anything substantial; it merely simplifies
8054         hypothetical merges back to glibc.
8055         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
8056         Change copyright notice to match what is in glibc.
8057         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
8058         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
8059         __open_memstream rather than open_memstream and __glibc_likely
8060         instead of __builtin_expect.
8061         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
8063 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
8065         dfa: make [0-9] faster in non-C locales
8066         Problem reported by John P. Linderman (Bug#26193).
8067         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
8068         If both ends of the range are ASCII digits, do not worry about
8069         multi-character collating sequences and the like.  Be consistent
8070         about using isalpha as a precondition for setbit_case_fold_c.
8072 2017-03-19  Bruno Haible  <bruno@clisp.org>
8074         lock: Fix compilation error with HP-UX IA64 cc.
8075         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
8076         weak on non-glibc platforms.
8078 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8080         stdalign: tweak version# and test for HP-UX IA64
8081         Problems reported by Bruno Haible in:
8082         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
8083         * lib/stdalign.in.h (_Alignas):
8084         * m4/stdalign.m4 (gl_STDALIGN_H):
8085         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
8086         used octal (as that is how they document it), but it is decimal in
8087         practice now and the ancient implementations no longer matter.
8088         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
8090 2017-03-19  Bruno Haible  <bruno@clisp.org>
8092         vma-iter: Add support for Solaris.
8093         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
8094         approach.
8095         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
8096         * lib/get-rusage-as.c: Update comment about Solaris.
8097         * lib/get-rusage-data.c: Likewise.
8099 2017-03-19  Bruno Haible  <bruno@clisp.org>
8101         vma-iter: Prefer HP-UX specific API on HP-UX.
8102         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
8103         * lib/vma-iter.h: Update.
8104         Just in case HP-UX ever implements mquery().
8106 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
8108         stdalign: restore previous behavior for HP-UX IA64
8109         See Bruno Haible's email in:
8110         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
8111         which cites p 150 of a manual saying that 'aligned' works on Itanium.
8112         * lib/stdalign.in.h (_Alignas):
8113         Assume the '061200' applies to Itanium, not to PA-RISC.
8114         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
8116 2017-03-17  Bruno Haible  <bruno@clisp.org>
8118         stat-time, timespec: Support use of the header files in C++ mode.
8119         * lib/stat-time.h: Add "C" linkage declaration.
8120         * lib/timespec.h: Likewise.
8122 2017-03-17  Bruno Haible  <bruno@clisp.org>
8124         stdalign: Make it work with HP-UX cc.
8125         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
8126         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
8127         for HP-UX cc.
8129 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
8131         flexmember: try to detect HP-UX 11.31 cc bug
8132         Problem reported by Bruno Haible in:
8133         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
8134         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8135         Attempt to detect bug in HP-UX 11.31 cc.
8137 2017-03-16  Bruno Haible  <bruno@clisp.org>
8139         stdint: Fix test compilation failure with HP-UX 11 cc.
8140         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
8141         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
8142         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
8143         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
8145 2017-03-14  Bruno Haible  <bruno@clisp.org>
8147         gnulib-tool: Don't produce a tests directory with only snippet .h files.
8148         * gnulib-tool (func_modules_transitive_closure_separately): If
8149         testsrelated_modules ends up with no "real" modules, aside from
8150         modules with applicability 'all', set it to empty.
8152 2017-03-14  Bruno Haible  <bruno@clisp.org>
8154         vma-iter: Add support for HP-UX.
8155         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
8156         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
8157         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
8158         * lib/get-rusage-as.c: Update comment about HP-UX.
8159         * lib/get-rusage-data.c: Likewise.
8160         (get_rusage_data): Use get_rusage_data_via_setrlimit.
8162 2017-03-14  Bruno Haible  <bruno@clisp.org>
8164         limits-h: Make it work with HP-UX cc.
8165         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
8166         defined.
8168 2017-03-14  Bruno Haible  <bruno@clisp.org>
8170         Fix test failures on DragonFlyBSD.
8171         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
8172         * tests/test-select.h (test_bad_fd): Likewise.
8173         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
8175 2017-03-14  Bruno Haible  <bruno@clisp.org>
8177         freadahead: Silence warning on DragonFlyBSD.
8178         * lib/freadahead.c (__sreadahead): Declare ourselves.
8180 2017-03-14  Bruno Haible  <bruno@clisp.org>
8182         vma-iter: Add comment about AIX.
8183         * lib/vma-iter.c: Add comment about why this module is not implemented
8184         on AIX.
8186 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
8188         snippets: move unadjusted snippet sources to lib
8189         Problem reported by Michal Privoznik in:
8190         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
8191         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
8192         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
8193         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
8194         * lib/unused-parameter.h: Rename from
8195         build-aux/snippet/unused-parameter.h.
8196         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
8197         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
8198         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
8199         * modules/snippet/c++defs (Files:, CXXDEFS_H):
8200         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
8201         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
8202         Adjust to file renamings.
8204 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
8206         gnulib-tool: don't automatically distribute files from top/
8207         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
8208         not distribute top/README-release by default, don't distribute files
8209         from top/ unconditionally.
8210         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
8211         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
8213 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
8215         gnulib-tool: fix typo in comment output
8216         * gnulib-tool (func_import): Fix typo with previous change.
8218         snippets: work around GNU Make 3.82 VPATH
8219         When using 'gnulib-tool --gnu-make' on Emacs, and building
8220         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
8221         an out-of-source (VPATH) build failed because the sans-copyright
8222         snippet file was not built before the file that used it.
8223         Presumably this is some sort of VPATH thing.  Work around the
8224         problem by using the original snippet, i.e., don’t bother to
8225         remove its copyright notice.
8226         * modules/snippet/_Noreturn, modules/snippet/link-warning:
8227         Don’t assume Automake in comments.  Omit long-incorrect comment.
8228         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
8229         (MOSTLYCLEANFILES):
8230         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
8231         (MOSTLYCLEANFILES):
8232         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
8233         (MOSTLYCLEANFILES):
8234         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
8235         (MOSTLYCLEANFILES):
8236         Remove.
8237         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
8238         * modules/snippet/c++defs (CXXDEFS_H):
8239         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
8240         * modules/snippet/warn-on-use (WARN_ON_USE_H):
8241         Don’t bother to remove the copyright notice; just use the
8242         original snippet as-is.
8244 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
8246         gnulib-tool: minor --gnu-make fixups
8247         * gnulib-tool (func_emit_lib_Makefile_am):
8248         Remove useless code that was a blind alley during implementation.
8249         Problem reported by Thien-Thi Nguyen in:
8250         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
8251         (func_import): Note the "--gnu-make" option in the output comment.
8253 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
8255         gnulib-tool: new option --gnu-make
8256         This is for applications like GNU Emacs that use GNU Make
8257         features instead of Automake.
8258         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
8259         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
8260         Do not assume Automake.
8261         * gnulib-tool (func_determine_path_separator)
8262         (func_modules_transitive_closure, func_update_file)
8263         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
8264         (func_import): Add support for --gnu-make.
8266 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
8268         gnulib-common.m4: avoid aclocal.m4 bloat
8269         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
8270         Hide AM_PROG_AR from aclocal, so that aclocal does not
8271         install irrelevant macro definitions into aclocal.m4.
8273 2017-03-10  Bruno Haible  <bruno@clisp.org>
8275         vma-iter: Let callers know about error.
8276         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
8277         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
8279 2017-03-05  Bruno Haible  <bruno@clisp.org>
8281         Fix value of LD for 64-bit compilers on AIX.
8282         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
8283         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
8285 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
8287         dtotimespec: simplify
8288         * lib/dtotimespec.c (dtotimespec): Simplify.
8290 2017-03-04  Bruno Haible  <bruno@clisp.org>
8292         test-calloc-gnu: Reenable test also for GCC 7.
8293         * tests/test-calloc-gnu.c (eight): New function.
8294         (main): Don't skip test; use eight() instead.
8296 2017-03-04  Jim Meyering  <meyering@fb.com>
8298         test-calloc-gnu: port to GCC7
8299         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
8300         that attempts to calloc more than SIZE_MAX bytes, because GCC7
8301         and newer would detect that at compilation time.
8303 2017-03-04  Bruno Haible  <bruno@clisp.org>
8305         tests: Avoid compiler warning about uses of null_ptr.
8306         * tests/null-ptr.h: New file.
8307         * tests/test-canonicalize.c: Include null-ptr.h.
8308         (null_ptr): Remove function.
8309         * tests/test-canonicalize-lgpl.c: Likewise.
8310         * tests/test-memmem.c: Likewise.
8311         * tests/test-ptsname_r.c: Likewise.
8312         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
8313         * modules/canonicalize-lgpl-tests: Likewise.
8314         * modules/memmem-tests: Likewise.
8315         * modules/ptsname_r-tests: Likewise.
8316         Reported by Jim Meyering.
8318 2017-03-03  Bruno Haible  <bruno@clisp.org>
8320         doc: Mention Mac OS X deficiencies regarding semaphores.
8321         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
8322         * doc/posix-functions/sem_destroy.texi: Likewise.
8323         * doc/posix-functions/sem_getvalue.texi: Likewise.
8325 2017-03-03  Bruno Haible  <bruno@clisp.org>
8327         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
8328         Reported by Assaf Gordon <assafgordon@gmail.com> via
8329         Pádraig Brady <P@draigBrady.com>.
8330         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
8331         semaphores.
8332         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
8333         (atomic_int_semaphore): New macro.
8335 2017-02-28  Bruno Haible  <bruno@clisp.org>
8337         perror tests: Tweak for z/OS.
8338         Reported by Daniel Richard G. <skunk@iskunk.org>.
8339         * tests/test-perror.sh: Don't fail z/OS style perror output.
8341 2017-02-26  Bruno Haible  <bruno@clisp.org>
8343         nproc: Refactor large function.
8344         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
8345         from num_processors.
8346         (num_processors): In this function, only deal with OMP.
8348 2017-02-26  Pádraig Brady  <P@draigBrady.com>
8350         nproc: adjust handling of OpenMP environment variables
8351         to match the return value from omp_get_num_threads(), i.e.:
8352          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
8353          - Treat 0 as an invalid value and ignore
8354         Also remove the call to omp_get_num_threads() because
8355         it's ineffective without the omp pragmas in place.
8356         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
8357         so that it can be ignored.
8358         (num_processors): Honor OMP_THREAD_LIMIT even without
8359         OMP_NUM_THREADS being set.  Also fix a typo in the environment
8360         variable being checked, from the previous recent commit.
8362 2017-02-26  Pádraig Brady  <P@draigBrady.com>
8364         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
8365         * lib/nproc.c (parse_omp_threads): A new function refactored
8366         from num_processors() to support parsing both of the
8367         above environment variables.
8368         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
8369         to accurately reflect the current OpenMP nesting level.
8370         Also support the OMP_THREAD_LIMIT environment variable
8371         to limit the max value determined from OMP_NUM_THREADS.
8372         * modules/nproc: Depend on minmax header.
8373         Suggested by Oliver Heimlich.
8375 2017-02-25  Bruno Haible  <bruno@clisp.org>
8377         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
8378         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
8380 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8382         ftoastr: port to -Wdouble-promotion
8383         Work around -Wdouble-promotion false alarm in recent GCCs.
8384         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
8385         (ftoastr_snprintf, FTOASTR): Use it.
8387 2017-02-21  Bruno Haible  <bruno@clisp.org>
8389         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
8390         Reported by Rene Saavedra <rennes@openmailbox.org> in
8391         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
8392         * lib/glthread/lock.h: On glibc systems without
8393         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
8394         implementation of rwlocks.
8395         * lib/glthread/lock.c: Likewise.
8397 2017-02-20  Bruno Haible  <bruno@clisp.org>
8399         lock tests: Fix build failure on z/OS.
8400         Reported by Daniel Richard G. <skunk@iskunk.org>.
8401         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
8402         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
8403         exist.
8405 2017-02-19  Bruno Haible  <bruno@clisp.org>
8407         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
8408         This helps when CC=clang.
8409         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
8410         of /usr/bin/gcc.
8412         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
8413         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
8415 2017-02-19  Bruno Haible  <bruno@clisp.org>
8417         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
8418         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
8419         --with-tests --single-configure is specified.
8421 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
8423         users.txt: Update links, use HTTPS where possible
8424         * users.txt: Updated to HTTPS where possible,
8425         fixed some links to new locations.
8427 2017-02-16  Bruno Haible  <bruno@clisp.org>
8429         xbinary-io: Fix inlining.
8430         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
8432 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
8434         xbinary-io: rename from xsetmode
8435         This patch is taken from suggestions by Bruno Haible in:
8436         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
8437         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
8438         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
8439         not ENOTTY, when it is an inappropriate device.
8440         * lib/binary-io.h (SET_BINARY): Resurrect.
8441         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
8442         (xset_binary_mode_error): Rename from xsetmode_error.
8443         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
8444         (xset_binary_mode): Rename from xsetmode.
8445         All uses changed.
8446         * modules/xbinary-io: Rename from modules/xsetmode.
8447         Update file names.
8448         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
8449         * NEWS: Update to match revised behavior.
8451 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
8453         tests: Adjust to recent SET_BINARY change
8454         * tests/test-binary-io.c (main):
8455         * tests/test-binary-io.sh: Remove test for SET_BINARY.
8456         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
8457         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
8458         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
8460         xsetmode: new module
8461         This is to fix a problem noted by Eric Blake.
8462         Code was using xfreopen to change files to binary mode, but this
8463         fails for stdout when in append mode.  Such code should use
8464         xsetmode instead.
8465         * NEWS: Document incompatible changes to binary-io module.
8466         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
8467         New function.
8468         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
8469         (set_binary_mode): New function, which also checks for tty.
8470         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
8472 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
8474         headers: fix begin-end typos
8475         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
8476         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
8478         selinux-h: port to PGI 16.10
8479         * lib/se-selinux.in.h: Don't assume that include_next skips over
8480         duplicate -I DIR options.
8482         argp: port to PGI 16.10
8483         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
8485 2017-02-13  Darshit Shah  <darnir@gnu.org>
8487         unicase: Update function protoype to match definition.
8488         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
8489         uses 'size_t' as the datatype for the 'len' parameter in the functions
8490         it generates. Update the prototype specified here to match the newly
8491         generated function.
8493 2017-02-12  Bruno Haible  <bruno@clisp.org>
8495         times test: Avoid gcc warnings on Linux/x32.
8496         * tests/test-times.c (main): Really cast printf arguments from clock_t
8497         to 'long int'.
8499 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
8501         glob: port better to emscripten
8502         Problem reported by Bruno Haible in:
8503         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
8504         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
8506 2017-02-11  Bruno Haible  <bruno@clisp.org>
8508         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
8509         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
8510         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
8511         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
8512         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
8513         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
8514         Distinguish hppa64 from hppa.
8516 2017-02-10  Bruno Haible  <bruno@clisp.org>
8518         search: Don't assume that tsearch() exists if 'VISIT' is defined.
8519         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
8520         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
8521         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
8523 2017-02-09  Bruno Haible  <bruno@clisp.org>
8525         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
8526         * doc/gnulib.texi (Libtool and Windows): Recommend
8527         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
8528         Reported by Reuben Thomas <rrt@sc3d.org>.
8530 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
8532         stddef-tests: port to SIZE_MAX <= INT_MAX
8533         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
8534         Do not assume that INT_MAX < SIZE_MAX.
8536 2017-02-01  Bruno Haible  <bruno@clisp.org>
8538         lock tests: Fix link error.
8539         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
8540         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8542 2017-01-31  Bruno Haible  <bruno@clisp.org>
8544         lock: Fix link error (regression from 2017-01-05).
8545         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
8546         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
8547         pthread_rwlockattr_destroy weak.
8548         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8550 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
8552         Port to PGI 16.10 x86-64
8553         This patch fixes one real bug in gl_anylinked_list2.h, along with
8554         some minor glitches that are not bugs.  It does not silence PGI’s
8555         thousands of bogus warnings when compiling test-intprops.c.
8556         Fortunately, the warnings do not cause a failure.
8557         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
8558         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
8559         My goodness, PGI goes back a long ways - this predates C89!
8560         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
8561         For example, ASYNCSAFE (const void *) should expand to
8562         ‘const void *volatile’, not to ‘volatile const void *’.
8563         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
8564         * lib/verify.h (verify) [!__GNUC__]:
8565         Use shorter albeit meaningless string to bypass silly compiler limits.
8566         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
8567         * tests/nan.h (NaNf, NaNd, NaNl):
8568         Use static functions to avoid misguided compiler diagnostics.
8569         Is there some reason we don’t use static functions on all platforms?
8571 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
8573         parse-datetime: handle timezones reentrantly
8574         This API change was prompted by a report by Pádraig Brady in:
8575         https://bug.debian.org/851934#10
8576         To help fix the bug, make parse_datetime2 more reentrant.
8577         * NEWS: Document this incompatible change.
8578         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
8579         Add two arguments, the timezone and the timezone name.
8580         All callers changed.  If TZ="..." is specified, use it for
8581         calculating defaults.
8582         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
8583         this code should be usable in a library.
8584         (mktime_ok, get_effective_timezone):
8585         Accept timezone arg too.  All callers changed.
8586         (get_tz): Remove.
8587         (get_effective_timezone): Check for failures.
8589 2017-01-20  Eric Blake  <eblake@redhat.com>
8591         localename: port to cygwin 2.6
8592         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
8593         Cygwin.
8594         * modules/localename (Depends-on): Add extensions, since
8595         NL_LOCALE_NAME() is not visible without it.
8597 2017-01-17  Pádraig Brady  <P@draigBrady.com>
8599         parse-datetime: fix dependence on AC_PROG_SED
8600         * modules/parse-datetime: Use `sed` directly like all other modules.
8601         Reported by J William Piggott
8603 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
8605         intprops: update doc URLs
8606         * doc/intprops.texi (Integer Range Overflow): Update URLs.
8608 2017-01-16  Bruno Haible  <bruno@clisp.org>
8610         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
8611         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
8612         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
8613         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
8614         distinguish s390 and s390x.
8615         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
8616         * NEWS: Mention the change regarding 'armel'.
8618 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
8620         localeinfo: case_folded_counterparts and WEOF
8621         * NEWS: Document this.
8622         * lib/localeinfo.c (case_folded_counterparts):
8623         First arg is now wint_t, not wchar_t.  This generalizes the
8624         function to also work on WEOF, where it returns 0.
8626         dfa: port to gcc -fsanitize=undefined
8627         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
8628         as this runs afoul of gcc -fsanitize=undefined.
8630 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
8632         strftime: %z is -00 if unknown
8633         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
8634         the caller's responsibility to set 'negative_number'.  All uses changed.
8635         (__strftime_internal): Put '-' before a zero UTC offset if the time
8636         zone abbreviation starts with "-", which is the recently-introduced
8637         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
8638         * tests/test-strftime.c: Test for this.
8640 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8642         dfa: port to older GCC
8643         Problem reported by Assaf Gordon in:
8644         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
8645         * modules/c99: New module.  This merely attempts to use the latest
8646         C version, which should be enough to solve this particular problem.
8647         The idea is to document which Gnulib modules assume C99 or later.
8648         * modules/dfa (Depends-on): Add it.
8650 2017-01-10  Bruno Haible  <bruno@clisp.org>
8652         Update DEPENDENCIES.
8653         * DEPENDENCIES: List only https URLs. Update recommended version for
8654         autoconf, automake, gperf.
8656 2017-01-10  Jim Meyering  <meyering@fb.com>
8658         maint.mk: enforce spelling of "timestamp" (i.e., no space)
8659         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
8660         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
8662 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8664         dfa: minor simplification with emptyset
8665         * lib/dfa.c (build_state): Simplify by using emptyset.
8667 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
8669         dfa: shrink constraints from 4 bits to 3
8670         * lib/dfa.c (newline_constraint, letter_constraint)
8671         (other_constraint, prev_newline_dependent)
8672         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
8673         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
8674         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
8675         Constraints need only 3 bits, not 4.  Using smaller integers
8676         shrinks the code a bit and makes grep a tad faster on x86-64.
8678         dfa: omit unnecessary ptrdiff_t check
8679         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
8680         overflow, since xnmalloc does that now.
8682         dfa: omit unnecessary allocation
8683         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
8684         an all-zero follow set works just fine.
8686         dfa: omit unused local
8687         * lib/dfa.c (build_state): Fix up recent change.
8689         maint: remove stray .texi files
8690         Although these were superseded by other files like
8691         doc/posix-functions/ctime.texi, the old files were not removed.
8692         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
8694 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
8696         getprogname: fix port to IRIX
8697         * lib/getprogname.c (getprogname) [__sgi]:
8698         Don't dump core if malloc returns NULL.
8700         dfa: fix reallocation bug when matching newlines
8701         Problem reported for sed by S. Gilles (Bug#25390).
8702         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
8703         (dfastate): Reallocate before moving any newline transition ...
8704         (build_state): ... instead of reallocating here, where it is too late.
8706 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
8708         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
8709         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
8711 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
8713         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
8714         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
8716 2017-01-07  Bruno Haible  <bruno@clisp.org>
8718         stdioext: Port to Minix 3.2 and newer.
8719         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
8720         * lib/fseeko.c (fseeko): Likewise.
8721         Reported by Nelson Beebe via Paul Eggert.
8723 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8725         getprogname: port to IRIX
8726         * lib/getprogname.c (getprogname): Port to IRIX.
8727         Based on an idea by Bastien Roucariès at:
8728         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
8729         via code from Bruno Haible at:
8730         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
8732         localename-tests: port to NetBSD 7
8733         Problem reported by Nelson H. F. Beebe.
8734         * tests/test-localename.c:
8735         Test newlocale and uselocale only if both exist.
8737         glob, intprops, xalloc: work around Clang bug
8738         Work around LLVM bug 16404, which is still not fixed.
8739         https://llvm.org/bugs/show_bug.cgi?id=16404
8740         Problem reported by Nelson H. F. Beebe.
8741         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
8742         Remove.
8743         * lib/glob.c (size_add_wrapv):
8744         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
8745         * lib/xalloc-oversized.h (xalloc_oversized):
8746         Do not use overflow builtins if Clang.
8748         dfa: fix 'return' typo
8749         Problem reported by Nelson H. F. Beebe.
8750         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
8752 2017-01-05  Pádraig Brady  <P@draigBrady.com>
8754         parse-datetime: fix generated paths for coverage files
8755         * modules/parse-datetime: Adjust the paths for parse-datetime.y
8756         within parse-datetime.c, so that gcc generates appropriate .gcno
8757         files, allowing lcov to proceed without error.  Previously it
8758         would error trying to find "lib/lib/parse-datetime.y".
8760 2017-01-05  Pádraig Brady  <P@draigBrady.com>
8762         maint.mk: support parallel execution of coverage
8763         * top/maint.mk (coverage): Run dependencies serially,
8764         thus supporting parallel processing of each one,
8765         particularly build-coverage, which builds and runs tests.
8767 2017-01-05  Bruno Haible  <bruno@clisp.org>
8769         lock tests: Prefer semaphore over mutex.
8770         * tests/test-lock.c (USE_SEMAPHORE): New constant.
8771         (struct atomic_int, init_atomic_int, get_atomic_int_value,
8772         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
8773         Suggested by Torvald Riegel <triegel@redhat.com>.
8775 2017-01-05  Bruno Haible  <bruno@clisp.org>
8777         lock: Provide guarantee to avoid writer starvation for rwlocks.
8778         The rationale is: 1) Read-preferring read-write locks are prone to
8779         writer starvation if the number of reader threads multiplied by the
8780         percentage of time they have the lock held is too high. 2) Write-
8781         preferring read-write locks are the only reliable way to avoid this.
8782         3) There have been reports of 'test-lock' hanging on glibc systems
8783         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
8784         and glibc indeed implements read-preferring rwlocks by default, see
8785         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
8786         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
8787         * m4/pthread_rwlock_rdlock.m4: New file.
8788         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
8789         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
8790         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
8791         of rwlock initialization on glibc systems without
8792         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
8793         of rwlocks altogether on non-glibc systems without
8794         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
8795         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
8796         * lib/glthread/lock.c [USE_POSIX_THREADS]
8797         (glthread_rwlock_init_for_glibc): New function.
8798         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
8799         comment.
8800         [USE_PTH_THREADS]: New implementation of rwlocks.
8801         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
8802         readers.
8803         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
8804         (Depends-on): Add 'extensions'.
8805         * tests/test-rwlock1.c: New file.
8806         * lock-tests (Files): Add it.
8807         (Depends-on): Add usleep.
8808         (Makefile.am): Add test-rwlock1 to the tests.
8810 2017-01-05  Bruno Haible  <bruno@clisp.org>
8812         thread: Fix pth port.
8813         * lib/glthread/thread.h (pth_init): Declare weak.
8814         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
8815         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
8816         function.
8818 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
8820         parse-datetime: fix debug message on lone year number
8821         Input dates such as
8822           date -d "Apr 11 22:59:00 2011"
8823         are parsed as date (Apr 11, with default year 2016), then time, then a
8824         number (2011). Based on the combination of previously seen tokens,
8825         'digits_to_date_time' determines 2011 to be a year value.
8826         This fixes the debug messages to correctly show the updated year.
8827         Before:
8828             $ date --debug -d 'Apr 11 22:59:00 2011'
8829             date: parsed date part: (Y-M-D) 2016-04-11
8830             date: parsed time part: 22:59:00
8831             date: parsed number part: today/this/now
8832         After:
8833             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
8834             date: parsed date part: (Y-M-D) 2016-04-11
8835             date: parsed time part: 22:59:00
8836             date: parsed number part: year: 2011
8837         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
8838         'debug_year_seen' member fields.
8839         (digits_to_date_time): Update 'year_seen' as needed.
8840         (debug_print_current_time): Inform about year updates.
8841         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
8843         parse-datetime: fix local timezone debug messages
8844         "Local timezones" are strings that affect only DST relative to the
8845         default timezone. The debug messages in parse-datetime.y printed
8846         wrong information when encountering local timezones.
8847         Examples:
8848         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
8849              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
8850              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
8851         When the default timezone relates to the zone strings, EET/EEST are
8852         parsed as local timezones (tLOCAL_ZONE), and only change the DST
8853         value (0/1, respectively):
8854              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
8855              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
8856         * lib/parse-datetime.y (debug_print_current_time): If local timezone
8857         was seen, inform about DST change, don't print actual timezone.
8858         (debug_strfdatetime): If local timezone was seen, use default timezone
8859         (and adjust as needed) instead of using incorrect timezone.
8860         (parse_datetime2): Use correct time-zone source string, and adjust
8861         default timezone as needed.
8863         parse-datetime: add debug warning about DST changes
8864         Incorrect date arithmetic due to daylight saving time (DST) are a
8865         common (false) bug report in coreutils.
8866         Detect two such cases and print a warning:
8867         1. year/month/day adjustments (performed on 'struct tm'),
8868            where 'mktime' returns a different isdst value.
8869         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
8870            where the result of 'localtime(3)' on the value will return a
8871            different isdst value.
8872         Note: DST changes could be harmless or unnoticeable.
8873         Examples (with 'TZ=America/New_York'):
8874         Unnoticeable: result is 2016-Dec-14
8875            $ date -d '2016-06-15 EDT + 6 months' +%b
8876            Dec
8877         Unnoticeable: result is 2016-Dec-15 11:00:00
8878            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
8879            2016-12-15
8880         This is unexpected:
8881            $ date -d '2016-06-01 EDT + 6 months' +%F
8882            2016-11-30
8883         The new debug warnings will show:
8884            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
8885            ...
8886            date: warning: daylight saving time changed after date adjustment
8887            ...
8888         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
8889         print an appropriate warning message.
8891         parse-datetime: add debug warning about date arithmetic
8892         Date arithmetic are done directly on the fields of 'struct tm',
8893         which can result in invalid dates. Normalization with 'mktime(3)'
8894         will then produce a different date - which might cause unexpected
8895         results.
8896         Examples:
8897           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
8898           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
8899         Note that date normalization is not inherently wrong and not rejected,
8900         as it has legitimate uses:
8901           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
8902         If the user asked to adjust months but 'mday' changed,
8903         or user asked to adjust years but 'month' changed - warn about it.
8904             $ ./src/date --debug -d '2016-10-31 - 1 month'
8905             ...
8906             date: warning: when adding relative months/years, \
8907                            it is recommended to specify the 15th of the month
8908             ...
8909             date: warning: month/year adjustment resulted in shifted dates:
8910             date:      adjusted Y M D: 2016 09 31
8911             date:    normalized Y M D: 2010 10 01
8912             ...
8913         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
8914         a warning message. Improve recommendation of when to use 15 of the
8915         month or noon for date arithmetic.
8917         parse-datetime: fix debug message of relative part after timezone
8918         Relative part (e.g '+8 days') after a timezone string was not
8919         reported (was only reported after a timezone number). Due to the
8920         parser's structure, timezone strings with numbers were handled
8921         separately.
8922         before:
8923              # Timezone number + relative part: OK
8924              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
8925              ...
8926              date: parsed relative part: -8 day(s)
8927              # Timezone string + relative part: missing
8928              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
8929              [ missing message ]
8930         After: messages are printed in both cases.
8931         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
8933         parse-datetime: fix incorrect debug message on lone number
8934         A lone number is an absolute value, not a relative time part.
8935         before:
8936            $ date --debug -d '20130101'
8937            date: parsed number part: today/this/now
8938         After:
8939            $ ./src/date --debug -d '20130101'
8940            date: parsed number part: (Y-M-D) 2013-01-01
8941         * lib/parse-datetime.y ('item'/'number' tokens): Call
8942         'debug_print_current_time' instead of 'debug_print_relative_time'.
8944 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
8946         doc: modernize for C11 etc.
8947         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
8948         for C11, MinGW, etc.  This responds to Paul Smith's question in:
8949         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
8951         dfa: prefer functions to FETCH_WC macro
8952         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
8953         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
8954         wint_t result into DFA->lex.wctok instead of to a separate arg.
8955         All callers changed.  Move more local decls closer to where
8956         they're used.
8958         dfa: narrow more local var scopes
8959         * lib/dfa.c: Move more local decls to be more local.
8961         dfa: remove duplicate assignment
8962         Problem reported by Bruno Haible in:
8963         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
8964         * lib/dfa.c (parse_bracket_exp): Simplify.
8966 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
8968         dfa: simplify constraint-dependency checking
8969         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
8970         (prev_other_constraint): Remove.
8971         (prev_newline_dependent, prev_letter_dependent):
8972         Simplify, to avoid an unnecessary bitwise AND operation.
8974         dfa: prefer functions and constants to macros
8975         * lib/dfa.c: Prefer constants to macros where either will do.
8976         (streq, isasciidigit, newline_constraint)
8977         (letter_constraint, other_constraint, succeeds_in_context)
8978         (prev_newline_constraint, prev_letter_constraint)
8979         (prev_other_constraint, prev_newline_dependent)
8980         (prev_letter_dependent, accepting, accepts_in_context):
8981         Now static functions instead of function-like macros.
8982         Use lower-case names accordingly.  All uses changed.
8984         dfa: narrow more local var scopes
8985         * lib/dfa.c: Move some more local decls down to nearer where
8986         they're needed.
8988 2016-12-31  Jim Meyering  <meyering@fb.com>
8990         dfa: narrow the scope of many local variables
8991         * lib/dfa.c: Now that we are no longer constrained to c89, move
8992         declarations of many variables (often indices) "down" into the
8993         scope(s) where used or to the point of definition.  This is a
8994         no-semantic-change diff.
8996 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
8998         version-etc: new year
8999         * build-aux/gendocs.sh (version):
9000         * doc/gendocs_template:
9001         * doc/gendocs_template_min:
9002         * doc/gnulib.texi:
9003         * lib/version-etc.c (COPYRIGHT_YEAR):
9004         Update copyright dates by hand in templates and the like.
9005         * all files: Run 'make update-copyright'.
9007 2016-12-31  Eric Blake  <eblake@redhat.com>
9009         do-release-commit-and-tag: avoid shell syntax error
9010         * build-aux/do-release-commit-and-tag (curr_br): $branch can
9011         contain spaces when rebasing.
9013         maint.mk: hoist gnulib_dir definition earlier
9014         * top/maint.mk (gnulib_dir): Move near top of file.
9016 2016-12-31  Jim Meyering  <meyering@fb.com>
9018         maint.mk: do not always evaluate intprops-related shell
9019         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
9020         using gnulib_dir undefined (gnulib_dir is defined later in the
9021         file, which will be fixed separately), and besides, there is no
9022         need to incur the cost of this shell invocation for every single
9023         use of this .mk file.  Reported by Eric Blake in
9024         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
9026 2016-12-30  Jim Meyering  <meyering@fb.com>
9028         maint.mk: improve sc_prohibit_intprops_without_use
9029         * top/maint.mk (_intprops_names): Don't hard-code the list of
9030         symbol names.  Instead, derive it on the fly.
9032 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
9034         dfa: shorten sbit, success
9035         * lib/dfa.c (struct regex_syntax.sbit):
9036         (struct dfa.success): Use char, not int, for array elements, since
9037         they are all in the range 0..7.
9039         dfa: simplify multibyte_prop etc.
9040         This follows up on a change made when dfa.c was in grep, namely grep
9041         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
9042         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
9043         That earlier simplification allows for some more simplification
9044         and trimming down here.
9045         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
9046         (struct lexer_state): New mamber brack.
9047         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
9048         since they must be in the range 0..3 now.
9049         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
9050         the brack member now supersedes them.
9051         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
9052         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
9053         (dfaparse): Remove unnecessary initializations of already-0 storage.
9054         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
9055         (dfassbuild): No need to clear sup->mbcsets.
9057         dfa: minor performance tweak
9058         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
9060         dfa: wrap charclass inside a struct
9061         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
9062         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
9063         about 5% faster, where list.txt is generated by 'aspell dump
9064         master | head -n 100000 >list.txt'.  See Bug#22239.
9065         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
9066         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
9067         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
9068         Adjust to this, e.g., by using charclass * rather than charclass.
9069         All callers changed as needed.
9070         (copyset): Remove.  All uses changed to simple assignment.
9071         (parse_bracket_exp): Use zeroset instead of memset.
9073 2016-12-30  Jim Meyering  <meyering@fb.com>
9075         maint.mk: update list of intprops.h symbol names
9076         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
9077         This avoids a false failure of the sc_prohibit_intprops_without_use
9078         rule in grep.
9080 2016-12-29  Eric Blake  <eblake@redhat.com>
9082         getopt: fix parallel test failure
9083         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
9084         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
9085         * tests/test-getopt-main.h (main): Use different file names
9086         in case test-getopt-gnu and test-getopt-posix run in parallel.
9088 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
9090         xalloc: x2nrealloc check for ptrdiff_t overflow
9091         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
9092         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
9094 2016-12-24  Bruno Haible  <bruno@clisp.org>
9096         lock test: Fix performance problem on multi-core machines.
9097         * tests/test-lock.c (USE_VOLATILE): New macro.
9098         (struct atomic_int): New type.
9099         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
9100         functions.
9101         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
9102         as 'struct atomic_int'.
9103         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
9104         reclock_checker_thread, test_recursive_lock): Use the new functions.
9105         Reported by Eric Blake in
9106         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
9107         and by Pádraig Brady in
9108         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
9110 2016-12-19  Bruno Haible  <bruno@clisp.org>
9112         vma-iter: Fix endless loop on 64-bit Windows.
9113         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
9114         'unsigned long'.
9116 2016-12-19  Bruno Haible  <bruno@clisp.org>
9118         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
9119         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
9120         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
9121         Invoke gt_TYPE_WINT_T instead.
9122         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
9123         * modules/stdint (Files): Add m4/wint_t.m4.
9124         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
9125         * modules/wctype-h (Makefile.am): Likewise.
9126         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
9127         not only on MSVC.
9128         * lib/wctype.in.h (wint_t): Likewise.
9130 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
9132         getopt-posix-tests: fix Makefile typo
9133         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
9134         Fix typo: the last ‘_’ was missing in the name.
9135         I suspect that the typo explains this build failure:
9136         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
9137         although I can’t reproduce the problem on Solaris 10 sparc.
9139 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9141         dfa: improve worst-case 'replace' performance
9142         See my note in Bug#22357#71.
9143         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
9144         (merge_constrained): New function, which is like
9145         the old 'merge' function, except with a new argument C2.
9146         Simplify the body by avoiding the need for different sections
9147         of code depending on whether one input is exhausted.
9148         (merge): Use the new function.
9149         (delete): Return the constraint of the deleted position,
9150         not the entire position.  Caller changed.
9151         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
9153 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9155         dfa: performance improvement for removal of epsilon closure
9156         See Bug#22357#32.
9157         * lib/dfa.c (delete): Use binary search to find deleted index.
9158         (replace): New function.  It replaces a position with the followed set.
9159         (epsclosure): Replace it with a new algorithm.  Update caller.
9161 2016-12-18  Bruno Haible  <bruno@clisp.org>
9163         Split tests for getopt-posix and getopt-gnu.
9164         * tests/test-getopt-posix.c: New file.
9165         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
9166         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
9167         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
9168         GNULIB_TEST_GETOPT_GNU.
9169         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
9170         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
9171         (Makefile.am): Test test-getopt-posix instead of test-getopt.
9172         * modules/getopt-gnu-tests: New file.
9173         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
9175 2016-12-18  Bruno Haible  <bruno@clisp.org>
9177         posix-modules: Add options for specific platforms.
9178         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
9179         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
9180         Invoke func_tmpdir. Filter out the excludes.
9182 2016-12-18  Bruno Haible  <bruno@clisp.org>
9184         getopt: Fix link error for users of getopt() in <unistd.h>.
9185         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
9186         __need_getopt is defined. Undefine all macros before defining them.
9187         * modules/getopt (Include): Clarify that including <unistd.h> is also
9188         OK.
9189         * tests/test-getopt.c: Add comment.
9191 2016-12-17  Bruno Haible  <bruno@clisp.org>
9193         getaddrinfo tests: Avoid compilation error on MSVC.
9194         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
9195         getaddrinfo on native Windows.
9197 2016-12-17  Bruno Haible  <bruno@clisp.org>
9199         getlogin, getlogin_r: Fix link errors on MSVC.
9200         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
9201         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
9202         (Link): New section.
9203         * modules/getlogin_r (Files): Add m4/getlogin.m4.
9204         (configure.ac): Require gl_LIB_GETLOGIN.
9205         (Link): New section.
9206         * NEWS: Mention the new link requirements.
9207         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
9208         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
9210 2016-12-17  Bruno Haible  <bruno@clisp.org>
9212         Un-deprecate the 'progname' module.
9213         * NEWS: Describe the appropriate use-cases of 'progname' versus
9214         'getprogname'. Based on discussion summary at
9215         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
9217 2016-12-17  Bruno Haible  <bruno@clisp.org>
9219         Reorganize NEWS a bit.
9220         * NEWS: Move some not so important changes away from section
9221         "Important Notes".
9223 2016-12-17  Bruno Haible  <bruno@clisp.org>
9225         tanhf: Avoid redefinition error on MSVC.
9226         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
9227         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
9228         may be defined as an inline function.
9229         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
9230         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
9232 2016-12-17  Bruno Haible  <bruno@clisp.org>
9234         tanf: Avoid redefinition error on MSVC.
9235         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
9236         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
9237         may be defined as an inline function.
9238         * modules/math (Makefile.am): Substitute REPLACE_TANF.
9239         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
9241 2016-12-17  Bruno Haible  <bruno@clisp.org>
9243         sqrtf: Avoid redefinition error on MSVC.
9244         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
9245         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
9246         may be defined as an inline function.
9247         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
9248         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
9250 2016-12-17  Bruno Haible  <bruno@clisp.org>
9252         sinhf: Avoid redefinition error on MSVC.
9253         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
9254         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
9255         may be defined as an inline function.
9256         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
9257         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
9259 2016-12-17  Bruno Haible  <bruno@clisp.org>
9261         sinf: Avoid redefinition error on MSVC.
9262         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
9263         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
9264         may be defined as an inline function.
9265         * modules/math (Makefile.am): Substitute REPLACE_SINF.
9266         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
9268 2016-12-17  Bruno Haible  <bruno@clisp.org>
9270         logf: Avoid redefinition error on MSVC.
9271         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
9272         may be defined as an inline function.
9274 2016-12-17  Bruno Haible  <bruno@clisp.org>
9276         log10l: Avoid redefinition error on MSVC.
9277         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
9278         may be defined as an inline function.
9280 2016-12-17  Bruno Haible  <bruno@clisp.org>
9282         log10f: Avoid redefinition error on MSVC.
9283         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
9284         may be defined as an inline function.
9286 2016-12-17  Bruno Haible  <bruno@clisp.org>
9288         hypotl: Avoid redefinition error on MSVC.
9289         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
9290         may be defined as an inline function.
9292 2016-12-17  Bruno Haible  <bruno@clisp.org>
9294         hypotf: Avoid redefinition error on MSVC.
9295         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
9296         may be defined as an inline function.
9298 2016-12-17  Bruno Haible  <bruno@clisp.org>
9300         fmodl: Avoid redefinition error on MSVC.
9301         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
9302         may be defined as an inline function.
9304 2016-12-17  Bruno Haible  <bruno@clisp.org>
9306         fmodf: Avoid redefinition error on MSVC.
9307         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
9308         may be defined as an inline function.
9310 2016-12-17  Bruno Haible  <bruno@clisp.org>
9312         expf: Avoid redefinition error on MSVC.
9313         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
9314         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
9315         may be defined as an inline function.
9316         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
9317         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
9319 2016-12-17  Bruno Haible  <bruno@clisp.org>
9321         coshf: Avoid redefinition error on MSVC.
9322         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
9323         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
9324         may be defined as an inline function.
9325         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
9326         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
9328 2016-12-17  Bruno Haible  <bruno@clisp.org>
9330         cosf: Avoid redefinition error on MSVC.
9331         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
9332         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
9333         may be defined as an inline function.
9334         * modules/math (Makefile.am): Substitute REPLACE_COSF.
9335         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
9337 2016-12-17  Bruno Haible  <bruno@clisp.org>
9339         atan2f: Avoid redefinition error on MSVC.
9340         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
9341         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
9342         may be defined as an inline function.
9343         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
9344         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
9346 2016-12-17  Bruno Haible  <bruno@clisp.org>
9348         atanf: Avoid redefinition error on MSVC.
9349         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
9350         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
9351         may be defined as an inline function.
9352         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
9353         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
9355 2016-12-17  Bruno Haible  <bruno@clisp.org>
9357         asinf: Avoid redefinition error on MSVC.
9358         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
9359         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
9360         may be defined as an inline function.
9361         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
9362         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
9364 2016-12-17  Bruno Haible  <bruno@clisp.org>
9366         acosf: Avoid redefinition error on MSVC.
9367         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
9368         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
9369         may be defined as an inline function.
9370         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
9371         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
9373 2016-12-17  Bruno Haible  <bruno@clisp.org>
9375         Avoid redefinition errors on MSVC.
9376         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
9377         the function may be defined as an inline function.
9378         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
9379         the function may be defined as an inline function.
9381 2016-12-17  Bruno Haible  <bruno@clisp.org>
9383         Avoid redefinition errors on MSVC.
9384         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
9385         * lib/unistd.in.h: Include <stdio.h> when necessary.
9387 2016-12-17  Bruno Haible  <bruno@clisp.org>
9389         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
9390         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
9391         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
9392         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
9393         WINT_MAX.
9395 2016-12-17  Bruno Haible  <bruno@clisp.org>
9397         Avoid autoconf warning.
9398         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
9399         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
9401 2016-12-17  Bruno Haible  <bruno@clisp.org>
9403         fpending: Revert workaround against Emacs bug.
9404         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
9405         The Emacs bug is fixed by Eli Zaretskii in
9406         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
9408 2016-12-17  Bruno Haible  <bruno@clisp.org>
9410         getlogin_r tests: Port to mingw.
9411         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
9412         regression introduced on 2014-05-19.
9414 2016-12-17  Bruno Haible  <bruno@clisp.org>
9416         getlogin: Port to newer mingw.
9417         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
9418         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
9419         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
9420         HAVE_GETLOGIN.
9421         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
9422         HAVE_GETLOGIN.
9423         * doc/posix-functions/getlogin.texi: Mention the issue.
9424         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
9425         regression introduced on 2014-05-14.
9427 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9429         builtin-expect: improve port to IBM XL C
9430         Problem reported for z/OS by Daniel Richard G. in:
9431         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
9432         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
9433         Test for <builtins.h> directly.
9435         builtin-expect: port to IBM XL C
9436         Problem reported for z/OS by Daniel Richard G. in:
9437         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
9438         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
9439         Also allow __builtin_expect defined via a standard include file.
9441         regex: fix dependency
9442         Problem reported by Bruno Haible in:
9443         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
9444         * modules/regex: Depend on builtin-expect.
9446         builtin-expect: new module
9447         Fix fnmatch to use it.
9448         Problem reported for z/OS by Daniel Richard G.
9449         * lib/fnmatch.c (__builtin_expect):
9450         * lib/glob.c (__builtin_expect):
9451         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
9452         * lib/memmem.c (__builtin_expect) [!_LIBC]:
9453         * lib/scandir.c (__builtin_expect):
9454         * lib/strstr.c (__builtin_expect) [!_LIBC]:
9455         Remove macro; config.h now does this.
9456         * lib/gl_anytreehash_list1.h (add_to_bucket):
9457         * lib/regex_internal.h (BE):
9458         Assume __builtin_expect.
9459         * m4/builtin-expect.m4, modules/builtin-expect: New files.
9460         * modules/avltreehash-list, modules/fnmatch, modules/glob:
9461         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
9462         * modules/scandir, modules/strstr-simple:
9463         Depend on builtin-expect.
9465 2016-12-15  Bruno Haible  <bruno@clisp.org>
9467         init.sh: Add possibility to not delete temporary files.
9468         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
9469         to yes, don't erase the temporary directory.
9471 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9473         regex: fix integer-overflow bug in never-used code
9474         Problem reported by Clément Pit–Claudel in:
9475         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
9476         * lib/regex_internal.h: Include intprops.h.
9477         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
9478         behavior on integer overflow.
9479         * modules/regex (Depends-on): Add intprops.
9481         fpending: fix port to MinGW on Emacs
9482         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
9483         Problem reported by Eli Zaretskii in:
9484         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
9485         Is Plan 9 still a valid porting target, anyway?
9487 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9489         safe-alloc: use xalloc-oversized
9490         * lib/safe-alloc.c: Include xalloc-oversized.h.
9491         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
9492         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
9494         xalloc: do not exceed PTRDIFF_MAX
9495         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
9496         xalloc_oversized check, since objects larger than PTRDIFF_MAX
9497         bytes have pointer-subtraction problems.
9499         malloca: do not exceed PTRDIFF_MAX
9500         * lib/malloca.h: Include xalloc-oversized.
9501         (nmalloca): Use xalloc_oversized instead of rolling our own.
9502         * modules/malloca (Depends-on):
9503         * modules/relocatable-prog-wrapper (Depends-on):
9504         Add xalloc-oversized.
9506         quotearg: pacify GCC better
9507         * modules/quotearg (Depends-on): Add minmax, stdint.
9508         * lib/quotearg.c: Include minmax.h, stdint.h.
9509         (nslots): Now int, as there seems little point to going to extra
9510         work merely to support the INT_MAX slot, which nobody ever uses.
9511         (quotearg_n_options): Redo size-overflow checks to pacify GCC
9512         and to catch (mostly-theoretical) ptrdiff_t problems too.
9513         This can be done via one comparison.
9515 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
9517         xalloc-oversized: check for PTRDIFF_MAX too
9518         This avoids undefined behavior when subtracting pointers to
9519         objects containing more than PTRDIFF_MAX bytes.
9520         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
9521         Also return 1 if the result would exceed PTRDIFF_MAX>
9522         * modules/xalloc-oversized (Depends-on):
9523         Add stdint.
9525         dfa: fix glitches in previous commit
9526         Sorry, I don't know how I managed to commit the wrong version.
9527         * lib/dfa.c (MIN): Move up.
9528         (xpalloc): Now static.
9530         dfa: fix some unlikely integer overflows
9531         I found these while reviewing the recent Coverity-related fix.
9532         This patch changes part of dfa.c to prefer ptrdiff_t instead of
9533         size_t for object counts.  Using ptrdiff_t is the style typically
9534         used in Emacs; although it wastes a sign bit as sizes can never be
9535         negative, it makes -fsanitize=undefined more likely to catch
9536         integer overflows in index calculation, and nowadays the upside is
9537         typically more important than the downside.  Although perhaps the
9538         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
9539         of dfa.c already does, since it uses state_num which is signed),
9540         that is a bigger change and is not needed to fix the bugs I found.
9541         * lib/dfa.c: Include stdint.h and intprops.h.
9542         (TOKEN_MAX): New macro.
9543         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
9544         (charclass_index, parse_bracket_exp, addtok, insert, merge)
9545         (realloc_trans_if_necessary, free_mbdata):
9546         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
9547         This is safe because xpalloc checks that the sizes do not exceed
9548         either SIZE_MAX or PTRDIFF_MAX.
9549         (xpalloc): New function, mostly taken from Emacs.
9550         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
9551         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
9552         (charclass_index): Check for integer overflow in computing
9553         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
9554         added to it later.
9555         (alloc_position_set): Check for integer overflow.  On typical
9556         platforms this check has zero overhead, since the constant
9557         expression is false.
9558         (realloc_trans_if_necessary):
9559         Remove assertion, which I hope Coverity no longer needs.
9561         * modules/dfa (Depends-on): Add intprops, stdint.
9563 2016-12-12  Jim Meyering  <meyering@fb.com>
9565         dfa: add an assertion to avoid coverity false positive
9566         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
9567         warned that "newalloc1 - 2" could overflow.
9569 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
9571         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
9572         * dfa.h (DFA_CASE_FOLD): Remove.
9573         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
9575 2016-12-13  John W. Eaton  <gnu@jweaton.org>
9577         link: fix test to declare use of rename()
9578         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
9579         -Werror=implicit-function-declaration
9581 2016-12-12  Bruno Haible  <bruno@clisp.org>
9583         fpending: Port to native Windows with MSVC.
9584         * lib/fpending.c: Include stdio-impl.h.
9585         (__fpending): Include all known implementations. Err out if it's not
9586         ported.
9587         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
9588         * modules/fpending (Files): Add lib/stdio-impl.h.
9589         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
9591 2016-12-12  Bruno Haible  <bruno@clisp.org>
9593         stdioext: Port to native Windows with MSVC.
9594         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
9595         (struct _gl_real_FILE): New type.
9596         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
9597         Windows.
9598         * lib/fbufmode.c (fbufmode): Add code for native Windows.
9599         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
9600         other SystemV derived implementations.
9601         * lib/fpurge.c (fpurge): Likewise.
9602         * lib/freadable.c (freadable): Likewise.
9603         * lib/freadahead.c (freadahead): Likewise.
9604         * lib/freading.c (freading): Likewise.
9605         * lib/freadptr.c (freadptr): Likewise.
9606         * lib/freadseek.c (freadptrinc): Likewise.
9607         * lib/fseeko.c (fseeko): Likewise.
9608         * lib/fseterr.c (fseterr): Likewise.
9609         * lib/fwritable.c (fwritable): Likewise.
9610         * lib/fwriting.c (fwriting): Likewise.
9611         Reported by Gisle Vanem <gvanem@yahoo.no>.
9613 2016-12-11  Jim Meyering  <meyering@fb.com>
9615         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
9616         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
9617         to work with most shells, but not with the one provided by many
9618         Solaris 10 systems, so running configure with such a /bin/sh evokes
9619         e.g., "./configure: syntax error at line 33602: `(' unexpected".
9620         Reported by Assaf Gordon in
9621         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
9623 2016-12-10  Bruno Haible  <bruno@clisp.org>
9625         threadlib: Optimize out runtime test on Solaris >= 10.
9626         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
9627         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
9628         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
9630 2016-12-10  Bruno Haible  <bruno@clisp.org>
9632         stdint: Update doc about Solaris 9.
9633         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
9635 2016-12-09  Bruno Haible  <bruno@clisp.org>
9637         c-ctype tests: Fix link error on Solaris 9.
9638         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
9639         Reported at <https://savannah.gnu.org/bugs/?46827>.
9641 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
9643         dfa: fix performance bug that recomputes trans
9644         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
9645         25 on-demand changes.  The bug caused build_state to reset all
9646         d->trans elements to -2 even when d->trans was already non-null.
9647         Use C99 style decls after statements in this function.
9649         same-inode: port to MinGW
9650         Here st_ino is always 0, so change the definition of SAME_INODE so
9651         that 1 means the two files are the same, 0 with st_ino != 0 means
9652         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
9653         reported by Bruno Haible (Bug#25146).
9654         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
9655         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
9657 2016-12-04  Bruno Haible  <bruno@clisp.org>
9659         javacomp-script: Support Java 7 and 8.
9660         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
9661         target-version 1.7, 1.8.
9663 2016-12-02  Daiki Ueno  <ueno@gnu.org>
9665         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
9666         GPLv2" rewriting.
9668 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
9670         * gnulib-tool (func_import): Adhere to the license guideline when
9671         rewriting the license text to "LGPLv3+ or GPLv2":
9672         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
9674 2016-12-02  Bruno Haible  <bruno@clisp.org>
9676         localcharset: Avoid theoretical buffer overrun.
9677         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
9678         return value from setlocale if it would lead to a buffer overrun.
9680 2016-12-01  Bruno Haible  <bruno@clisp.org>
9682         Relicense some modules under LGPLv2+.
9683         Kevin Cernekee's approval is in
9684         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
9685         * modules/fseterr (License): Change to LGPLv2+.
9686         * modules/mbchar (License): Likewise.
9687         * modules/mbiter (License): Likewise.
9688         * modules/mbsnlen (License): Likewise.
9689         * modules/wcwidth (License): Likewise.
9691 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9693         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
9694         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
9695         OS/2 kLIBC.
9697 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9699         alphasort, scandir: Port to OS/2 kLIBC
9700         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
9701         declaration.
9702         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
9704 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9706         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
9707         * lib/relocatable.c (relocate): Do not touch pathname if it is started
9708         with '/@unixroot'.
9710 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9712         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
9713         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
9714         OS/2 kLIBC unless TCPV40HDRS is defined.
9716 2016-11-29  Jim Meyering  <meyering@fb.com>
9718         dfa: avoid new infinite loop
9719         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
9720         * lib/dfa.c (dfastate): When constructing a new state table, we could
9721         initially declare that we had found a match, and later find that
9722         constraints eliminate that possibility, yet continue to use the
9723         now stale "matched" indicator.  That would lead to an infinite loop.
9724         The solution is to update "matched" when necessary.
9725         Introduced by commit v0.1-983-g403adf1.
9727 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9729         dfa: avoid match middle in multibyte character
9730         * lib/dfa.c (transit_state): If fails in matching single byte characters
9731         on a state including period expression in non-UTF8 multibyte locales,
9732         skip trailing bytes.
9733         (dfa_supported): Revert previous change.
9735 2016-11-27  Jim Meyering  <meyering@fb.com>
9737         dfa: avoid false match in non-UTF8 multibyte locales
9738         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
9739         as "not supported" so that callers will resort to using regex-based
9740         matcher.  This will surely hurt performance, but correctness trumps
9741         performance here, and the affected locales are less and less relevant,
9742         these days.  See grep's bug report https://bugs.gnu.org/24975.
9744 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
9746         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
9747         * lib/ptsname_r.c: Include the appropriate headers.
9748         [__sun]: Delete sys/sysmacros.h include.
9749         [_AIX || __osf__]: Likewise.
9750         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
9752 2016-11-27  Pádraig Brady  <P@draigBrady.com>
9754         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
9755         * lib/md4.c (md4_process_bytes): The existing define is made internal
9756         in recent versions of glibc, so also use this new public define.
9757         * lib/md5.c (md5_process_bytes): Likewise.
9758         * lib/sha1.c (sha1_process_bytes): Likewise.
9759         * lib/sha256.c (sha256_process_bytes): Likewise.
9760         * lib/sha512.c (sha512_process_bytes): Likewise.
9762 2016-11-27  Pádraig Brady  <P@draigBrady.com>
9764         maint: use a more standard return from mbrtowc test
9765         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
9766         from the test program as this often indicates an
9767         unhandled case in the test program.
9768         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
9769         (gl_MBRTOWC_SANITYCHECK): Likewise.
9770         (gl_MBRTOWC_NULL_ARG2): Likewise.
9771         (gl_MBRTOWC_NUL_RETVAL): Likewise.
9773 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
9775         freopen: work around glibc bug with closed fd
9776         Work around glibc bug#15589, where freopen mishandles the case
9777         where stdin etc. are already closed.
9778         * doc/posix-functions/freopen.texi (freopen): Document the bug.
9779         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
9780         instead of __need_FILE, as the latter does not work with glibc.
9781         Include <fcntl.h>, for open flags.
9782         (rpl_freopen): Work around glibc bug.
9783         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
9784         * modules/freopen (Depends-on): Add fcntl-h.
9785         * tests/test-freopen.c (main): Test for bug.
9787 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
9789         fnmatch: fix typo introduced on 2016-08-17
9790         This fixes the port to non-GCC compilers that lack __builtin_expect.
9791         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
9793         dfa: simplify with new function fillset
9794         * lib/dfa.c (fillset): New function.
9795         Use it for clarity when applicable.
9797         dfa: fix glitches with on-demand states
9798         Also, adjust commentary to better match new code.
9799         Some of these glitches predate the recent change.
9800         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
9801         only non-initial states.
9802         (dfastate): Rename locals to better match new roles.
9803         Move them into nested scopes if this is easy.
9804         Omit unnecessary calls to zeroset.
9805         Simplify test for whether to throw in the positions of state 0.
9806         Omit C99-ism (decl after statement) since Gawk still wants C89.
9807         (build_state): Omit unnecessary test and assignment.
9808         Fix some confusion that counted transition tables inaccurately
9809         and could cause a memory leak.
9810         (dfaexec_main): Redo to make it clearer to the compiler that
9811         -1 and -2 are the only negative state numbers here.
9813 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9815         dfa: addition of new state on demand
9816         * src/dfa.c (dfastate): Add argument UC, the current input character.
9817         Fill only a group including the character in transition table.
9818         (realloc_trans_if_necessary): Add the dummy state which means that a
9819         transition table is assigned but the next state is not assigned.
9820         (build_state): Return the next state.  All callers updated.
9821         (transit_state_singlebyte): If we get the dummy state,
9822         fill the transition table.
9823         (dfaexec_main): Handle the dummy state.
9824         (free_mbdata, dfafree): Consider the dummy state.
9826 2016-11-24  Daiki Ueno  <ueno@gnu.org>
9828         srclist: sync with released gettext
9829         * config/srclist.txt: Set "release" option to the files under
9830         $GETTEXT.
9832 2016-11-24  Daiki Ueno  <ueno@gnu.org>
9834         srclist: add "release" option
9835         * config/srclist.txt: Change the format so that the first column
9836         of each line points to the top-level directory of the source
9837         archive.
9838         * config/srclist-update: Accept "release" option that checks files
9839         from the most recently tagged revision in the source archive.
9841 2016-11-21  Bruno Haible  <bruno@clisp.org>
9843         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
9844         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
9845         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
9846         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
9847         Inline and remove member function 'rpl ()' of the wrapper struct.
9849 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
9851         dfa: fix logic typo
9852         Problem reported by Stephane Chazelas (Bug#24973).
9853         * lib/dfa.c (using_simple_locale): Fix typo that caused some
9854         non-simple locales like fr_FR to be treated as simple.
9856 2016-11-20  Jim Meyering  <meyering@fb.com>
9858         fix test driver leaks: exclude, malloc, realloc
9859         * tests/test-exclude.c (main): Fix trivial leak.
9860         * tests/test-malloc-gnu.c (main): Likewise.
9861         * tests/test-realloc-gnu.c (main): Likewise.
9862         With these changes, grep's tests are now leak free.
9863         I.e., running them with ASAN elicits no failure:
9864           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
9865             AM_LDFLAGS='-fsanitize=address -static-libasan' check
9867 2016-11-11  Bruno Haible  <bruno@clisp.org>
9869         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
9870         * modules/libunistring: (License): Change from LGPL to
9871         "LGPLv3+ or GPLv2".
9872         * modules/libunistring-optional: Likewise.
9873         * modules/unicase/*: Likewise.
9874         * modules/uniconv/*: Likewise.
9875         * modules/unictype/*: Likewise.
9876         * modules/unigbrk/*: Likewise.
9877         * modules/unilbrk/*: Likewise.
9878         * modules/uniname/*: Likewise.
9879         * modules/uninorm/*: Likewise.
9880         * modules/unistdio/*: Likewise.
9881         * modules/unistr/*: Likewise.
9882         * modules/uniwbrk/*: Likewise.
9883         * modules/uniwidth/*: Likewise.
9885 2016-11-12  Bruno Haible  <bruno@clisp.org>
9887         Relicense some modules under LGPLv2+.
9888         Paul Eggert's approval is in
9889         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
9890         Eric Blake's approval is in
9891         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
9892         Ludovic Courtès's approval is in
9893         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
9894         * modules/isnand-nolibm (License): Change to LGPLv2+.
9895         * modules/isnanf-nolibm (License): Likewise.
9896         * modules/isnanl-nolibm (License): Likewise.
9898 2016-11-19  Bruno Haible  <bruno@clisp.org>
9900         Relicense some modules under LGPLv2+.
9901         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
9902         modules/vasnprintf.
9903         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
9904         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
9905         All other significant changes to the files in lib/ of these modules
9906         are from me.
9907         * modules/memcmp2 (License): Change to LGPLv2+.
9908         * modules/amemxfrm (License): Likewise.
9909         * modules/fpieee (License): Likewise.
9910         * modules/fpucw (License): Likewise.
9911         * modules/frexp-nolibm (License): Likewise.
9912         * modules/frexpl-nolibm (License): Likewise.
9913         * modules/printf-frexp (License): Likewise.
9914         * modules/printf-frexpl (License): Likewise.
9915         * modules/printf-safe (License): Likewise.
9916         * modules/signbit (License): Likewise.
9918 2016-11-17  Bruno Haible  <bruno@clisp.org>
9920         Enable Unicode decoder safety unconditionally.
9921         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
9922         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
9923         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
9924         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
9925         * lib/unistr/u8-prev.c (u8_prev): Likewise.
9926         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
9927         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
9928         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
9929         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
9930         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
9931         * lib/unistr/u16-prev.c (u16_prev): Likewise.
9932         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
9933         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
9934         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
9935         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
9936         * lib/unistr/u32-prev.c (u32_prev): Likewise.
9937         * lib/unistr/u32-next.c (u32_next): Likewise.
9938         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
9939         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
9940         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
9941         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
9942         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
9943         CONFIG_UNICODE_SAFETY tests unconditionally.
9944         * tests/unistr/test-u32-mblen.c (main): Likewise.
9945         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
9946         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
9947         * tests/unistr/test-u32-next.c (main): Likewise.
9948         * tests/unistr/test-u32-strmblen.c (main): Likewise.
9949         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
9950         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
9951         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
9952         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
9953         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
9954         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
9955         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
9956         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
9957         * lib/unistr/u16-check.c (u16_check): Update comment.
9958         * NEWS: Mention the changes that callers should be aware of.
9960 2016-11-19  Bruno Haible  <bruno@clisp.org>
9962         relocatable-prog-wrapper: Fix breakage on Cygwin.
9963         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
9964         (Depends-on): Remove intprops.
9965         * lib/relocwrapper.c: Update dependency tree.
9966         (strerror): Undefine.
9967         * build-aux/install-reloc (func_create_wrapper): Do not compile
9968         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
9970 2016-11-19  Bruno Haible  <bruno@clisp.org>
9972         strerror: Make it compile in C++ mode.
9973         * lib/strerror.c (strerror): Ignore the return value of memcpy().
9975 2016-11-15  Pedro Alves  <palves@redhat.com>
9977         sys_time: add gnulib::timeval for C++
9978         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
9979         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
9980         timeval macro.
9982 2016-11-14  Pedro Alves  <palves@redhat.com>
9984         snippet/c++defs: fix real-floating arg functions in C++ mode
9985         Also, define isfinite, isinf, isnan, signbit in the gnulib
9986         namespace instead of in the global namespace.
9987         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
9988         (_GL_END_NAMESPACE): New.
9989         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
9990         (isfinite, isinf, isnan, signbit) [__cplusplus &&
9991         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
9992         instead of in the global namespace.
9993         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
9994         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
9995         of in the global namespace.
9997 2016-11-13  Jim Meyering  <meyering@fb.com>
9999         strftime: don't use __THROW
10000         Each use of __THROW would provoke this from gcc-7-to-be:
10002           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
10003             on unit local functions [-Wattributes]
10004           static int iso_week_days (int, int) __THROW;
10005           ^~~~~~
10006         * lib/strftime.c (__THROW): Don't define.
10007         Remove each use of __THROW.
10008         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
10009         (tm_diff, iso_week_days, __strftime_internal): Likewise.
10011 2016-11-14  Paul Eggert  <eggert@union>
10013         obstack: port to gcc -fcheck-pointer-bounds
10014         Problem found by 'make check' failure on bleeding-edge coreutils
10015         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
10016         6.2.0-5ubuntu12), configured via "./configure
10017         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
10018         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
10019         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
10020         New macro, copied from fts_.h.
10021         (struct _obstack_chunk.contents): Use it.
10023 2016-11-14  Eric Blake  <eblake@redhat.com>
10025         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
10026         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
10027         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
10029 2016-11-14  Pádraig Brady  <P@draigBrady.com>
10031         strptime: fix compile error in recent change
10032         * lib/strptime.c (__strptime_internal): Fix ported code.
10034 2016-11-11  Bruno Haible  <bruno@clisp.org>
10036         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
10037         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
10038         (func_import): Extend determination of license_incompatibilities.
10039         (func_create_testdir): Extend table of license compatibility. Handle
10040         also the licenses GPLv3+, GPL, LGPLv3+.
10042 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
10044         strftime: tune %q
10045         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
10047         Merge strftime.c changes from glibc
10048         This incorporates:
10049         2007-10-16 [BZ #5184] Add tzset_called argument
10050         2008-06-13 [BZ #6612] pass reference to tzset_called around
10051         2009-10-30 Implement Burmese language locale for Myanmar
10052         2010-01-09 Add support for XPG7 testing
10053         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
10054         2015-10-20 Convert miscellaneous function definitions to prototype style
10055         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
10056         it anyway and this lessens the difference between gnulib and glibc.
10057         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
10058         (__THROW): Define if standard headers do not.
10059         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
10060         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
10061         Declare with __THROW.
10062         (__strftime_internal): Rename from strftime_case_. Add arg for
10063         whether tzset is called.  All uses changed.  Call tzset at most
10064         once.  Allow %OC, for Burmese.
10065         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
10066         Don't assume values are in range.
10068 2016-11-12  Eric Blake  <eblake@redhat.com>
10070         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
10071         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
10072         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
10073         different value.
10075 2006-11-12  Pedro Alves  <palves@redhat.com>
10077         Fix gnulib C++ namespace support and std::frexp
10078         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
10079         _GL_CXXALIASWARN.
10081 2006-11-12  Pedro Alves  <palves@redhat.com>
10083         GNULIB_NAMESPACE::func need not pull in rpl_func
10084         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
10085         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
10086         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
10087         struct instead of a function pointer.
10089 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
10091         manywarnings: fix -Wno-missing-field-initializers detection
10092         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
10093         to be independent of -Wunused-variable.  I.E. ensure the latter
10094         warning doesn't occur so that detection of the former is accurate.
10096 2016-11-05  Pádraig Brady  <pbrady@fb.com>
10098         strftime,strptime: support %q to represent the quarter
10099         * lib/strftime.c (strftime_case_): Add %q case.
10100         * lib/strptime.c (__strptime_internal): Likewise.
10101         * tests/test-strftime.c (quarter_test): A new test case.
10103 2016-11-03  Eric Blake  <eblake@redhat.com>
10105         bootstrap: Fix get_version() for AIX 5.3
10106         * build-aux/bootstrap (get_version): Factor out sed script, since
10107         indented comments choke AIX 5.3 sed.
10108         Reported-by: Michael Felt <aixtools@gmail.com>
10110 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
10112         intprops: port to older XL C
10113         Problem reported by Alexander Samoilov in:
10114         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
10115         http://savannah.nongnu.org/bugs/?49448
10116         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
10117         Define to 1 only for XL C 12.1 or later, since this bug
10118         occurs in XL C for AIX 6.0 but not in 12.1.
10120 2016-11-02  Pádraig Brady  <P@draigBrady.com>
10122         backupfile: initialize default suffix within the implementation
10123         * lib/backupfile.c (find_backup_file_name): Initialize the
10124         global variable here, to simplify usage, and to only call
10125         getenv() when needed.
10127 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10129         futimens: remove FIXME for old Linux kernels
10130         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
10131         this in 2012" FIXME, like that for utimensat.
10133         utimensat: remove FIXME for old Linux kernels
10134         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
10135         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
10136         this in 2012" FIXME, by assuming the file system bug is absent
10137         unless demonstrated to be present.  We no longer need to worry
10138         about Linux kernel 2.6.32 when building with newer kernels.
10140 2016-10-16  Bruno Haible  <bruno@clisp.org>
10142         qsort_r: Fix macrology for platforms that lack the function.
10143         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
10144         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
10145         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
10146         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
10147         not exist.
10148         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
10149         the function exists.
10150         * modules/qsort_r: Add comments.
10152 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
10154         sys_types: fix Texinfo typos
10155         * doc/glibc-functions/gnu_dev_major.texi:
10156         * doc/glibc-functions/gnu_dev_makedev.texi:
10157         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
10159 2016-10-26  John David Anglin  <dave.anglin@bell.net>
10161         getprogname: port to HP-UX
10162         See Bug#24805.
10163         * lib/getprogname.c (getprogname) [__hpux]: Port.
10164         * tests/test-getprogname.c (STREQ) [__hpux]:
10165         Special-case for HP-UX limitations on program name length.
10167 2016-10-20  Bruno Haible  <bruno@clisp.org>
10169         Update doc about target platforms.
10170         * doc/gnulib-intro.texi (Target Platforms): Update list.
10172 2016-10-15  Bruno Haible  <bruno@clisp.org>
10174         opendir, readdir, closedir: Relicense under LGPLv2+.
10175         * modules/opendir (License): Change to LGPLv2+.
10176         * modules/readdir (License): Likewise.
10177         * modules/closedir (License): Likewise.
10179 2016-10-16  Bruno Haible  <bruno@clisp.org>
10181         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
10182         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
10183         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
10184         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
10185         HAVE_DECL_STRERROR_R.
10187 2016-10-16  Bruno Haible  <bruno@clisp.org>
10189         Make the 'argp' module work without the 'error' module.
10190         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
10192 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
10194         diffseq: restore TOO_EXPENSIVE heuristic
10195         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
10196         (Bug#24715).  The simplest solution is to restore the
10197         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
10198         using a higher threshold to avoid Bug#16848 on smaller files.
10199         * lib/diffseq.h (struct context): Restore member too_expensive.
10200         (struct partition): Restore members lo_minimal, hi_minimal.
10201         (diag, compareseq): Restore arg find_minimal.  All uses changed.
10202         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
10203         1993 to make 'diff' run faster (but not as well) on large inputs,
10204         but use a threshold of 4096 instead of the old 256.
10205         * lib/fstrcmp.c (strcmp_bounded):
10206         * lib/git-merge-changelog.c (compute_differences):
10207         Adjust to diffseq.h changes.
10209 2016-10-22  Bruno Haible  <bruno@clisp.org>
10211         iconv: Avoid compilation error when bootstrapping GNU libiconv.
10212         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
10213         declaration yet, define ICONV_CONST to empty.
10215 2016-10-15  Bruno Haible  <bruno@clisp.org>
10217         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
10218         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
10219         module.
10221 2016-10-16  Bruno Haible  <bruno@clisp.org>
10223         system-quote tests: Avoid compiler warning on AIX.
10224         * tests/test-system-quote-child.c (fopen): Redefine like the system's
10225         <stdio.h> does.
10227 2016-10-16  Bruno Haible  <bruno@clisp.org>
10229         Fix some "gcc -Wall" warnings.
10230         * tests/test-ffsl.c (main): Use variable x, not i.
10231         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
10232         freopen.
10233         * tests/test-sethostname1.c (main): Explicitly ignore the return value
10234         of sethostname.
10236 2016-10-16  Bruno Haible  <bruno@clisp.org>
10238         gnulib-tool: Make --create-testdir on all modules work again.
10239         * gnulib-tool (func_create_testdir): Don't include the
10240         non-recursive-gnulib-prefix-hack module.
10242 2016-10-21  Daiki Ueno  <ueno@gnu.org>
10244         libunistring: change the maintainer to 'all'
10245         * modules/gen-uni-tables, modules/libunistring:
10246         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
10247         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
10248         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
10249         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
10250         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
10251         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
10252         * modules/uniwidth/*: Change the maintainer to 'all'.
10254 2016-10-16  Bruno Haible  <bruno@clisp.org>
10256         Simplify "configure: checking ..." messages.
10257         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
10258         AC_MSG_NOTICE.
10259         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
10261 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
10263         quotearg-tests: pacify gcc -Wall
10264         Problem reported by Bruno Haible in:
10265         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
10266         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
10267         * tests/test-quotearg.h: ... from here.
10269 2016-10-20  Pádraig Brady  <P@draigBrady.com>
10271         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
10272         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
10273         Needed on Centos <= 4.
10275 2016-10-20  Jim Meyering  <meyering@fb.com>
10277         printf.m4: fix a bug in detecting printf %j support
10278         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
10279         uintmax_t is defined in neither stdint.h nor inttypes.h.
10280         Before, this macro might have mistakenly set
10281         gl_cv_func_printf_sizes_c99=yes on such a system.
10282         Spotted by Zev Weiss.
10284 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
10286         sched: substitute HAVE_SYS_CDEFS_H too
10287         Problem reported by Tom G. Christensen in:
10288         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
10289         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
10290         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
10292 2016-10-19  Pádraig Brady  <P@draigBrady.com>
10294         quotearg: never write beyond the returned length
10295         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
10296         scan of the string when we initially encounter a single quote when
10297         shell quoting, so that if we then switch to a more concise quoting method
10298         we will not have written beyond that returned length.
10299         This is significant for sh-quote, which has separate routines
10300         to determine the length and do the actual quoting.
10301         * tests/test-quotearg.h: Reinstate the buffer bounds checking
10302         now that we never write more than the returned length.
10304 2016-10-18  Bruno Haible  <bruno@clisp.org>
10306         getprogname tests: Avoid failure in packages that use libtool.
10307         * tests/test-getprogname.c (main): Strip "lt-" prefix.
10308         Based on a patch by Jim Meyering.
10310 2016-10-16  Bruno Haible  <bruno@clisp.org>
10312         getprogname: Fix test failure on Cygwin. Comments.
10313         * lib/getprogname.h: Add comments.
10314         * lib/getprogname.c: Add comments. Fix #elif indentation.
10315         * tests/test-getprogname.c (main): On Cygwin, expect a result without
10316         ".exe" suffix.
10318 2016-10-16  Bruno Haible  <bruno@clisp.org>
10320         Make sure the libunistring detection rejects older versions with a
10321         known bug.
10322         * modules/unistr/u8-strtok (configure.ac): Bump required version.
10323         * modules/unistr/u16-strtok (configure.ac): Likewise.
10324         * modules/unistr/u32-strtok (configure.ac): Likewise.
10326 2016-10-18  Bruno Haible  <bruno@clisp.org>
10328         sh-quote, system-quote: revert regression of unit test.
10329         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
10330         * tests/test-system-quote-main.c (check_one): Likewise.
10332 2016-10-16  Pádraig Brady  <P@draigBrady.com>
10334         quotearg: fix stale tests
10335         * tests/test-quotearg.c [locale_results]: Add the missing str7
10336         entries to the expected results.
10337         * tests/test-system-quote-main.c (check_one): Don't enforce that we
10338         don't write beyond the returned length, since that's no longer the
10339         case if we switch to a more concise quoting style.
10340         * tests/test-sh-quote.c (check_one): Likewise.
10341         (main): Adjust for the new more concise quoting style.
10342         Reported by Bruno Haible.
10344 2016-10-16  Jim Meyering  <meyering@fb.com>
10346         non-recursive-gnulib-prefix-hack: fix inconsequential typo
10347         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
10348         to "$1".  This macro is always invoked with $1 == lib.
10349         Spotted by Bruno Haible
10351 2016-10-16  Bruno Haible  <bruno@clisp.org>
10353         Fix a test crash.
10354         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
10355         fails.
10357 2016-10-16  Pádraig Brady  <P@draigBrady.com>
10359         test-limits-h: suppress -Woverlength-strings
10360         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
10362 2016-10-15  Bruno Haible  <bruno@clisp.org>
10364         gettime, timespec, utimens: Relicense under LGPL.
10365         * modules/gettime (License): Change to LGPL.
10366         * modules/timespec (License): Likewise.
10367         * modules/utimens (License): Likewise.
10369 2016-10-14  Bruno Haible  <bruno@clisp.org>
10370             Pádraig Brady  <P@draigBrady.com>
10372         canonicalize-lgpl: Support the case path_max > INT_MAX.
10373         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
10374         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
10376 2016-10-13  Jim Meyering  <meyering@fb.com>
10378         getprogname: IBM z/OS: avoid NULL-dereference
10379         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
10380         upon strdup failure.
10382 2016-10-12  Jim Meyering  <meyering@fb.com>
10384         test-stdint: use _GL_VERIFY rather than "verify" for some tests
10385         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
10386         and an abbreviated diagnostic rather than verify with the full one,
10387         because the full-length strings would evoke warnings from gcc with
10388         -Woverlength-strings.
10390 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
10392         stdint: port SIZE_MAX to glibc s390
10393         Problem reported by Eric Blake in:
10394         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
10395         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
10396         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
10397         correct type, if possible.
10399 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
10401         getprogname: port to IBM z/OS
10402         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
10404 2016-10-11  Jim Meyering  <meyering@fb.com>
10406         maint: remove stray space after "." in AC_DEFINE comment.
10407         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
10408         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
10410 2016-10-05  Jim Meyering  <meyering@fb.com>
10412         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
10413         * lib/long-options.c (parse_long_options): Add a break statement
10414         to avoid this new warning/failure:
10415         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
10416           --create-testdir --dir=/t/x --with-tests --test long-options
10417         ../../gllib/long-options.c: In function 'parse_long_options':
10418         ../../gllib/long-options.c:66:12: error: this statement may \
10419           fall through [-Werror=implicit-fallthrough]
10420                    (*usage_func) (EXIT_SUCCESS);
10421                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
10423 2016-10-05  Jim Meyering  <meyering@fb.com>
10425         utimecmp: avoid new GCC 7 warning from -Wbool-operation
10426         Testing this module would fail when using GCC 7 like this:
10427         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
10428           --dir=/tmp/x --with-tests --test utimecmp
10429         ../../gllib/utimecmp.c: In function ‘utimecmp’:
10430         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
10431           [-Werror=bool-operation]
10432                          time_t s = src_s & ~ (res == 2 * BILLION);
10433                                             ^
10434         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
10435           [-Werror=bool-operation]
10436                src_s &= ~ (res == 2 * BILLION);
10437                         ^
10438         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
10439         Instead, make it explicit that we intend to apply it to 0 or 1.
10441 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
10443         dfa: save memory for states
10444         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
10445         states if dfa has a lot of caches.
10447 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
10449         wchar, wctype-h: fix for MinGW 3.22.2
10450         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
10451         special invocation, to fix issues with MinGW 3.22.2 wchar.h
10452         when included from <string.h>.
10453         * lib/wctype.in.h [__MINGW32__]: Add special invocation
10454         convention for MinGW 3.22.2, to solve issues with their
10455         wctype.h when included from <ctype.h>.
10457 2016-10-05  Jim Meyering  <meyering@fb.com>
10459         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
10460         * lib/long-options.c (parse_long_options): Add a break statement
10461         to avoid this new warning/failure:
10462         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
10463           --create-testdir --dir=/t/x --with-tests --test long-options
10464         ../../gllib/long-options.c: In function ‘parse_long_options’:
10465         ../../gllib/long-options.c:66:12: error: this statement may \
10466           fall through [-Werror=implicit-fallthrough]
10467                    (*usage_func) (EXIT_SUCCESS);
10468                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
10470         utimecmp: avoid new GCC 7 warning from -Wbool-operation
10471         Testing this module would fail when using GCC 7 like this:
10472         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
10473           --dir=/tmp/x --with-tests --test utimecmp
10474         ../../gllib/utimecmp.c: In function ‘utimecmp’:
10475         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
10476           [-Werror=bool-operation]
10477                          time_t s = src_s & ~ (res == 2 * BILLION);
10478                                             ^
10479         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
10480           [-Werror=bool-operation]
10481                src_s &= ~ (res == 2 * BILLION);
10482                         ^
10483         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
10484         Instead, make it explicit that we intend to apply it to 0 or 1.
10486 2016-10-03  Pádraig Brady  <P@draigBrady.com>
10488         quotearg: minimize shell quoting using double quotes
10489         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
10490         quote in encountered then use double quotes (c style quoting)
10491         when possible, as it simplifies the quoting.
10492         * tests/test-quotearg-simple.c: Add test cases.
10493         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
10494         for the fact we now may write beyond the returned length.
10496 2016-10-02  Jim Meyering  <meyering@fb.com>
10498         vasnprintf.c: avoid spurious warning from GCC 7
10499         The presence of cpp directives renders this "FALLTHROUGH" comment
10500         ineffective, so does not suppress the -Wimplicit-fallthrough warning
10501         from GCC 7 built from git on 2016-10-02.
10502         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
10503         directives, so that it takes effect once again.  This is clearly
10504         not a proper change, and I will revert it once this bug is fixed:
10505         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
10507 2016-10-01  Jim Meyering  <meyering@fb.com>
10509         getprogname: correct the test for a __progname variable
10510         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
10511         and AC_LINK_IFELSE to check for a global __progname.  If found,
10512         define HAVE_VAR___PROGNAME.
10513         * lib/getprogname.c (getprogname): Reflect the new name of the
10514         feature- checked preprocessor symbol:
10515         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
10517 2016-09-28  Jim Meyering  <meyering@fb.com>
10519         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
10520         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
10521         fall-through case with a /* fallthrough */ comment.
10523         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
10524         * lib/dfa.c (dfassbuild): Mark the end of this case with a
10525         /* fallthrough */ comment.
10527         getprogname: avoid __progname vs program_invocation_short_name pitfall
10528         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
10529         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
10530         not with Fedora 24's glibc-2.23.1-10.
10531         * lib/getprogname.c (__progname): Move this declaration down...
10532         (getprogname): ... into the #elif block where used, and make it
10533         explicitly "extern".
10535         getprogname: port to OpenBSD 5.1
10536         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
10537         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
10538         * modules/getprogname (configure.ac): Move most of this code...
10539         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
10540         increment serial number, and add a test for __progname.
10541         https://bugs.gnu.org/24562
10542         Reported by Nelson H. F. Beebe.
10544 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10546         sched: port to GCC 6.2.1 on macOS Sierra
10547         Problem reported by Denis Davydov in:
10548         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
10549         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
10550         Include <sys/cdefs.h> before <sched.h>.
10551         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
10552         so that we needn’t worry about the sched.h include bug here.
10553         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
10554         and include it before <sched.h> if it exists, when
10555         checking for <sched.h>.
10557         tests/init.sh: port Alpine fix to AIX 7.1
10558         * tests/init.sh (compare_): When attempting to use diff -U3,
10559         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
10560         diff -u not outputting a space after leading '+', as the users
10561         of 'compare' should not be that picky about its output format.
10562         In the AIX 7.1 case, return with diff exit status (or with 2 if
10563         trouble), instead of some random nonzero exit status.
10564         * tests/test-init.sh (test_compare): Remove space after leading
10565         '+', so that AIX 7.1 'diff' passes the test.
10567 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10569         nl_langinfo: pacify GCC
10570         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
10571         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
10573         stdint: also set GL_GENERATE_LIMITS_H
10574         Problem reported by Jim Meyering in:
10575         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
10576         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
10578         limits-h, stdint: Don't assume extensions, fix typo
10579         * m4/limits-h.m4 (gl_LIMITS_H):
10580         * m4/stdint.m4 (gl_STDINT_H):
10581         Don't assume AC_USE_SYSTEM_EXTENSIONS.
10582         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
10583         reported by Jim Meyering in:
10584         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
10586 2016-09-21  Jim Meyering  <meyering@fb.com>
10588         getprogname: port to AIX
10589         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
10590         and strdup to obtain a short program name string.  Using code from
10591         Bruno Haible and an idea from Bastien ROUCARIÈS, in
10592         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
10593         Assaf Gordon reported that this new file would fail to compile on
10594         AIX-7.1 32bit.
10596 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10598         extensions: fix typo in comment
10599         * m4/extensions.m4: Sync from Autoconf master.
10601         stdint: support new _WIDTH macros
10602         * doc/posix-headers/stdint.texi: Document this.
10603         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
10604         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
10605         support for INTMAX_WIDTH, etc. as well as for support for just C99.
10606         * modules/stdint (Depends-on): Add limits-h.
10607         (Makefile.am): Substitute HAVE_C99_STDINT_H.
10608         * modules/stdint-tests (Depends-on): Add extensions, so that
10609         INTMAX_MAX etc. are defined.
10610         * tests/test-stdint.c: Verify the new macros.
10612         limits-h: new module
10613         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
10614         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
10615         * doc/posix-headers/limits.texi: Document new module.
10616         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
10617         * modules/limit-h-tests, tests/test-limits-h.c: New files.
10619         stdio: don't redefine __USE_MINGW_ANSI_STDIO
10620         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
10621         if it is already defined.  Apparently GNU Emacs relies on this.  See:
10622         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
10624 2016-09-15  Eric Blake  <eblake@redhat.com>
10626         sys_types: avoid glibc 2.25 warnings about major()
10627         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
10628         older autoconf.
10629         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
10630         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
10631         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
10632         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
10634         mountlist: include sysmacros.h for glibc
10635         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
10636         AC_HEADER_MAJOR.
10637         * lib/mountlist.c (includes): Use correct headers.
10639 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10641         extensions: port to more ISO C TSes
10642         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
10643         master, to add support for more recent ISO C TRs and TSes.
10645 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10647         intprops: new macro TYPE_WIDTH
10648         * lib/intprops.h (TYPE_WIDTH): New macro.
10649         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
10650         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
10651         * lib/parse-datetime.y (parse_datetime2):
10652         Use it.
10654         extensions: port to recent ISO C TRs
10655         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
10656         Sync from Autoconf master, to add support for recent ISO C TRs.
10657         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
10658         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
10659         the MinGW option is not an extension.
10661 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
10663         dfa: port to Solaris 9
10664         Problems reported by Tom G. Christensen in:
10665         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
10666         * modules/dfa (Depends-on): Add isblank.
10667         * modules/dfa-tests (dfa_match_aux_LDADD):
10668         Rename from test_stat_LDADD, to fix typo.
10669         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
10671 2016-09-10  Jim Meyering  <meyering@fb.com>
10673         strverscmp: avoid link failure on OS X
10674         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
10675         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
10677 2016-08-16  Jim Meyering  <meyering@fb.com>
10679         dfa: new module, importing grep's DFA matcher
10680         Since grep's DFA matcher is now being used by two gnulib-enabled
10681         projects, grep and sed, it makes sense to version-control its
10682         sources and unit tests in one place: here.
10683         * modules/dfa: New module.
10684         * modules/dfa-tests: New file.
10685         * lib/dfa.c: New file, from grep.
10686         * lib/dfa.h: Likewise.
10687         * lib/localeinfo.c: Likewise.
10688         * lib/localeinfo.h: Likewise.
10689         * tests/dfa-match-aux.c: Likewise.
10690         * tests/dfa-invalid-char-class.sh: Likewise.
10691         * tests/dfa-match.sh: Likewise, with minor changes.
10692         * MODULES.html.sh (Misc): Add "dfa" to this list.
10694 2016-09-09  Jim Meyering  <meyering@fb.com>
10696         getprogname-tests: don't depend on assert-h
10697         * modules/getprogname-tests (Depends-on): Remove assert-h.
10698         It was not needed, and in fact would cause build failure for
10699         coreutils on some systems.  Reported by Assaf Gordon in https:
10700         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
10702 2016-09-07  Jim Meyering  <meyering@fb.com>
10704         getprogname-tests: work also when EXEEXT is nonempty
10705         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
10706         * tests/test-getprogname.c (main): Use it.
10707         Suggested by Gisle Vanem.
10709 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
10711         getprogname: fix errors in previous change
10712         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
10713         s/program_invocation_name/base/
10714         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
10716 2016-09-08  Pádraig Brady  <P@draigBrady.com>
10718         parse-datetime: restrict debug output to input string
10719         * lib/parse-datetime.y (parse_datetime2): If we parse
10720         all of the input but determine it's invalid, ensure
10721         we don't output the now invalid input pointer.
10722         This issue was seen with `date -d 'now +1'`.
10724 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
10726         flexmember: new macro FLEXALIGNOF
10727         * lib/flexmember.h: Include <stddef.h>, for offsetof.
10728         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
10729         this macro.  Update comments.
10731 2016-09-07  Jim Meyering  <meyering@fb.com>
10733         getprogname: port to systems with __argv (mingw, msvc)
10734         * lib/getprogname.c (getprogname): Include "dirname.h" and use
10735         last_component: more general than open coding it with hard-coded "/".
10736         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
10737         * modules/getprogname (Depends-on): Add dirname-lgpl.
10738         (configure.ac): Check for __argv in <stdlib.h>.
10739         * modules/getprogname-tests: New file.
10740         * tests/test-getprogname.c: New file.
10741         Suggested by Gisle Vanem in
10742         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
10744 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
10746         flexmember: port better to GCC + valgrind
10747         With a char[] flexible array member in a struct with nontrivial
10748         alignment, GCC-generated code can access past the end of the
10749         array, because GCC assumes there are padding bytes to get the
10750         struct aligned.  So the common idiom of malloc (offsetof (struct
10751         s, m), n) does not properly allocate an n-byte trailing member, as
10752         malloc’s argument should be the next multiple of alignof (struct s).
10753         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
10754         Although C11 apparently permits this GCC optimization (i.e., there
10755         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
10756         See the thread containing:
10757         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
10758         * lib/flexmember.h: New file.
10759         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
10760         * lib/localename.c, lib/time_rz.c:
10761         Include flexmember.h.
10762         * lib/fnmatch_loop.c (struct patternlist):
10763         * lib/localename.c (struct hash_node):
10764         Use FLEXIBLE_ARRAY_MEMBER.
10765         * lib/fnmatch_loop.c (EXT):
10766         * lib/fts.c (fts_alloc):
10767         * lib/glob.c (glob_in_dir):
10768         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
10769         * lib/localename.c (gl_lock_define_initialized):
10770         * lib/time_rz.c (tzalloc):
10771         Use FLEXSIZEOF instead of offsetof.
10772         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
10773         Check that the size of the struct can be taken.
10774         * modules/flexmember (Files): Add lib/flexmember.h.
10775         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
10776         Add flexmember.
10778 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10780         getprogname: port to Solaris 10
10781         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
10782         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
10783         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
10785         stdalign: correct mistake in alignof doc
10786         Problem reported by Joseph Myers in:
10787         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
10788         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
10789         alignof(S) where S is a structure containing a flexible array
10790         member.  The Gnulib substitute does not support this, but C11 does.
10792 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10794         main.mk: remove sc_program_name, since there is no more need to
10795         use set_program_name in tools (getprogname is enough for most
10796         of the cases).
10797         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
10798         * top/maint.mk (sc_program_name): Remove.
10800 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10802         Port tests away from progname, since modules that need the
10803         program name already depend on getprogname.
10804         * modules/acl-tests (Depends-on): Remove progname.
10805         * modules/argmatch (Depends-on): Likewise.
10806         * modules/argmatch-tests (Depends-on): Likewise.
10807         * modules/argp-tests (Depends-on): Likewise.
10808         * modules/argp-version-etc-tests (Depends-on): Likewise.
10809         * modules/array-list-tests (Depends-on): Likewise.
10810         * modules/array-oset-tests (Depends-on): Likewise.
10811         * modules/avltree-list-tests (Depends-on): Likewise.
10812         * modules/avltree-oset-tests (Depends-on): Likewise.
10813         * modules/avltreehash-list-tests (Depends-on): Likewise.
10814         * modules/carray-list-tests (Depends-on): Likewise.
10815         * modules/copy-file-tests (Depends-on): Likewise.
10816         * modules/exclude-tests (Depends-on): Likewise.
10817         * modules/fchownat-tests (Depends-on): Likewise.
10818         * modules/fdopendir-tests (Depends-on): Likewise.
10819         * modules/filenamecat-tests (Depends-on): Likewise.
10820         * modules/fstatat-tests (Depends-on): Likewise.
10821         * modules/fstrcmp-tests (Depends-on): Likewise.
10822         * modules/linked-list-tests (Depends-on): Likewise.
10823         * modules/linkedhash-list-tests (Depends-on): Likewise.
10824         * modules/mkdirat-tests (Depends-on): Likewise.
10825         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
10826         * modules/nonblocking-socket-tests (Depends-on): Likewise.
10827         * modules/obstack-printf-tests (Depends-on): Likewise.
10828         * modules/openat-tests (Depends-on): Likewise.
10829         * modules/parse-datetime-tests (Depends-on): Likewise.
10830         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
10831         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
10832         * modules/quotearg-simple-tests (Depends-on): Likewise.
10833         * modules/quotearg-tests (Depends-on): Likewise.
10834         * modules/rbtree-list-tests (Depends-on): Likewise.
10835         * modules/rbtree-oset-tests (Depends-on): Likewise.
10836         * modules/rbtreehash-list-tests (Depends-on): Likewise.
10837         * modules/spawn-pipe-tests (Depends-on): Likewise.
10838         * modules/system-quote-tests (Depends-on): Likewise.
10839         * modules/uniname/uniname-tests (Depends-on): Likewise.
10840         * modules/uninorm/nfc-tests (Depends-on): Likewise.
10841         * modules/uninorm/nfd-tests (Depends-on): Likewise.
10842         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
10843         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
10844         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
10845         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
10846         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
10847         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
10848         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
10849         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
10850         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
10851         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
10852         * modules/unlinkat-tests (Depends-on): Likewise.
10853         * modules/version-etc-tests (Depends-on): Likewise.
10854         * modules/xalloc-die-tests (Depends-on): Likewise.
10855         * modules/xmemdup0-tests (Depends-on): Likewise.
10856         * modules/xprintf-posix-tests (Depends-on): Likewise.
10857         * modules/xvasprintf-tests (Depends-on): Likewise.
10858         * tests/test-argmatch.c: Do not include progname.h.
10859         (main) Stop calling set_program_name.
10860         * tests/test-argp-version-etc.c: Likewise.
10861         * tests/test-argp.c: Likewise.
10862         * tests/test-argv-iter.c: Likewise.
10863         * tests/test-array_list.c: Likewise.
10864         * tests/test-array_oset.c: Likewise.
10865         * tests/test-avltree_list.c: Likewise.
10866         * tests/test-avltree_oset.c: Likewise.
10867         * tests/test-avltreehash_list.c: Likewise.
10868         * tests/test-carray_list.c: Likewise.
10869         * tests/test-copy-acl.c: Likewise.
10870         * tests/test-copy-file.c: Likewise.
10871         * tests/test-exclude.c: Likewise.
10872         * tests/test-fchownat.c: Likewise.
10873         * tests/test-fdopendir.c: Likewise.
10874         * tests/test-filenamecat.c: Likewise.
10875         * tests/test-fstatat.c: Likewise.
10876         * tests/test-fstrcmp.c: Likewise.
10877         * tests/test-linked_list.c: Likewise.
10878         * tests/test-linkedhash_list.c: Likewise.
10879         * tests/test-mkdirat.c: Likewise.
10880         * tests/test-nonblocking-pipe-main.c: Likewise.
10881         * tests/test-nonblocking-socket-main.c: Likewise.
10882         * tests/test-obstack-printf.c: Likewise.
10883         * tests/test-openat.c: Likewise.
10884         * tests/test-parse-datetime.c: Likewise.
10885         * tests/test-pipe-filter-gi1.c: Likewise.
10886         * tests/test-pipe-filter-gi2-main.c: Likewise.
10887         * tests/test-pipe-filter-ii1.c: Likewise.
10888         * tests/test-pipe-filter-ii2-main.c: Likewise.
10889         * tests/test-quotearg-simple.c: Likewise.
10890         * tests/test-quotearg.c: Likewise.
10891         * tests/test-rbtree_list.c: Likewise.
10892         * tests/test-rbtree_oset.c: Likewise.
10893         * tests/test-rbtreehash_list.c: Likewise.
10894         * tests/test-sameacls.c: Likewise.
10895         * tests/test-set-mode-acl.c: Likewise.
10896         * tests/test-spawn-pipe-main.c: Likewise.
10897         * tests/test-system-quote-main.c: Likewise.
10898         * tests/test-unlinkat.c: Likewise.
10899         * tests/test-version-etc.c: Likewise.
10900         * tests/test-xalloc-die.c: Likewise.
10901         * tests/test-xfprintf-posix.c: Likewise.
10902         * tests/test-xmemdup0.c: Likewise.
10903         * tests/test-xprintf-posix.c: Likewise.
10904         * tests/test-xvasprintf.c: Likewise.
10905         * tests/uniname/test-uninames.c: Likewise.
10906         * tests/uninorm/test-u32-nfc-big.c: Likewise.
10907         * tests/uninorm/test-u32-nfd-big.c: Likewise.
10908         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
10909         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
10910         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
10911         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
10912         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
10913         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
10914         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
10915         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
10916         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
10917         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
10918         * tests/test-c-stack.c: (program_name): Do not define.
10919         (main): Do not set program_name.
10920         * tests/test-closein.c: Likewise.
10921         * tests/test-xstrtol.c: Likewise.
10922         * tests/test-yesno.c: Likewise.
10924 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10926         Port modules to use getprogname explicitly, instead of requiring
10927         progname to be used (or program_name to be provided).
10928         * lib/argmatch.c: Do not include progname.h.
10929         [TEST] (program_name): Do not define.
10930         [TEST] (main): Call getprogname instead of using program_name.
10931         * lib/c-stack.c: Do not include progname.h.
10932         (program_name): Do not define.
10933         (die): Call getprogname instead of using program_name.
10934         * lib/chdir-long.c: Do not include progname.h.
10935         [TEST_CHDIR] (main): Do not set program_name.
10936         * lib/error.c [!_LIBC]: Include progname.h.
10937         [!_LIBC] (program_name): Define using getprogname.
10938         * lib/euidaccess.c: Do not include progname.h.
10939         [TEST] (main): Do not set program_name.
10940         * lib/git-merge-changelog.c: Include getprogname.h instead of
10941         progname.h.
10942         (usage): Call getprogname instead of using program_name.
10943         (main): Likewise.  Stop calling set_program_name.
10944         * lib/group-member.c: Do not include progname.h.
10945         [TEST] (main): Do not set program_name.
10946         * modules/argmatch (Depends-on): Add getprogname.
10947         * modules/c-stack (Depends-on): Likewise.
10948         * modules/error (Depends-on): Likewise.
10949         * modules/git-merge-changelog (Depends-on): Likewise.
10950         Also remove progname.
10952 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
10954         * NEWS: Document the deprecation of the 'progname' module.
10956 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10958         getprogname: new module
10959         This provides a LGPL module for getting the name of the current
10960         program, using the same API found on *BSD systems.
10961         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
10962         * modules/getprogname: New files.
10963         * MODULES.html.sh (Misc): Add getprogname.
10965 2016-09-02  Jim Meyering  <meyering@fb.com>
10967         manywarnings: add -fno-common
10968         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
10969         to the list.  Quoting the manual, "Compiling with -fno-common is
10970         useful on targets for which it provides better performance, or if
10971         you wish to verify that the program will work on other systems that
10972         always treat uninitialized variable declarations this way [putting
10973         it in the data section]."  If diffutils had been using this sooner,
10974         it would have prevented this duplicate declaration issue:
10975         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
10977 2016-08-31  Simon Josefsson  <simon@josefsson.org>
10979         parse-datetime: Fix typo.
10980         * lib/parse-datetime.y (parse_datetime2): Fix typo.
10982 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10984         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
10985         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
10986         GCC 5 and 6 that have __builtin_sub_overflow but not
10987         __builtin_sub_overflow_p.  With the recent changes, these
10988         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
10989         implementation than with INT_SUBTRACT_OVERFLOW implementation,
10990         since the former needs just one runtime comparison whereas the
10991         latter needs two.
10993         strverscmp: sync with glibc
10994         Although this doesn't exactly synchronize with glibc
10995         byte-for-byte, it makes the code behave the same as glibc.
10996         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
10997         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
10998         difference shouldn't matter in practical use.  All uses changed
10999         back to isdigit.
11000         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
11001         (next_state): Now unsigned char array; redo elements.
11002         (result_type): Now signed char array; redo elements.
11003         (__strverscmp): Fix glibc bug 9913 by using new states.
11004         * tests/test-strverscmp.c (main): Test glibc bug 9913.
11006 2016-08-29  Jim Meyering  <meyering@fb.com>
11008         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
11009         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
11010         similarly to how it was done to intprops.h.
11012 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
11014         intprops.h: port recent changes to GCC 6.2.0
11015         * lib/intprops.h (__has_builtin): Move earlier.
11016         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
11017         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
11018         the last argument can be null.  All uses changed.
11019         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
11020         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
11021         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
11022         and it's not clear which GCC versions it works for.
11023         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
11024         its definiens.
11026         intprops.h: use __typeof__ with GCC 7
11027         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
11028         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
11029         This avoids computing the expression's value (which might overflow!).
11031 2016-08-29  Jim Meyering  <meyering@fb.com>
11033         intprops.h, xalloc-oversized.h: work with gcc 7
11034         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
11035         __builtin_mul_overflow each accept a NULL pointer as the third
11036         argument.  However in gcc 7, that is no longer accepted.
11037         Instead, one must use the "_p"-suffixed names, with which, the
11038         third parameter is no longer a pointer.
11039         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
11040         the definition: not true for gcc 7 and subsequent.
11041         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
11042         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
11043         Provide new definitions for gcc 7 and subsequent.
11044         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
11045         that works with gcc-7.
11047         intprops.h: fix missing-backslash problems
11048         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
11049         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
11051 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11053         intprops: fix paren typo on old platforms
11054         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
11055         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
11056         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
11057         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
11058         && !defined LLONG_MAX]:
11059         Remove stray paren.
11061         intprops: port to OpenVMS
11062         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
11063         * doc/posix-headers/limits.texi: Document the problem.
11064         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
11065         Define if not already defined.
11067 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
11069         parse-datetime: improve debug implementation
11070         Follow-up to commit 12ad79069 ("add optional debug printing").
11071         Improve parse-datetime's debug implementation: remove macros,
11072         replace global debug flag variable with a function parameter,
11073         use nstrftime for formatting.
11074         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
11075         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
11076         (parse_datetime2): New function, accepts 'flags' parameter, supporting
11077         debug flag. Existing interface 'parse_datetime' left unmodified.
11078         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
11079         (struct parser_control): add 'parse_datetime_debug' member variable.
11080         (parse_datetime): Call new function 'parse_datetime2' without debug.
11081         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
11082         pc.parse_datetime_debug variable as needed.
11083         (to_year): Accept new flags parameter, instead of using global variable.
11084         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
11085         use struct 'debug' variable instead of global variable.
11086         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
11087         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
11088         correspnding functions directly instead of using macros.
11089         * modules/parse-datetime: Add gnulib's strftime module.
11091 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
11093         c-strcase-tests: port to EBCDIC
11094         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
11095         which assume ASCII encoding semantics to run only in ASCII
11096         mode, as they fail in EBCDIC.
11098         sigpipe-tests: fix typo
11099         * tests/test-sigpipe.sh: C, not B.
11101 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
11103         canonicalize-lgpl: fix errno after malloca fails
11104         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
11105         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
11106         * lib/canonicalize-lgpl.c (__realpath):
11107         Don't assume malloca sets errno on failure.
11109 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11111         strtod: port errno handling to z/OS
11112         * lib/strtod.c (strtod): Save and restore errno more reliably.
11114 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
11116         strtod: port to z/OS
11117         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
11118         implementation.
11120 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11122         strtod: port to z/OS
11123         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
11124         implementation.
11126         regex, string: rename to avoid '__string'
11127         * lib/regex.h, lib/string.in.h: Do not use the identifier
11128         '__string', as it is effectively reserved by string.h on z/OS.
11130         c-strcase-tests, wcwidth-tests: depend on c-ctype
11131         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
11132         Add c-ctype.
11134 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
11136         thread: port to z/OS
11137         * lib/glthread/thread.c, lib/glthread/thread.h:
11138         Rudimentary gl_thread support for z/OS.
11140         maint: port tests to z/OS errno behavior
11141         * tests/test-nonblocking-reader.h:
11142         * tests/test-nonblocking-writer.h:
11143         Accommodate z/OS errno code preferences. (I believe this should
11144         still be within spec; IBM is good at following the letter if not
11145         the spirit of such things.)
11147         maint: preprocessor changes to support z/OS
11148         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
11149         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
11150         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
11151         * tests/test-nonblocking-pipe.h:
11153         fclose, strstr-simple, wchar: port to z/OS
11154         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
11155         Changes to the Autoconf M4 code to support z/OS.  Note that
11156         fclose() is broken in a different way on z/OS than it is on other
11157         systems, thus the special-case in fclose.m4.
11159         iconv_open-utf-tests, iconv-tests: port to EBCDIC
11160         * tests/test-iconv-utf.c, tests/test-iconv.c:
11161         Added appropriately conditional #pragmas so that the test strings
11162         in test-iconv-utf.c are correctly interpreted in ASCII instead of
11163         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
11164         addressed in a more portable way by simply rewriting all the ASCII
11165         literal characters as octal escapes, but then you would lose the
11166         partial readability that the strings have now. Also, iconv_open()
11167         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
11169         c-strcase-tests, wcwidth-tests: port to EBCDIC
11170         * tests/test-c-strcasecmp.c: Include c-ctype.h.
11171         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
11172         * tests/test-wcwidth.c: Likewise.
11174 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11176         stdbool: don't require _Bool for C++
11177         Problem reported by David Seifert in:
11178         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
11179         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
11180         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
11181         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
11182         stricter about checking that bool and _Bool are compatible in C.
11184 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
11186         getdelim: remove dependency on realloc-posix
11187         * lib/canonicalize-lgpl.c (alloc_failed)
11188         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
11189         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
11190         Use __set_errno where needed, for consistency.
11191         * lib/getdelim.c (alloc_failed): New function.
11192         (getdelim): Use it.
11194 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
11196         parse-datetime: add optional debug printing
11197         Print parsing information, warnings, and errors to stderr.
11198         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
11199         * lib/parse-datetime.y:
11200         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
11201         (PROGRESS*): Same as DEBUG, for progress reporting.
11202         (dbg_printf): Print message to stderr, with 'date' prefix.
11203         (struct parser_control): Add 'debug_*_seen' variables.
11204         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
11205         (debug_print_current_time, debug_print_relateive_time): Prints the
11206         current/relative date/time value of parser_control.
11207         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
11208         (to_year): Warn about 2-digit year parsing.
11209         (yylex):   Warn about unrecognized words.
11210         (get_effective_timezone): Returns current timezone in minutes.
11211         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
11212         clearly and unambigiously as possible.
11213         (debug_mktime_not_ok): Print detailed information about failed
11214         date/time values.
11215         (parse_datetime): Add DEBUG messages for failures, warnings. Add
11216         PROGRESS messages for status messages.
11217         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
11219 2016-08-06  Jim Meyering  <meyering@fb.com>
11221         tests/init.sh: exclude dash with bad "local" semantics
11222         * tests/init.sh (gl_shell_test_script_): Add a function to
11223         eliminate a shell like "dash" (unlike bash, zsh) that has
11224         surprising/risky "local var='...'" semantics.  Inspired by
11225         the problem and discussion in https://bugs.gnu.org/24116#11.
11227 2016-08-02  Ján Tomko  <jtomko@redhat.com>
11229         maint.mk: expand the prohibit_doubled_word regex
11230         This check has a static list of words that are checked for
11231         repetitions.  Expand it before running the perl script to
11232         avoid using expensive captures.  This decreases the cost
11233         for libvirt from 1.66s to 0.66s.
11234         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
11235         (sc_prohibit_doubled_word): Use it.
11237 2016-07-26  Ján Tomko  <jtomko@redhat.com>
11239         useless-if-before-free: skip non-matching lines early
11240         * build-aux/useless-if-before-free: First match each line with the
11241         simple/quick /\bif\b/ and reject if there is no match. This often
11242         saves the cost of the much more involved regular expression.
11243         For libvirt, this decreases the cost from 1.44s to 1.02s.
11245 2016-07-26  Ján Tomko  <jtomko@redhat.com>
11247         maint.mk: speed up sc_po_check
11248         sc_po_check would skip files based on their names, or on the
11249         existence of files with derived names. Rewrite it to use perl
11250         instead of shell to make the check faster.
11251         * top/maint.mk (perl_translatable_files_list_): Define.
11252         (sc_po_check): Use it.
11254 2016-07-30  Ján Tomko  <jtomko@redhat.com>
11256         maint.mk: speed up require_config_h_first
11257         Instead of spawning three processes per file,
11258         rewrite the check in perl and run it once for all the files.
11259         * top/maint.mk (perl_config_h_first_): Define.
11260         (sc_require_config_h_first): Use it in place of shell code.
11262 2016-07-26  Ján Tomko  <jtomko@redhat.com>
11264         maint.mk: speed up sc_po_check
11265         sc_po_check would skip files based on their names, or on the
11266         existence of files with derived names. Rewrite it to use perl
11267         instead of shell to make the check faster.
11268         * top/maint.mk (perl_translatable_files_list_): Define.
11269         (sc_po_check): Use it.
11271 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
11273         obstack: pacify GCC 6 with -Wnull-dereference
11274         Problem reported by Assaf Gordon in:
11275         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
11276         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
11277         Declare with __attribute_noreturn__.
11278         * lib/obstack.h (__attribute_noreturn__): New macro.
11280 2016-07-13  Eric Blake  <eblake@redhat.com>
11282         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
11283         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
11284         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
11286 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
11288         doc: mention glibc SSIZE_MAX buglet
11289         * doc/posix-headers/limits.texi (limits.h): Document the bug.
11291 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
11293         printf-posix: Fix mingw build
11294         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
11295         expression for detecting C symbol prefixes but forgot to qoute square
11296         brackets in the command line arguments for grep.  That way when
11297         building with mingw the condition was false although it ought to be
11298         true instead.  In particular scenarios this led to the following
11299         compile error:
11301             Cannot export rpl_printf: symbol not found
11302             Cannot export rpl_scanf: symbol not found
11303             collect2: error: ld returned 1 exit status
11305         Fix this by properly quoting square brackets.
11307 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
11309         mktime: call tzset as per POSIX
11310         Problem reported by Ludovic Courtès in:
11311         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
11312         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
11313         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
11315 2016-06-26  Pádraig Brady  <P@draigBrady.com>
11317         fts: handle readdir() errors
11318         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
11319         but also upon error when it will also set errno.  Therefore
11320         flag the error case from readdir().  We treat the case where
11321         no items are read the same as if the dir can't be accessed,
11322         i.e. by setting fts_errno to FTS_DNR.
11324 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
11326         intprops: port better to GCC 7
11327         GCC 7 __builtin_add_overflow supports a new usage form, where the
11328         last argument is a null pointer, and which merely returns 1 if an
11329         overflow would occur.  This is a constant expression if all
11330         arguments are constants, and should generate faster code when code
11331         needs to be generated.
11332         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
11333         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
11334         Use builtin operations if available.
11335         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
11336         operations are available, as it's almost surely faster.
11338 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
11340         intprops-test: port to GCC 6
11341         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
11342         since the bug is not fixed in GCC 6.1.
11344 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
11346         xalloc-oversized: port to GCC 7; fewer warnings
11347         GCC 7 will have a better way to deal with integer overflow.
11348         Plus, fix a warnings problem reported by Tim Ruehsen in:
11349         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
11350         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
11351         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
11352         For GCC 5, use __xalloc_oversized if both args are constants,
11353         or if pedantic.
11355 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
11357         regex: port to Sun C
11358         Reported by Daiki Ueno.
11359         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
11360         __restrict, in prototype.  This fixes a problem I introduced in
11361         the 2016-02-19 merge from glibc.
11363 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
11365         stdbool: Restore __bool_true_false_are_defined check
11366         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
11367         __bool_true_false_are_defined is still defined, even with C++11.
11369 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
11371         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
11372         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
11374 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
11376         Use GCC_LINT, not lint
11377         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
11378         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
11379         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
11380         Document problem with lint and _Noreturn.
11381         * lib/diffseq.h (IF_LINT, IF_LINT2):
11382         * lib/fts.c (sccsid):
11383         * lib/getndelim2.c (IF_LINT):
11384         * lib/gl_anylinked_list2.h (gl_linked_iterator)
11385         (gl_linked_iterator_from_to):
11386         * lib/gl_anytree_list2.h (gl_tree_iterator)
11387         (gl_tree_iterator_from_to):
11388         * lib/gl_anytree_oset.h (gl_tree_iterator):
11389         * lib/gl_array_list.c (gl_array_iterator)
11390         (gl_array_iterator_from_to):
11391         * lib/gl_array_oset.c (gl_array_iterator):
11392         * lib/gl_carray_list.c (gl_carray_iterator)
11393         (gl_carray_iterator_from_to):
11394         * lib/idcache.c:
11395         * lib/inet_ntop.c (IF_LINT):
11396         * lib/regcomp.c (build_charclass_op, create_tree):
11397         * lib/regex_internal.c (re_acquire_state)
11398         (re_acquire_state_context):
11399         * lib/trigl.c (rcsid):
11400         * lib/trim.c (IF_LINT):
11401         * lib/vasnprintf.c (IF_LINT):
11402         * lib/verify.h (assume):
11403         Treat GCC_LINT like lint.
11405 2016-05-29  Bruno Haible  <bruno@clisp.org>
11407         secure_getenv: Port to many more platforms.
11408         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
11409         functions.
11410         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
11411         for non-BSD Unix platforms and for native Windows.
11412         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
11413         Prompted by a request from Nikos Mavrogiannopoulos.
11415 2016-05-27  Eric Blake  <eblake@redhat.com>
11417         canonicalize: Fix broken probe for realpath.
11418         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
11419         in logic introduced in 54615b95.
11421 2016-05-26  Eric Blake  <eblake@redhat.com>
11423         unsetenv: relax to LGPLv2+
11424         * modules/unsetenv (License): Match setenv license.
11426 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
11428         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
11429         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
11430         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
11431         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
11432         (commonarg, dirargs, dirs, infoarg, generate_ascii)
11433         (generate_html, generate_info, generate_tex, outdir)
11434         (source_extra, split, srcfile, texarg): Move above 'version'.
11435         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
11437 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
11439         manywarnings: update for GCC 6.1
11440         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
11441         Add GCC 6.1 options that apply to C.
11442         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
11443         do not apply to C, are obsolescent, etc.
11445 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
11447         glob: size_t overflow checks
11448         * lib/glob.c (__has_builtin): New macro.
11449         (size_add_wrapv, glob_use_alloca): New static functions.
11450         (glob, glob_in_dir): Check for size_t overflow in several places,
11451         and fix some size_t checks that were not quite right.
11453         glob: don't assume INT_MAX < SIZE_MAX
11454         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
11455         latter is not portable to (probably theoretical) hosts where
11456         SIZE_MAX <= INT_MAX.
11458 2016-05-09  Bruno Haible  <bruno@clisp.org>
11460         Fix undefined behaviour in gettext.h.
11461         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
11462         pointer's value after the storage it points to has been freed.
11463         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
11464         Spotted by Coverity.
11466 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
11468         git-version-gen: avoid undefined shift
11469         Problem reported by Mosè Giordano in:
11470         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
11471         * build-aux/git-version-gen: Avoid undefined behavior if invoked
11472         with --prefix or --fallback but without a later argument.  While
11473         we're at it, omit unnecessary quotes.
11475 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
11477         glob: merge glibc changes into lib/glob.c
11478         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
11479         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
11480         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
11481           struct dirent [BZ #19779]
11482         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
11483           callback gl_readdir
11484         2015-10-20 Convert miscellaneous function definitions to prototype style
11485         2015-10-20 Convert 113 more function definitions to prototype style
11486           (files with assertions)
11487         2015-06-12 Fix getlogin_r namespace (bug 18527).
11488         2014-02-10 Use glibc_likely instead __builtin_expect.
11489         2013-10-20 When glob pattern contains a trailing slash match only
11490           directories. Fixes bug 10278.
11491         2013-09-04 glob: silence -Wattribute warnings
11492         2013-06-07 Avoid use of "register" as optimization hint.
11493         2012-09-25 Use size_t instead of int for internal variables in glob
11494           (bug 14621)
11495         2011-07-20 Check for overflows in expressions
11496         2011-05-28 Remove unused variable
11497         2011-05-22 Add a few more alloca size checks
11498         2010-03-27 Whitespace fixes
11499         2010-03-27 Fix one more issue with the glob patch
11500         2010-03-24 Fix glob with empty pattern
11501         2008-05-27 Remove useless more "if" tests before "free"
11502         * modules/glob (Depends-on): Add stdint.
11504 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11506         mktime: port to stricter signed overflow checking
11507         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
11508         (long_int): Require width for INT_MAX * 3 * (seconds per year),
11509         instead of merely for INT_MAX * 2.  In practice platforms that
11510         do the latter also do the former.
11511         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
11512         (shr): New static function, replacing SHR.  All uses changed.
11513         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
11514         and TIME_T_MAX.  All uses changed.
11515         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
11516         Use long_int, not time_t.
11517         (long_int_avg): New static function, replacing time_t_avg.
11518         All uses changed.  Round toward positive infinity, as that
11519         generates slightly better code.
11520         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
11521         by INT_ADD_WRAPV.
11522         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
11523         (convert_time): New static function.
11524         (ranged_convert): Use it
11525         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
11526         Use simpler test for loop exit.
11527         (__mktime_internal): Store negative of guessed offset, to simplify
11528         overflow checking.  Remove no-longer-needed test for small time_t
11529         overflows.
11531         mktime: speed up DEBUG_MKTIME benchmarks
11532         Call tzset just once, at the start, rather than for every test
11533         case.  This lets us measure the CPU cost of mktime as opposed to
11534         that of tzset.  This is relevant when TZ is not set and glibc is
11535         being used.  This speeds up tests by a factor of 40 on my Fedora
11536         23 x86-64 platform.
11537         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
11538         to call tzset and as a sanity check.  Later on, use localtime_r
11539         instead of localtime.
11541         mktime: resurrect DEBUG_MKTIME testing
11542         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
11543         Include <string.h>, for strcmp.
11545         mktime: simplify DEBUG_MKTIME
11546         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
11547         Simplify later usage accordingly.
11549         Port mktime_internal offset to unsigned time_t
11550         This avoids some assumptions about wraparound arithmetic on
11551         signed integer overflow.
11552         * lib/mktime-internal.h (mktime_offset_t): New type.
11553         (mktime_internal): Use it in decl.
11554         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
11556         * lib/mktime.c (__mktime_internal, localtime_offset):
11557         * lib/timegm.c (timegm): Use it.
11558         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
11559         (gl_FUNC_MKTIME): Require it.
11561 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
11563         xstrtol: prohibit monstrosities like "1bB"
11564         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
11565         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
11566         "B" only if the first suffix needs a base.
11567         * tests/test-xstrtol.sh: Test this.
11569 2016-04-21  Pádraig Brady  <P@draigBrady.com>
11571         xstrtod: reinstate setting of *result upon ERANGE
11572         * lib/xstrtod.c (XSTRTOD): The user may decide to use
11573         the returned limits upon ERANGE, so allow and document that.
11575 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
11577         xstrtod: modify *result only if no errors
11578         * lib/xstrtod.c (XSTRTOD).
11580 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
11582         btowc: document problems in C locale
11583         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
11584         with mbrtowc.  See: http://bugs.gnu.org/23269#32
11586 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11588         mktime: improve integer overflow checking
11589         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
11590         (WRAPV): Remove; no longer needed.
11591         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
11592         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
11593         Remove.  Use intprops.h defns instead.
11594         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
11595         Use bool for Boolean, for clarity.
11596         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
11597         detect integer overflow.
11598         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
11600         intprops: check two's complement assumption
11601         Suggested by Eric Blake in:
11602         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
11603         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
11604         short, int, long, and (if available) long long are two's complement.
11605         * modules/intprops (Depends-on): Add 'verify'.
11607         intprops, mktime, strtol: assume two's complement
11608         These macros were not portable to every conforming C11 ones'
11609         complement platform.  It's not worth the hassle of porting to some
11610         platforms that use ones' complement or signed magnitude, as such
11611         platforms are almost purely theoretical nowadays and porting even
11612         to some of them makes the code harder to review for little
11613         practical benefit.  Problem reported by Florian Weimer in:
11614         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
11615         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
11616         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
11617         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
11618         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
11619         (TYPE_SIGNED_MAGNITUDE):
11620         Remove.  All uses rewritten to assume two's complement, which is
11621         all we can reasonably test nowadays anyway.
11622         * top/maint.mk (_intprops_names): Remove the removed macros.
11624 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
11626         stdint: port to strict C11 left shift
11627         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
11628         Pacify clang -Wshift-negative-value, which should be an issue only
11629         on clang setups where stdint.h does not conform to C11 or to C++11.
11630         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
11632 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
11634         mbrtowc: work around glibc bug#19932
11635         Fix mbrtowc so that it never returns -1 in the C locale,
11636         as this conflicts with a future version of POSIX
11637         http://austingroupbugs.net/view.php?id=663#c2738
11638         and causes problems with GNU grep: http://bugs.gnu.org/23234
11639         See glibc bug 19932:
11640         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
11641         * doc/posix-functions/mbrlen.texi (mbrlen):
11642         * doc/posix-functions/mbrtowc.texi (mbrtowc):
11643         Document the glibc bug.
11644         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
11645         Include hard-locale.h, locale.h.
11646         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
11647         if the bug is possible.
11648         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
11649         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
11650         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
11651         * modules/mbrtowc (Depends-on): Add hard-locale.
11652         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
11653         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
11654         * tests/test-mbrtowc5.sh: New file.
11656 2016-04-03  Pedro Alves  <palves@redhat.com>
11658         stdint: detect good enough pre-C++11 stdint.h in C++ mode
11659         When gnulib is configured in C++ mode for a system with a working C99
11660         implementation of stdint.h that predates C++11, gnulib ends up
11661         substituting stdint.h anyway.  This works on most targets, but on e.g.,
11662         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
11663         MinGW is LLP64.  Instead of trying to detect the right types, detect
11664         good-enough-pre-C++11 stdint.h and in such case define
11665         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
11666         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
11667         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
11668         conforms to C99.  If it does, check whether it hides symbols
11669         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
11670         does, define those macros in config.h.
11672 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
11674         argp: merge changes from glibc
11675         Among other things, this should fix problems found by a Coverity
11676         scan and reported by Andrei Borzenkov:
11677         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
11678         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
11679         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
11680         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
11681         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
11682         * lib/argp.h:
11683         Merge changes from glibc.
11684         * tests/test-argp-2.sh: Adjust to match new behavior.
11686 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
11688         stddef: support configuring with g++
11689         Problem reported by Ángel González in:
11690         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
11691         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
11692         Do not define if _GCC_MAX_ALIGN_T is defined.
11694 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
11696         test-framework-sh: minor cleanups
11697         * tests/init.sh (testdir_prefix_): Output a trailing newline,
11698         since strictly speaking POSIX requires this.
11699         (setup_): Do not use the variable 'fail', as that makes the
11700         trace output harder to read ('fail' is typically used by
11701         tests to mean the test failed).  Treat // portably.
11702         Check that new directory is not merely a sibling of the tmp dir.
11703         Avoid unnecessary invocation of tr.
11705         test-framework-sh: revert port to NetBSD 7.0
11706         It was a false alarm; I misinterpreted Assaf Gordon's report.
11707         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
11708         Restore.
11709         (test_dir_): Adjust to mktempd_ change.
11710         (mktempd_): Restore 2nd arg.  Use -t again.
11711         (base_template_, template_, nx_): Resurrect old code.
11713         Port better to Alpine Linux
11714         Its diff implementation does not support -c, but does support -U3.
11715         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
11716         * tests/init.sh (diff_opt_): New var.
11717         (compare_): Prefer diff -U3 to diff -c to plain diff.
11719 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
11721         test-framework-sh: port to NetBSD 7.0
11722         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
11723         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
11724         Remove.  All uses removed.
11725         (test_dir_): Adjust to mktempd_ change.
11726         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
11727         (base_template_, template_, nx_): Simplify by hardcoding.
11729 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
11731         gitlog-to-changelog: suppress ignored chatter
11732         * build-aux/gitlog-to-changelog: Do not warn about skipping
11733         an SHA if it would have been ignored anyway.
11735 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
11737         setlocale: add "sv" to Windows language table
11738         * lib/setlocale.c (language_table) [W32]: Add "sv".
11739         Reported in <https://savannah.gnu.org/bugs/?44588>.
11741 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
11743         sys_select: port to new Cygwin
11744         Problem reported by Ken Brown in:
11745         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
11746         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
11747         diagnostics.
11749 2016-03-17  Jim Meyering  <meyering@fb.com>
11751         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
11752         * tests/test-userspec.c (main): Remove unnecessary braces and fix
11753         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
11754           test-userspec.c:176:9: error: statement is indented as if it were \
11755             guarded by... [-Werror=misleading-indentation]
11756                    {
11757                    ^
11758           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
11759                  if (!diag && !T[i].result)
11760                  ^~
11762 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
11764         time_rz: port to clang -Wunused-const-variable
11765         * lib/time_rz.c (TZ): Remove.  All uses removed.
11767         std-gnu11: improve clang support
11768         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
11769         2016-03-15 Also try clang
11770         2016-03-15 Port C11 and C++11 testing to clang
11772         select: port more to Intel 2016.1.150 compiler
11773         Problem reported by Balázs Hajgató in:
11774         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
11775         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
11777 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
11779         select: try to port to 2016.1.150 compiler
11780         Problem reported by Balázs Hajgató in:
11781         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
11782         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
11783         POSIX specifies 'restrict'.
11785 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
11787         localename-tests: memory allocation fixes
11788         * tests/test-localename.c (test_locale_name)
11789         (test_locale_name_thread): Don't call freelocale on a locale
11790         that was the base of a successful newlocale, as that
11791         results in a double free.  Problem reported by Assaf Gordon.
11792         (test_locale_name_thread): Free saved names after use, to pacify
11793         gcc -fsanitize=address.
11795 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
11797         intprops: make .h file license match module
11798         * lib/intprops.h: Change the license wording to match glibc format.
11799         This is what is in modules/intprops anyway.  See:
11800         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
11802 2016-03-08  Eric Blake  <eblake@redhat.com>
11804         acl: fix missing return on Cygwin
11805         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
11806         fall off end of function. Fixes http://bugs.gnu.org/22949
11808 2016-03-05  Bruno Haible  <bruno@clisp.org>
11810         extern-inline: port to PGI CC
11811         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
11812         keyword 'inline'.
11813         Reported by Adam James Stewart in:
11814         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
11816 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
11818         signbit: port back to pre-C++11 GCC
11819         * lib/math.in.h (signbit): Do previous change only if
11820         __cplusplus < 201103.  See Jonathan Wakely in:
11821         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
11823 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
11825         mountlist: recognize autofs-mounted remote file systems, too
11826         Originally reported at: https://bugzilla.redhat.com/1309247
11827         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
11828         "-hosts" because it is used by autofs to mount remote file systems.
11830 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
11832         signbit: port to C++ with GCC 6
11833         * lib/math.in.h (signbit) [__cplusplus]:
11834         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
11835         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
11837         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
11839         regex: make it closer to libc
11840         Make Idx a signed type, rather than possibly unsigned.
11841         The unsignedness was not really buying us anything, since the code
11842         overflows for other reasons before getting to PTRDIFF_MAX.  Making
11843         it signed allows us to use -1 and -2 with abandon, like libc does,
11844         thus lessening the number of differences between gnulib and libc.
11845         Also, it should help avoid gratuitous warnings like the one
11846         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
11847         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
11850         regex: merge patches from libc
11852         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
11853         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
11854         Convert miscellaneous function definitions to prototype style.
11855         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
11856         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
11857         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
11858         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
11859         (re_search_internal):
11860         Convert to prototype-style function definition.
11861         Use internal_function for internal functions.
11863 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
11865         stdalign: port to older HP and IBM cc
11866         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
11867         C compilers, by checking their version numbers.  These version
11868         numbers appear in MariaDB and in Qt code that dates way back and
11869         that conditiionally uses the 'aligned' attribute.
11871 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
11873         stdalign: port to clang 3.7.0
11874         Problem reported by Herbert J. Skuhra in:
11875         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
11876         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
11877         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
11878         https://llvm.org/bugs/show_bug.cgi?id=26547
11880 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
11882         readdir_r: now obsolescent
11883         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
11884         * lib/mountlist.c (read_file_system_list): Add a FIXME.
11886 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
11888         misc: port better to gcc -fsanitize=address
11889         Without these patches, ./configure CFLAGS='-fsanitize=address'
11890         would compute incorrect values.  This patch fixes some (but not all)
11891         test failures with recent glibc, with this configuration.
11892         * m4/acl.m4 (gl_ACL_GET_FILE):
11893         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
11894         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
11895         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
11896         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
11897         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
11898         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
11899         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
11900         * m4/getline.m4 (gl_FUNC_GETLINE):
11901         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
11902         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
11903         * m4/regex.m4 (gl_REGEX):
11904         * m4/strndup.m4 (gl_FUNC_STRNDUP):
11905         * tests/test-calloc-gnu.c (main):
11906         * tests/test-duplocale.c (main):
11907         * tests/test-getgroups.c (main):
11908         * tests/test-getline.c (main):
11909         * tests/test-inttostr.c (main):
11910         * tests/test-localename.c (test_locale_name)
11911         (test_locale_name_thread, test_locale_name_environ)
11912         (test_locale_name_default):
11913         * tests/test-regex.c (main):
11914         * tests/test-setlocale1.c (main):
11915         * tests/test-stat.h (test_stat_func):
11916         Free heap-allocated storage before exiting.
11917         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
11918         Don't match *_foo symbols inserted by AddressSanitizer.
11919         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
11921 2016-02-02  Jim Meyering  <meyering@fb.com>
11923         verify-tests: also remove stray test-verify.Tpo
11924         * modules/verify-tests (Makefile.am): Arrange for "make clean"
11925         to remove the test-verify.Tpo file that is left behind by
11926         the automake-generated rule upon compilation failure.
11927         Otherwise, that .Tpo file would cause a failed "make distcheck"
11928         at least for grep.
11930 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
11932         std-gnu11: new module
11933         This makes it easier for applications to prefer C11 and C++11
11934         to older variants, when compiling C and C++ code.
11935         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
11936         a nontrivial chunk of GPLed Autoconf source code.
11937         * COPYING: Mention the m4/*.m4 copyright situation.
11938         * MODULES.html.sh (std-gnu11): New module.
11939         * m4/std-gnu11.m4, modules/std-gnu11: New files.
11941 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
11943         get-permissions, strftime: fix grammar in comments
11944         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
11945         some grammar fixes Alan Mackenzie made to GNU Emacs.
11947 2016-01-25  Daiki Ueno  <ueno@gnu.org>
11949         gettext: mark as obsolete
11950         Suggested by Paul Eggert in:
11951         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
11952         * modules/gettext (Status): Mark as obsolete.
11953         (Notice): Suggest to use 'gettext-h' instead.
11954         * modules/gettext-h (Description): Suggest GNU gettext, instead of
11955         the 'gettext' module.
11957 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
11959         gnulib-tool: don't give up on ln -s so easily
11960         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
11961         because an earlier one failed.  The targets could be on different
11962         file systems.  Problem reported by KO Myung-Hun in:
11963         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
11965         closedir: fix OS/2-related typos
11966         Problem reported by KO Myung-Hun in:
11967         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
11968         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
11969         in the last couple of changes.
11971 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
11973         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
11974         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
11975         copying a directory.
11977 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
11979         regex: treat [x] as x if x is a unibyte encoding error
11980         Problem reported by Aharon Robbins in:
11981         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
11982         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
11983         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
11985         closedir, dirfd, opendir: port to OpenSolaris 5.10
11986         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
11987         * m4/dirfd.m4 (gl_FUNC_DIRFD):
11988         * m4/opendir.m4 (gl_FUNC_OPENDIR):
11989         Don't use ${word##pat} substitution, as it doesn't work in
11990         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
11991         http://bugs.gnu.org/22443#11
11993 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11995         bootstrap: use American spelling
11996         * build-aux/bootstrap: Honor American spelling.
11998 2016-01-22  Karl Berry  <karl@freefriends.org>
12000         * doc/posix-functions/localtime.texi,
12001         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
12003 2016-01-21  Bruno Haible  <bruno@clisp.org>
12005         hash-pjw-bare: fix comment
12006         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
12008         wcwidth: Replace also on OpenBSD 5.8
12009         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
12010         * doc/posix-functions/wcwidth.texi: Update.
12012 2016-01-20  Pádraig Brady  <P@draigBrady.com>
12014         gnu-web-doc-update: fix addition of new files
12015         If there were already added (emnpty) dirs,
12016         then cvs aborts the add with the message:
12017           cvs [add aborted]: there is a version in <./dirname> already
12018         * build-aux/gnu-web-doc-update: Add directories separately
12019         to the addition of files, to avoid the above issue
12020         impacting the addition of files.
12022 2016-01-19  Daiki Ueno  <ueno@gnu.org>
12024         utimens-tests: avoid pulling gettext .m4 files
12025         Although this is not the right fix to the original problem:
12026         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
12027         it makes it possible again for consumer projects to use arbitrary
12028         version of gettext, through the steps described at:
12029         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
12030         See here for details:
12031         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
12032         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
12033         'gettext'.
12034         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
12035         'gettext'.
12037 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12039         regex: pacify static checkers
12040         Problem and draft fix reported by Aharon Robbins in:
12041         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
12042         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
12043         Clear memory to pacify static checkers.
12045         regex: fix [ diagnostic
12046         Problem and fix reported by Aharon Robbins in:
12047         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
12048         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
12050         regex: fix memory leaks
12051         Problem and draft fix reported by Aharon Robbins in:
12052         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
12053         * lib/regcomp.c (build_range_exp, build_charclass_op)
12054         * lib/regex_internal.c (re_dfa_add_node):
12055         Fix memory leak on failure.
12057 2016-01-18  Pádraig Brady  <P@draigBrady.com>
12059         fts: don't unconditionally use leaf optimization for NFS
12060         NFS st_nlink are not accurate on all implementations,
12061         leading to aborts() if that assumption is made.
12062         See <https://bugzilla.redhat.com/1299169>
12063         * lib/fts.c (leaf_optimization_applies): Remove NFS from
12064         the white list, and document the issue.
12066 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
12067             KO Myung-Hun  <komh@chollian.net>
12069         gnulib-tool: don't assume ln -s works
12070         * gnulib-tool (func_ln_s): New function.
12071         (func_ln): Use it.
12073 2016-01-15  KO Myung-Hun  <komh@chollian.net>
12075         utimes: detect utimes() correctly on OS/2 kLIBC
12076         utimes() of OS/2 kLIBC has some limitations.
12077         1. OS/2 itself supports a file date since 1980 year in local time.
12078         2. OS/2 itself supports only even seconds for a file time.
12079         3. utimes() of OS/2 kLIBC does not work on an opened file.
12080         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
12081         * doc/posix-functions/utimes.texi: Document the above limitations of
12082         utimes() on OS/2 kLIBC.
12084 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
12085             KO Myung-Hun  <komh@chollian.net>
12087         openat_proc_name: port to OS/2 kLIBC
12088         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
12089         instead of /proc/self/fd.
12090         * lib/openat-proc.c (openat_proc_name):
12091         Don't assume file name length is less than INT_MAX.
12092         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
12094 2016-01-14  KO Myung-Hun  <komh@chollian.net>
12096         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
12097         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
12098         definitions of intptr_t and uintptr_t (which use int and unsigned)
12099         to avoid clashes with declarations of system functions like sbrk.
12100         * lib/stdint.in.h (intptr_t, uintptr_t): Check
12101         _INTPTR_T_DECLARED before defining them.
12103         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
12104         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
12105         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
12106         Declare on kLIBC.
12107         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
12108         fd associated with dirp.
12109         (_gl_register_dirp_fd): New. Register fd associated with dirp to
12110         dirp_fd_list.
12111         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
12112         (dirfd): Implemented for kLIBC.
12113         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
12114         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
12115         succeeds.
12116         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
12117         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
12118         (REPLACE_DIRFD): Define to 1 if replaced.
12119         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
12120         * modules/closedir (Depends-on): Add dirfd.
12121         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
12122         condition.
12123         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
12124         * modules/opendir (Depends-on): Add dirfd.
12126         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
12127         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
12128         * lib/dup.c (dup_nothrow): New.
12129         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
12130         (klibc_dup2): New.
12131         * lib/fcntl.c (klibc_fcntl): New.
12132         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
12133         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
12134         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
12135         fd.
12137         pipe_filter_ii_execute: port to OS/2 kLIBC
12138         Pipes on kLIBC do not support O_NONBLOCK like Win32.
12139         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
12140         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
12141         Reuse Win32 code on OS/2 kLIBC.
12142         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
12143         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
12145         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
12146         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
12147         static inline function.  The implementation of wcwidth in wcwidth.c
12148         causes a "conflicting types" error.
12149         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
12151         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
12152         spawn() on OS/2 kLIBC is not silly like one on Windows
12153         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
12154         empty string on OS/2 kLIBC.
12156         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
12157         On OS/2 kLIBC, select() works only on sockets.
12158         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
12160         binary-io: don't put fd in binary mode if it is a console on EMX
12161         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
12162         a console on EMX.
12164 2016-01-15  Pádraig Brady  <P@draigBrady.com>
12166         doc: mention unfixed issues with unsupported localtime() values
12167         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
12168         returns nonsense for localtime(2^56).
12169         * doc/posix-functions/localtime_r.texi: Likewise.
12171 2016-01-14  Pádraig Brady  <P@draigBrady.com>
12173         doc: mention setlocale() issues on OpenBSD
12174         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
12175         never fails, and the need to check categories individually.
12177 2016-01-14  Pádraig Brady  <P@draigBrady.com>
12179         sig2str: list all signals on FreeBSD >= 7
12180         FreeBSD >= 7 is contravening POSIX by not defining NSIG
12181         to the maximal statically defined signal value.
12182         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
12183         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
12184         where available, even when NSIG is defined.
12186 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
12188         acl-permissions: port to USE_ACL==0 platforms
12189         I ran into this problem when building bleeding-edge GNU Emacs
12190         with gcc -fsanitize=address on Fedora 23.  On this platform
12191         the ACL library does not pass the 'configure' test and Emacs
12192         then does not build due in part to what appear to be typos in the
12193         ACL part of Gnulib.
12194         * lib/acl-internal.c (free_permission_context):
12195         * lib/acl-internal.h (struct permission_context):
12196         Test whether USE_ACL is nonzero, not whether it is defined.
12198 2016-01-12  Martin Sebor  <msebor@redhat.com>
12200         mktime: rename macro to avoid glibc clash
12201         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
12202         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
12204 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
12206         Port "$@" to OpenIndiana ksh93
12207         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
12208         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
12209         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
12210         bug long-dead shells, so remove the workaround.
12211         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
12212         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
12213         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
12214         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
12215         Use "$@" instead of ${1+"$@"}.
12217         Port Universal Time settings to strict POSIX
12218         * build-aux/announce-gen, build-aux/bootstrap:
12219         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
12220         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
12221         * build-aux/gnupload, build-aux/mkinstalldirs:
12222         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
12223         * build-aux/update-copyright, build-aux/useless-if-before-free:
12224         * build-aux/vc-list-files, tests/test-strftime.c:
12225         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
12226         but POSIX says the behavior of TZ="UTC" is undefined.
12228 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
12230         msvc-inval: fix problem with unset shell var
12231         Problem reported by Karl Berry in:
12232         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
12233         * modules/msvc-inval (Depends-on):
12234         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
12235         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
12237 2016-01-01  Pádraig Brady  <P@draigBrady.com>
12239         tests: for compare_(), use cmp -s where available
12240         * tests/init.sh (compare_): Only fall back to cmp without
12241         the POSIX defined -s option, where this is not available.
12243 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
12245         version-etc: new year
12246         * build-aux/gendocs.sh (version):
12247         * doc/gendocs_template:
12248         * doc/gendocs_template_min:
12249         * doc/gnulib.texi:
12250         * lib/version-etc.c (COPYRIGHT_YEAR):
12251         Update copyright dates by hand in templates and the like.
12252         * all files: Run 'make update-copyright'.
12254 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
12256         human: fix output buffer overrun by 1
12257         * lib/human.c (human_readable): Fix off-by-one typo in buffer
12258         calculation that could lead to a one-byte buffer overrun.
12260 2015-12-28  Daiki Ueno  <ueno@gnu.org>
12262         maint: fix operator precedence in mbrtowc test
12263         This is a fix for test breakage introduced by commit 45228d96; the
12264         equality expression must be parenthesized when negated with '!',
12265         otherwise we always get:
12267           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
12269         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
12270         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
12272 2015-12-23  James Youngman  <jay@gnu.org>
12274         regexprops-generic: update from regex.h
12275         * doc/regexprops-generic.texi: update by running the regexprops binary
12276         from findutils (the command line is 'regexprops "Regular Expressions"
12277         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
12278         gnulib with GNU grep had made this document out-of-date.
12280 2015-12-23  Pádraig Brady  <P@draigBrady.com>
12282         strftime-tests: avoid false failure on OS X
12283         * tests/test-strftime.c (struct localtime_rz_test): Add an
12284         ahistorical member which is used to warn rather than fail
12285         when tm_isdst isn't set for such entries.  This is the case for
12286         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
12288 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
12290         fts: ensure leaf optimization is used for NFS
12291         NFS provides usable dirent.d_type but not necessarily for all entries
12292         of large directories.  See <https://bugzilla.redhat.com/1252549>
12293         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
12295 2015-12-20  Pádraig Brady  <P@draigBrady.com>
12297         fts: enable leaf optimization for XFS
12298         XFS provides usable dirent.d_type only for DT_DIR,
12299         but the noleaf optimization still applies.
12300         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
12302 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
12304         intprops: comment fix
12305         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
12306         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
12308         intprops-test: work around GCC bug 68971
12309         Problem reported by Pádraig Brady in:
12310         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
12311         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
12312         (main): Add a case that better tests 64-bit long in this area.
12314 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
12316         gnulib-tool: allow multiple --local-dir usage
12317         * gnulib-tool: Use --local-dir to construct compound
12318         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
12319         PATH_SEPARATOR early.
12320         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
12321         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
12322         func_determine_path_separator because that needs to be detected
12323         earlier now.
12324         (func_determine_path_separator): New function.
12325         (func_path_foreach, func_path_foreach_inner): New functions.
12326         (func_path_prepend, func_path_append): Likewise.
12327         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
12328         (func_lookup_file, func_all_modules): Use new functions to work
12329         with local_gnulib_path.
12330         (func_modules_in_dir, func_exists_module): New callbacks for
12331         func_path_foreach.
12332         (func_exists_module, func_get_tests_module): Likewise.
12333         (func_is_local_file, func_should_symlink): New helper methods.
12334         (func_add_file, func_update_file): Use new func_should_symlink
12335         instead, DRY.
12336         (func_reconstruct_cached_local_gnulib_path): New helper.
12337         (func_reconstruct_cached_dir): New callback.
12338         (func_import): The cached_local_gnulib_dir renamed to
12339         cached_local_gnulib_path similarly to local_gnulib_dir.
12340         Use new func_reconstruct_cached_local_gnulib_path.
12341         (func_count_relative_local_gnulib_path): New sub-method.
12342         (func_create_testdir): Use func_should_symlink, DRY.
12343         (func_create_megatestdir): Use new functions to work with
12344         local_gnulib_path correctly.
12345         (func_append_local_dir): New helper.
12347 2015-12-08  Pádraig Brady  <P@draigBrady.com>
12349         fix freadptr to work with ungetc on all uClibc configs
12350         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
12351         where GNU coreutils cut(1) generates invalid output on uClibc
12352         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
12353         * lib/freadptr.c (freadptr): Return NULL if there are
12354         ungotten chars.  In this case freadseek() will iterate
12355         again to process the ungotten character.
12357 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
12359         xalloc-oversized: improve performance with GCC 5
12360         * lib/xalloc-oversized.h (xalloc_oversized):
12361         Improve performance with GCC 5 by using __builtin_mul_overflow.
12363 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
12365         intprops: new public macro EXPR_SIGNED
12366         Emacs can use this macro, so make it public.
12367         * doc/intprops.texi (Arithmetic Type Properties): Rename from
12368         'Integer Type Determination', since some of these macros apply
12369         to non-integer types.  Clarify what kinds of constant expressions
12370         these macros return.  Say when the arguments can be non-integers.
12371         Mention newly published macro EXPR_SIGNED.
12372         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
12373         make it public.  All uses changed.
12375         intprops: fix typo in clang port
12376         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
12377         '__builtin_add_overflow' that is not caught by compiler.
12379 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
12381         test-timespec: fix typo in previous change
12382         * tests/test-timespec.c (main): Fix typo that reduced test quality.
12384         timespec-sub: fix overflow bug; add tests
12385         * lib/timespec-add.c (timespec_add):
12386         * lib/timespec-sub.c (timespec_sub):
12387         Work even if time_t is narrower than int (a theoretical
12388         possibility).  Redo code for a bit more clarity.
12389         * lib/timespec-sub.c (timespec_sub):
12390         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
12391         * modules/timespec-tests, tests/test-timespec.c: New files.
12393         intprops-test: suppress -Woverlength-strings
12394         Problem reported by Pádraig Brady in:
12395         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
12396         It is not worth the hassle to port this test to compilers that
12397         cannot handle long strings in diagnostics.
12398         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
12400 2015-11-03  Pádraig Brady  <P@draigBrady.com>
12402         quotearg: add quotearg_n_style_colon()
12403         This quotes with default options of the specified style,
12404         but with quoting enabled for instances of ':'.
12405         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
12406         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
12408 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
12410         intprops: revise _WRAPV macros, revert _OVERFLOW
12411         The incompatible changes to the _OVERFLOW macros were too much of
12412         a hassle in practice, so revert them.  Instead, change the new
12413         _WRAPV macros to make them closer in behavior to GCC 5's new
12414         builtin_add_overflow etc. functions.  No other software was using
12415         these newly-added macros yet, so this should be OK.
12416         * NEWS: Revert previous change, since the incompatible change
12417         has been reverted, and nobody used the incompatible version.
12418         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
12419         Document revised behavior.
12420         (Integer Range Overflow): Adjust example to match above revisions.
12421         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
12422         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
12423         these can be used in integer constant expressions again.
12424         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
12425         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
12426         needed.
12427         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
12428         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
12429         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
12430         Remove, as they did not seem that useful.
12431         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
12432         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
12433         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
12434         Support new semantics.
12435         (__has_builtin): New macro, if not alreay defined.
12436         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
12437         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
12438         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
12439         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
12440         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
12441         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
12442         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
12443         New macros.
12444         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
12446 2015-11-03  Jim Meyering  <meyering@fb.com>
12448         intprops: add parentheses for when OP has precedence lower than "-"
12449         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
12450         "a OP b" must be parenthesized for when OP is like "<<", which has
12451         lower precedence than the following "-". Reported by Pádraig Brady.
12453 2015-11-03  Pádraig Brady  <P@draigBrady.com>
12455         quotearg: constify get_quoting_style parameters
12456         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
12457         * lib/quotearg.c (get_quoting_style): Likewise.
12459 2015-11-02  Pádraig Brady  <P@draigBrady.com>
12461         quotearg: add support for $'' shell escaping
12462         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
12463         items and descriptions.
12464         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
12465         above types by quoting like "shell", but using $'...' syntax
12466         for non printable characters, which should provide unambiguous
12467         printable output for any input.
12468         * tests/test-quotearg-simple.c: Update accordingly.
12470 2015-11-02  Pádraig Brady  <P@draigBrady.com>
12472         maint: use a more standard return from mbrtowc test
12473         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
12474         from the test program as this is non standard and often
12475         indicates an unhandled case in the test program.
12476         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
12478 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
12480         intprops: add WRAPV and const flavors for GCC 5
12481         If available, use GCC 5's builtin functions for efficient integer
12482         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
12483         and safely compute the low-order bits of the correct answer.
12484         A downside of these efficient functions is that they cannot be
12485         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
12486         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
12487         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
12488         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
12489         Document the changes.
12490         (Wraparound Arithmetic): New section.
12491         (Integer Range Overflow):
12492         Put this subsection last, since it's least useful.
12493         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
12494         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
12495         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
12496         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
12497         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
12498         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
12499         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
12500         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
12501         New macros.
12502         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
12503         Generate calls to GCC builtins if available, for speed.
12504         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
12505         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
12506         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
12507         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
12508         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
12509         (CHECK_QUOTIENT, CHECK_REMAINDER):
12510         Test WRAPV and CONST flavors (when available) too.
12512 2015-10-30  Pádraig Brady  <P@draigBrady.com>
12514         doc: use extended timezone format in iso-8601 example
12515         * doc/parse-datetime.texi: The standard states that extended format
12516         is to be used consistently throughout.
12517         Note that lib/parse-datetime.y can handle either tz format.
12519 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
12521         stdalign: port to Sun C 5.9
12522         * doc/posix-headers/stdalign.texi: Document this.
12523         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
12524         __attribute__ ((__aligned__ (...))).
12526 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
12528         time_rz: fix comment about tzalloc
12529         * lib/time_rz.c (tzalloc): Fix comment.
12531 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12533         stdalign: work around pre-4.9 GCC x86 bug
12534         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
12535         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
12536         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
12538 2015-10-18  Pádraig Brady  <P@draigBrady.com>
12540         maint.mk: sc_tight_scope: remove extraneous expressions
12541         * top/maint.mk (tight_scope): This is not really required since
12542         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
12543         that matches all nm entries.  But it does remove extraneous entries
12544         that may be confusing or cause issue in future maintenance.
12546 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12548         time_rz: return NULL if localtime_r fails
12549         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
12550         while still attempting to pacify bleeding-edge GCC.
12552         fts: port to C11 alignof
12553         * doc/posix-headers/stdalign.texi (stdalign.h):
12554         Document the C11 restriction.
12555         * lib/fts.c: Include stddef.h, for max_align_t.
12556         (fts_alloc): Align using max_align_t, not FTSENT.
12557         * modules/fts (Depends-on): Add stddef.
12559 2015-10-18  Jim Meyering  <meyering@fb.com>
12561         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
12562         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
12563         would see this:
12565         lib/time_rz.c: In function 'localtime_rz':
12566         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
12567           [-Werror=nonnull]
12568                    if (tm && !save_abbr (tz, tm))
12569                        ^
12571         That was complaining about "tm" because it is a parameter that was
12572         declared with the __nonnull__ attribute.
12573         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
12574         result of localtime_r.
12576 2015-10-17  Jim Meyering  <meyering@fb.com>
12578         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
12579         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
12580         name-extraction regexp mistakenly used \S+, and would mistakenly
12581         extract "*F" from "extern int *F()" rather than the desired "F".
12582         Use \w+ instead.
12584 2015-10-17  Jim Meyering  <meyering@fb.com>
12586         maint.mk: sc_tight_scope: factor and support OS X
12587         * top/maint.mk (_gl_tight_scope): Address three issues:
12588         - factor out four instances of code that wraps a string in "^...$"
12589         - allow nm-reported symbol names to have an optional leading "_"
12590         - add "main" to the list of ignored variable names, because on os x,
12591         "main" has nm-reported type "S" in the variable-checking section.
12593 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
12595         safe-alloc-tests: fix typo in license header
12596         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
12598 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
12600         copy-file: fix mem leak in error case
12601         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
12602         upon error opening or performing I/O to the src and dest files.
12604 2015-10-15  Mike Frysinger  <vapier@chromium.org>
12606         localename: control langinfo.h inclusion
12607         This header is only used to work around buggy behavior in old
12608         versions of glibc, so do not include it all the time.  Otherwise
12609         we get build failures on systems that do not provide langinfo.h.
12610         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
12611         in the source later on.
12612         The patch was originally submitted to gettext as:
12613         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
12615 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12617         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
12618         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
12619         * lib/u64.c, lib/unistd.c:
12620         Append 'typedef int dummy;', to pacify compilers that are picky
12621         about empty translation units.
12623 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
12625         accept4-tests: fix to avoid non portable flags
12626         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
12627         as they are the only documented ones, and passing others may trigger
12628         EINVAL (seen on FreeBSD 10.1-RELEASE).
12629         * doc/glibc-functions/accept4.texi: Mention that we don't provide
12630         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
12632 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
12634         gnulib-tool: fix tests of 'extensions' module
12635         This complements f8fe25fab60e3c687a124 commit.
12636         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
12637         emitting of initial gl_EARLY macros.
12638         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
12639         replaced with func_emit_pre_early_macros call.
12641 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12643         unicase/locale-language: fix typo in utf-8 cookie
12644         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
12645         Problem reported by Zbigniew Jędrzejewski-Szmek.
12647 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12649         xalloc: do not worry about GCC 5 warning on 32 bit
12650         * lib/xalloc.h: Revert previous change.
12651         I found a better way to fix this in coreutils.
12653 2015-10-02  Pádraig Brady  <P@draigBrady.com>
12655         xalloc: avoid GCC 5.1 warning on 32 bit
12656         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
12657         xalloc_oversized(), which was seen to give this warning
12658         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
12659         when simplifying conditional".
12661 2015-10-02  Daiki Ueno  <ueno@gnu.org>
12663         uniname/uniname-tests: avoid compiler warnings
12664         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
12665         unused local variables.
12666         (test_alias_lookup): Fix alias name display in failure cases.
12668 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12670         c-ctype: do not worry about EBCDIC + char signed
12671         Drop support for EBCDIC with char being signed, as this breaks too
12672         many programs.  Problem reported by Ben Pfaff in:
12673         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
12674         * lib/c-ctype.h: Verify that we are not using EBCDIC with
12675         char being signed.
12676         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
12677         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
12678         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
12679         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
12680         * tests/test-c-ctype.c (test_all):
12681         Simplify by assuming standard char values cannot be negative.
12682         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
12684 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12686         c-ctype: port better to z/OS EBCDIC
12687         Problems reported by Daniel Richard G. in:
12688         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
12689         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
12690         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
12691         (_C_CTYPE_OTHER_CNTRL): New macro.
12692         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
12693         from SCHAR_MIN, as the functions are defined only from values
12694         promoted from char or from unsigned char, not necessarily from
12695         signed char.
12697 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
12699         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
12701         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
12702         and ARFLAGS variables.  Doing this unconditionally could break
12703         later Automake's AM_PROG_AR invocation (at least it's
12704         AC_CHECK_TOOLS call to detect correct 'ar' binary).
12706         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
12707         Amsterdam Compiler Kit, so make the previous code to have effects
12708         only on ACK, and rather automatically call the Automake's
12709         AM_PROG_AR as soon as possible to decide other cases.
12711         References:
12712         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
12714         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
12715         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
12716         is possible, keep setting AR/ARFLAGS to reasonable defaults.
12717         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
12718         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
12719         'extensions' module is used.
12720         * modules/extensions (configure.ac-early): Remove as this snippet
12721         is added to gnulib-comp.m4 earlier anyway.
12723 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12725         sockets: MS Windows initalization fixes
12726         Problem reported by Test User in:
12727         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
12728         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
12729         Correct the endianness.
12730         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
12731         number mismatch, not just on <.  Cleanup before any such failure.
12733 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
12735         gc: fix detection of installed libgcrypt version
12736         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
12737         at least as recent as 1.4.4.  The previously used macro is not
12738         available now, since modules were removed in version 1.6.0.
12740 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12742         c-ctype: rewrite to use inline functions
12743         This simplifies maintenance, since it makes for just one
12744         implementation of each function, letting the compiler have the fun
12745         of optimization.  In practice this works well nowadays with GCC.
12746         E.g., c_isascii might need only three instructions even though the
12747         source code lists every ASCII character individually in a large
12748         switch statement.
12749         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
12750         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
12751         * NEWS: Document the API change.
12752         * lib/c-ctype.c: Drastically simplify, since this now just expands
12753         inline functions.
12754         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
12755         (C_CTYPE_INLINE): New macro.
12756         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
12757         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
12758         Verify that either ASCII or EBCDIC is being used.
12759         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
12760         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
12761         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
12762         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
12763         New private macros.
12764         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
12765         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
12766         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
12767         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
12768         (c_tolower, c_toupper): When converting, return the unsigned char,
12769         as that is what z/OS does.
12770         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
12771         of some c-ctype.h macros.
12772         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
12773         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
12774         c_tolower promotion to be compatible with z/OS.
12776 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
12778         gitlog-to-changelog: trim only trailing whitespaces
12779         This is fix for --format regression introduced by commit
12780         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
12781         doubled %n string) had no effect anymore.  This format
12782         specification has been used e.g. by GNU paxuitils (commit
12783         edfd8bcc3).
12785         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
12786         newlines in commmit messages.
12788 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12790         Test that c_iscntrl agrees with iscntrl, etc.
12791         Suggested by Daniel Richard G. in:
12792         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
12793         * modules/c-ctype-tests (Depends-on): Add ctype.
12794         * tests/test-c-ctype.c: Include <ctype.h>.
12795         (NCHARS): New constant.
12796         (test_agree_with_C_locale): New function.
12797         (main): Use it.
12798         (test_all): Use named constants.
12800         c-ctype: improve c_isascii testing
12801         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
12802         Add a test to count the number of ASCII characters.
12804 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12806         savewd: remove SAVEWD_CHDIR_READABLE
12807         It was problematic in the light of file systems that ignore umask.
12808         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
12809         * NEWS: Document this.
12810         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
12811         successful, -1 (setting errno) on failure, rather than something
12812         more complicated than that.
12813         * lib/mkdir-p.c (make_dir_parents):
12814         Do not use SAVEWD_CHDIR_READABLE.
12815         * lib/savewd.c (savewd_chdir):
12816         Remove support for SAVEWD_CHDIR_READABLE.
12817         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
12819         c-ctype: port better to EBCDIC
12820         Problems reported by Daniel Richard G. in
12821         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
12822         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
12823         Include "verify.h".
12824         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
12825         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
12826         Define as enum constants with value false, if not defined, so that
12827         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
12828         code more portable, as both branches of the 'if' are compiled on
12829         all platforms.
12830         (C_CTYPE_EBCDIC): New constant.
12831         Verify that the character set is either ASCII or EBCDIC.
12832         (to_char): New static function.
12833         (c_isascii, c_iscntrl):
12834         Assume standard control-character assignments for EBCDIC.
12835         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
12836         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
12837         Rewrite to use 'if' instead of 'ifdef'.
12838         Use to_char if non-ASCII.  Prefer <= to >=.
12839         Prefer true and false to 1 and 0, for booleans.
12840         (c_iscntrl): Use 'if', not 'ifdef'.
12841         * modules/c-ctype (Depends-on): Add verify.
12842         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
12843         (to_char): New function.
12844         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
12846 2015-09-21  Pádraig Brady  <P@draigBrady.com>
12848         nanosleep: fix return code for interrupted replacement
12849         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
12850         that we return -1 in the case the call is interrupted by a signal,
12851         rather than the current value of 1.
12852         Diagnosed and tested by Daniel Richard G.
12854 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
12856         Diagnose ERE '()|\1'
12857         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
12858         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
12859         track of the set of previously-completed subexpressions available
12860         before the first alternative, and restore this set just before
12861         parsing each subsequent alternative.  This lets us diagnose the
12862         invalid back-reference in the ERE '()|\1'.
12864         regex: merge patches from libc
12866         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
12867         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
12868         * lib/regex_internal.h:
12869         Include <libc-lock.h> instead of <bits/libc-lock.h>.
12871         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
12872         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
12873         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
12874         wcscoll.
12875         * lib/regexec.c (check_node_accept_bytes): Likewise.
12877         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
12878         Fix regex wcrtomb namespace (bug 18496).
12879         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
12880         instead of wcrtomb.
12882         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
12883         Fix regex wctype namespace (bug 18495).
12884         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
12885         instead of towlower.
12886         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
12887         instead of iswlower.  Call __towupper instead of towupper.
12888         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
12889         instead of iswalnum.
12891         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
12892         * lib/regcomp.c (parse_bracket_exp): Initialize type to
12893         COLL_SYM in a couple of places to avoid uninitialized variable
12894         wanings on tilegx gcc 4.8.2.
12896         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
12897         * lib/regex_internal.h: Remove NOT_IN_libc.
12899         2014-11-17  Andreas Schwab  <schwab@suse.de>
12900         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
12902         2014-09-11  Roland McGrath  <roland@hack.frob.com>
12903         Move findidx nested functions to top-level.
12904         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
12905         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
12906         Pass new arguments to findidx.
12907         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
12908         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
12909         Don't #include it inside the function.  Pass new arguments to findidx.
12910         * lib/regex_internal.h:
12911         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
12912         (re_string_elem_size_at): Don't #include it inside the function.
12913         Pass new arguments to findidx.
12915         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
12916         Check if DEBUG is defined in regex_internal.c
12917         * lib/regex_internal.c: Check if DEBUG is defined and is set.
12919 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
12921         ceill: detect buggy OpenBSD implementation
12922         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
12923         which returns zero for small values.  Discussed here:
12924         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
12926 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
12928         mountlist: add me_mntroot field on Linux machines
12929         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
12930         mount_entry so Linux machines based on /proc/self/mountinfo can
12931         distinguish between bind mounts and original mounts.  In reality bind
12932         mounts aren't treated differently than mountroot=/ mounts by the
12933         kernel, but the user often wants these bind mounts distinguished.
12934         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
12935         More details at https://pad.lv/1432871
12937 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
12939         doc: Describe to use multiple instances of gnulib
12940         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
12941         instances of gnulib with different modules can be used, for example one
12942         for a lib and another one for associated tools.
12944 2015-09-01  Pádraig Brady  <P@draigBrady.com>
12946         base32: mark function as __attribute__ const
12947         * lib/base32.h (isbase32): Mark __attribute__ const as
12948         suggested by GCC, and consistent with the base64 module.
12950 2015-08-20  Daiki Ueno  <ueno@gnu.org>
12952         gnulib-tool: don't transform binary files with sed
12953         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
12954         .mo and .class files.
12955         Reported by Denis Denisov.
12957 2015-08-10  Daiki Ueno  <ueno@gnu.org>
12959         gperf: respect silent rules
12960         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
12961         V_GPERF_0 for silent rules.
12962         * modules/iconv_open (Makefile.am): Use V_GPERF.
12963         * modules/unicase/locale-language (Makefile.am): Likewise.
12964         * modules/unicase/special-casing (Makefile.am): Likewise.
12965         * modules/unictype/category-byname (Makefile.am): Likewise.
12966         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
12967         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
12968         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
12969         * modules/unictype/property-byname (Makefile.am): Likewise.
12970         * modules/unictype/scripts (Makefile.am): Likewise.
12971         * modules/uninorm/composition (Makefile.am): Likewise.
12973 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
12975         Improve port of stdalign to C++11
12976         Problem reported by Sundaram in:
12977         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
12978         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
12979         (__alignas_is_defined): Define if C++11 or newer.
12981 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
12983         pmccabe2html: fix gawk regex escaping
12984         * build-aux/pmccabe2html: Add one more backslash to properly
12985         escape the gsub replacement value.  Fixes this error:
12986         gawk: ./build-aux/pmccabe2html:425: \
12987         warning: escape sequence `\&' treated as plain `&'
12989 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
12991         time_rz: port to pedantic memcpy
12992         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
12993         that reject memcpy (..., NULL, 0).
12995 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
12997         time_rz: port better to MinGW
12998         Don't change tzname, as this makes MinGW dump core (Bug#21020).
12999         Instead, store the tzname copy in the struct tm_zone object.
13000         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
13001         * lib/strftime.c [!_LIBC]:
13002         * lib/time_rz.c: Include time-internal.h.
13003         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
13004         name from *TZ rather than from TZNAME, doable because *TZ now has
13005         a tzname_copy member.
13006         * lib/time-internal.h: New file, with contents taken from
13007         lib/time_rz.c.  It's separate because strftime.c now accesses
13008         struct tm_zone members.
13009         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
13010         New member tzname_copy.
13011         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
13012         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
13013         Initialize tzname_copy member.
13014         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
13015         in tzname_copy member.
13016         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
13017         (restore_tzname): Remove; no longer needed.  All calls removed.
13018         * modules/time_rz (Files): Add lib/time-internal.h.
13020         time: port __need_time_t to MinGW
13021         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
13022         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
13024 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
13026         strftime: fix newly-introduced bug on Solaris
13027         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
13028         consistently at the start, rather than doing some of the setup at
13029         the start and some in the %Z format spec.  This is cleaner, and
13030         works better with time_rz on platforms like Solaris where struct
13031         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
13032         mktime_z and localtime_rz can mess up the tzname cache.
13034         test-strftime: test for Solaris bug
13035         * modules/strftime-tests (Depends-on): Add strerror.
13036         * tests/test-strftime.c: Include <errno.h>.
13037         (posixtm_test): New function, containing the old 'main'.
13038         (struct tzalloc_test, struct localtime_rz_test): New types.
13039         (TZ, LT): New static vars.
13040         (tzalloc_test): New function.
13041         (main): Rewrite in terms of posixtm_test and tzalloc_test.
13043         time_rz: port to Solaris etc.
13044         Works around a tzname problem on platforms like Solaris that have
13045         tzname but not tm_zone, by setting tzname at the appropriate time
13046         and restoring it later.
13047         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
13048         New static vars.
13049         (save_abbr) [HAVE_TZNAME]: Set them.
13050         (revert_tz) [HAVE_TZNAME]: Clear or use them.
13051         (restore_tzname): New function.
13052         (localtime_rz, mktime_z): Use it.
13054         time_rz: now LGPL
13055         * modules/time_rz (License): Now LGPL, because strftime depends on it.
13057         time_rz: make a constant 'const'
13058         * lib/time_rz.c (local_tz): Now const.
13060         time_rz: fix off-by-one typo
13061         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
13063 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
13065         fprintftime, strftime: use timezone_t args
13066         * NEWS: Document the change.
13067         * lib/fprintftime.h (fprintftime):
13068         * lib/strftime.c (extra_args) [my_strftime]:
13069         * lib/strftime.h (nstrftime):
13070         Time zone arg is now of type timezone_t, not int.
13071         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
13072         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
13073         (my_strftime) [emacs && !my_strftime]:
13074         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
13075         Remove; Emacs doesn't need this any more.
13076         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
13077         fprintftime and nstrftime to call tzset.
13078         (ut) [!my_strftime]: Remove, replacing with ...
13079         (tz) [!my_stftime]: ... this new macro.  All uses changed.
13080         (strftime_case_): Use localtime_rz and mktime_z instead
13081         of localtime_r and mktime.
13082         * modules/fprintftime (Depends-on): Add time_rz.
13083         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
13084         * tests/test-strftime.c (main): Adjust to new nstrftime API.
13086         time_rz: new module
13087         * MODULES.html.sh: Add time_rz.
13088         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
13089         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
13090         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
13091         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
13092         New var HAVE_TIMEZONE_T (default 0).
13093         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
13094         New var GNULIB_TIME_RZ (default 0).
13095         * modules/time (time.h): Substitute the new vars.
13097         flexmember: license is now unlimited
13098         * modules/flexmember (License): Change to unlimited,
13099         since its only source file gives an unlimited license.
13101 2015-07-15  Eric Blake  <eblake@redhat.com>
13103         maint: update copyright paper procedures
13104         * config/srclist.txt: Drop outdated files.
13105         * doc/Copyright/conditions.txt: Update to latest.
13106         * doc/Copyright/assign.changes.manual: Delete.
13107         * doc/Copyright/assign.future.manual: Likewise.
13108         * doc/Copyright/assign.manual: Likewise.
13109         * doc/Copyright/assign.translation.manual: Likewise.
13110         * doc/Copyright/disclaim.changes.manual: Likewise.
13111         * doc/Copyright/disclaim.manual: Likewise.
13112         * doc/Copyright/disclaim.program: Likewise.
13114 2015-07-07  Daiki Ueno  <ueno@gnu.org>
13116         localename: fix link error on Illumos
13117         Illumos defines __sun, but does not have getlocalename_l nor the
13118         equivalent.  This partially reverts commit 387c214.
13119         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
13120         available, as well as uselocale.
13121         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
13122         use getlocalename_l if it is not available.
13124 2015-07-07  Daiki Ueno  <ueno@gnu.org>
13126         unistr/uN-strtok-tests: avoid a trivial leak
13127         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
13128         input and delim after the multibyte delimiter tests.
13130 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
13132         file-has-acl, acl-permissions: fix HP-UX typos
13133         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
13134         * lib/file-has-acl.c (file_has_acl):
13135         * lib/set-permissions.c (context_acl_from_mode)
13136         (context_aclv_from_mode, set_acls):
13137         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
13138         They were introduced by the recent ACL changes.
13140         regex: match current GNU grep behavior
13141         These symbols have not matched GNU grep behavior for quite some time.
13142         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
13143         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
13144         Change to match current GNU behavior.
13145         Simplify by expressing it as differences from POSIX BREs and EREs.
13146         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
13148 2015-07-03  Jim Meyering  <meyering@fb.com>
13150         set-permissions.c: adjust acl_from_mode's cpp guard
13151         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
13152         directives identical to those guarding the sole use.
13153         Otherwise, on some systems, we'd get a warning about
13154         the function being defined but not used.
13155         Also, filter through cppi to correct misleading indentation
13156         of cpp directives.
13158 2015-07-03  Pádraig Brady  <P@draigBrady.com>
13160         tests: restrict shells to those that support 'local'
13161         The local keyword is very widely supported and used
13162         in tests in coreutils and grep at least.  Therefore
13163         restrict to testing with shells that support it.
13164         This mainly excludes /bin/sh on Solaris.
13165         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
13167 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
13168         and Daiki Ueno  <ueno@gnu.org>
13170         unistr/uN-strtok: handle multibyte delimiters
13171         Previously, uN_strtok moved PTR to the next unit to the token end.
13172         When DELIM contained a multibyte character, the new position could
13173         be a middle of a multibyte character.
13174         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
13175         after the token.
13176         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
13177         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
13178         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
13179         * modules/unistr/u8-strtok (Depends-on): Depend on
13180         unistr/u8-strmblen.
13181         * modules/unistr/u16-strtok (Depends-on): Depend on
13182         unistr/u16-strmblen.
13183         * modules/unistr/u32-strtok (Depends-on): Depend on
13184         unistr/u32-strmblen.
13185         * tests/unistr/test-u-strtok.h: New file.
13186         * tests/unistr/test-u8-strtok.c: New file.
13187         * tests/unistr/test-u16-strtok.c: New file.
13188         * tests/unistr/test-u32-strtok.c: New file.
13189         * modules/unistr/u8-strtok-tests: New file.
13190         * modules/unistr/u32-strtok-tests: New file.
13191         * modules/unistr/u16-strtok-tests: New file.
13193 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
13195         update-copyright: fix test failure with perl >= 5.22 (trivial)
13196         * build-aux/update-copyright: Escape a literal left curly bracket,
13197         required with perl >= 5.22
13199 2015-07-02  Daiki Ueno  <ueno@gnu.org>
13201         u{16,32}-strstr-tests: relax timeout condition
13202         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
13203         tests can take longer than 5 seconds to complete.
13204         Reported by Dagobert Michelsen in:
13205         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
13206         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
13207         seconds to 10 seconds.
13208         * tests/unistr/test-u32-strstr.c (main): Likewise.
13210 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
13212         gnulib-common.m4: change the ARFLAGS default to 'cr'
13213         In some GNU/Linux distributions people started to compile 'ar'
13214         binary with --enable-deterministic-archives (binutils project).
13215         That, however, in combination with previous autotools long time
13216         working default AR{_,}FLAGS=cru causes warnings on such
13217         installations:
13218         ar: `u' modifier ignored since `D' is the default (see `U')
13219         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
13220         set already.
13222 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
13224         selinux-h: avoid double free after *getfilecon()
13225         Originally reported by Ben Shelton on bug-tar:
13226         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
13227         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
13228         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
13229         param should be freed by freecon(3) (regardless the return value).
13231 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
13233         fix pty related tests issues on Windows (trivial)
13234         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
13235         however it's still present in tests/ subdirectory of the final project.
13236         Therefore avoid it to pass `make check`.
13237         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
13238         will just return -ENOSYS, so avoid this non applicable test allowing
13239         the build to proceed.
13241 2015-07-01  Pádraig Brady  <P@draigBrady.com>
13243         acl: fix definition of acl_from_mode on FreeBSD
13244         This was causing basic coreutils copy operations to fail
13245         with ENOTSUP or ENOENT error messages.
13246         * lib/acl-internal.h (acl_from_mode): Only define when
13247         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
13248         of acl_from_mode() defined in lib/set-permissions.c to
13249         be used on FreeBSD at least.
13250         * lib/set-permissions.c: Fix up comment spelling,
13251         and a redundant variable assignment; noticed in passing.
13253 2015-06-30  Pádraig Brady  <P@draigBrady.com>
13255         readutmp: port to FreeBSD >= 9
13256         * lib/readutmp.h: Map utmpxname() to setutxdb().
13257         With that coreutils who(1) and pinky(1) tests pass.
13259 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13261         mgetgroups: port to strict OS X
13262         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
13263         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
13264         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
13265         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
13267 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
13269         mgetgroups: port to strict OS X
13270         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
13271         Document the getgrouplist problem.
13272         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
13273         New macro.
13274         (mgetgroups): Use it.
13275         * m4/mgetgroups.m4 (gl_MGETGROUPS):
13276         Check for OS X signature for getgrouplist.
13278 2015-06-29  Jim Meyering  <meyering@fb.com>
13280         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
13281         It started like this when building coreutils' latest on OS X,
13282         invoking ./configure with a nonempty --cache=.cache:
13284           lib/linkat.c:46:42: error: operator '||' has no right operand
13285           lib/linkat.c: In function 'rpl_linkat':
13286           lib/linkat.c:330:27: error: #if with no expression
13288         Here's linkat.c's line 46:
13290           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
13292         Here's some context:
13294           $ grep linkat_nofoll .cache
13295           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
13296           $ grep LINKAT_SYM lib/config.h
13297           #define LINKAT_SYMLINK_NOTSUP
13299         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
13300         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
13301         but that violates a tenet of AC_CACHE_CHECK: it must
13302         have no side effect other than setting its cache variable.
13304         What happens is that when the cache is set, we'd skip the
13305         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
13306         defined to whatever value it happened to have in configure's
13307         environment.  In my case, it was not defined, so this later code:
13309           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
13310             [Define to 1 if linkat can create hardlinks to symlinks])
13312         would emit code with an empty RHS.
13314         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
13315         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
13317 2015-06-28  Jim Meyering  <meyering@fb.com>
13319         mountlist: avoid an unused-label warning on OS X
13320         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
13321         Building on OS X, I saw a warning about the "free_then_fail" label
13322         being unused.  Give it the _GL_UNUSED_LABEL attribute.
13324         error.c: correct printf-style format: %d -> %u
13325         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
13326         rather than %d, to match the type of "line_number", unsigned int.
13328 2015-06-25  Pádraig Brady  <P@draigBrady.com>
13330         fts: avoid reading beyond the heap allocation
13331         GCC 5.1.1 with -O2 and -fsanitize=address reports
13332         a read of size 4 from a heap object of size 3 is indeed invalid,
13333         though this may be due to incorrect padding assumptions by GCC, see:
13334         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
13335         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
13336         * modules/fts: Depend on stdalign.
13338 2015-06-24  Pádraig Brady  <P@draigBrady.com>
13340         savedir: avoid undefined behavior in qsort call
13341         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
13342         "runtime error: null pointer passed as argument 1,
13343          which is declared to never be null"
13344         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
13346 2015-06-24  Pádraig Brady  <P@draigBrady.com>
13348         userspec: avoid undefined behavior in gettext call
13349         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
13350         "runtime error: null pointer passed as argument 2,
13351          which is declared to never be null"
13352         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
13354 2015-06-20  Glenn Morris  <rgm@gnu.org>
13356         gitlog-to-changelog: improve gitmerge.el commits
13357         Let the Emacs ChangeLog generation process exclude "skipped"
13358         messages from merge commits (Bug#20717).
13359         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
13361 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
13363         wchar: fix MinGW compilation warnings
13364         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
13365         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
13366         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
13368 2015-06-20  Daiki Ueno  <ueno@gnu.org>
13370         uniname/uniname-tests: use pristine data files
13371         For copyright and maintenance reasons, use the data files from UCD
13372         without modification.
13373         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
13374         (getfield): Remove.
13375         (aliases_count): New global variable.
13376         (fill_names): Skip comments and empty lines in the input.  Don't
13377         use getfield.
13378         (fill_aliases): Likewise.
13379         (main): Change the expected command line arguments to:
13380         NAMES... ["--" ALIASES...].
13381         * tests/uniname/test-uninames.sh: Adjust to the change in
13382         test-uninames.c.
13383         * tests/uniname/UnicodeDataNames.txt: Remove.
13384         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
13385         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
13386         file from Unicode 8.0.0.
13388 2015-06-19  Pádraig Brady  <P@draigBrady.com>
13390         linked-list, linkedhash-list: avoid compiler warnings
13391         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
13392         -Werror=suggest-attribute=pure (from GCC 5.1.1).
13394 2015-06-19  Daiki Ueno  <ueno@gnu.org>
13396         libunistring: bump minimum version to 0.9.6
13397         * all modules depending on updated Unicode data: Regenerate.
13398         The modules are listed by a script that does:
13399         - for each file listed by: git show --oneline --name-only 705f4efc
13400           - deduce the containing modules, based on "Files:"
13401         - deduce the modules which depend on the containing modules, based
13402           on "Depends-on:"
13404 2015-06-18  Daiki Ueno  <ueno@gnu.org>
13406         uniname/uniname: update to Unicode 8.0.0
13407         * lib/uniname/uninames.h: Regenerate.
13408         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
13409         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
13411 2015-06-18  Daiki Ueno  <ueno@gnu.org>
13413         libunistring: update to Unicode 8.0.0
13414         * lib/gen-uni-tables.c (SIZEOF): New macro.
13415         (output_numeric): Increase the maximum number of fractions from
13416         128 to 160.  Increase the level3 value width from 7 bits to 8
13417         bits.  Use SIZEOF instead of a hard-coded integer.
13418         (output_blocks): Decrease the cut-off threshold from 0x30000 to
13419         0x28000.
13420         (fill_blocks): Increase the maximum number of blocks from 256 to
13421         384.  Use SIZEOF instead of a hard-coded integer.
13422         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
13423         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
13424         value width.
13425         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
13426         a new case added to LBP22.
13427         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
13428         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
13429         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
13430         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
13431         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
13432         * tests/uniwidth/test-uc_width2.sh: Same updates as in
13433         lib/uniwidth/width.c.
13434         * all generated files under lib/uni* and tests/uni*: Regenerate.
13436 2015-06-16  Pádraig Brady  <P@draigBrady.com>
13438         gnu-web-doc-update: add --mirror to remove stale files
13439         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
13440         out of date files from the CVS server.  Since this is usually
13441         appropriate, a prompt is given when the option is not specified,
13442         along with the `cvs remove` command that would be run.
13444 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
13446         acl-permissions: pacify -Wsuggest-attribute=const
13447         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
13448         * lib/acl-internal.h (free_permission_context):
13449         Declare with attribute const if ! (defined USE_ACL &&
13450         (HAVE_ACL_GET_FILE || defined GETACL)).
13452         fsync: document AIX misbehavior
13453         * doc/posix-functions/fsync.texi (fsync):
13454         Document failure on AIX with read-only file descriptor.
13456 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
13458         stdio: Don't redefine gets when using C++
13459         * lib/stdio.in.h (gets): Disable warning on C++.
13461 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
13463         acl-permissions: port to AIX, C89 HP-UX
13464         Problems reported by Michael Felt.
13465         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
13466         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
13467         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
13468         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
13469         Add cast for AIX, whose system calls are declared to accept
13470         char * even though the arguments are really char const *.
13471         * lib/get-permissions.c (get_permissions):
13472         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
13473         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
13474         that broke a build.
13475         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
13476         Rework types to pacify xlc.
13478 2015-06-03  Pádraig Brady  <P@draigBrady.com>
13480         vasprintf-posix: avoid compiling vasnprintf where possible
13481         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
13482         module where not required.  For example on a GNU/Linux system
13483         when gnulib-tool is run with the --conditional-dependencies option.
13485 2015-06-02  Pádraig Brady  <P@draigBrady.com>
13487         file-has-acl: fix build on Mac OS X 10
13488         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
13489         which has an incompatible 6 parameter getxattr() call.
13490         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
13491         call on Mac OS X >= 10.4.
13492         * doc/glibc-functions/fgetxattr.texi: Likewise.
13493         * lib/file-has-acl.c: Revert to more complete combined check.
13494         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
13495         Reported by Jack Howarth.
13497 2015-06-02  Pádraig Brady  <P@draigBrady.com>
13499         prefix-gnulib-mk: remove no longer needed special case
13500         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
13501         continued lib_SOURCES lines are no longer present,
13502         so special case handling of such entries is not required.
13504 2015-06-01  Pádraig Brady  <P@draigBrady.com>
13506         acl: don't depend on the deprecated qacl module
13507         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
13509 2015-06-01  Pádraig Brady  <P@draigBrady.com>
13511         gnulib-tool: concatenate lib_SOURCES to a single line
13512         * gnulib-tool: Refactor the line merging sed logic,
13513         and use that to output a single lib_SOURCES line for each module.
13514         gnulib using projects often postprocess this output to prepend
13515         subdir paths to each item, and having a single line simplifies this
13516         processing allowing better decoupling from the gnulib-tool output.
13518 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
13520         pthread_sigmask: discount system version if a simple macro (trivial)
13521         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
13522         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
13523         function to ensure it's available.
13525 2015-05-31  Pádraig Brady  <P@draigBrady.com>
13527         readlinkat: avoid OS X 10.10 trailing slash bug
13528         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
13529         has this bug.
13530         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
13531         that OS X 10.10 has this function.
13532         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
13533         as done for readlink().
13534         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
13535         trailing slash bug, and assume readlinkat() has the same issue.
13536         Also fix a typo where $gl_cv_decl_readlink_works was tested,
13537         rather than the correct $gl_cv_decl_readlinkat_works.
13539 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
13541         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
13542         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
13543         module rewrite.
13545         acl-permissions: Fix build on Solaris and Cygwin
13546         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
13547         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
13548         ace_entries variables have moved into struct permission_context but
13549         they were still accessed as local variables here.
13551 2015-05-29  Pádraig Brady  <P@draigBrady.com>
13553         linkat: avoid OS X 10.10 trailing slash with symlink bug
13554         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
13555         causes the symlink to be dereferenced, and if it points
13556         to a non existent file, that file will be created as
13557         a hard link to "path1".
13558         This fixes a test failure in test-linkat.c.
13559         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
13560         this case.  The existing workaround in linkat.c for
13561         trailing slash issues, suffices for this case.
13562         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
13563         the list of platforms with trailing slash issues.
13565 2015-05-28  Pádraig Brady  <P@draigBrady.com>
13567         unlinkat: handle ignoring of ".." on Darwin 14
13568         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
13569         on Mac OS X 10.10, where it ignores paths with a trailing "..",
13570         so handle in the same manner.
13571         * m4/unlinkat.m4: Comment on this Darwin issue.
13572         * doc/posix-functions/unlink.texi: Update the latest version
13573         where the issue was seen.
13574         * doc/posix-functions/unlinkat.texi: Mention this issue.
13575         Fixes a test failure in test-unlinkat.c.
13577 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
13579         qacl: split into qcopy-acl and qset-acl
13580         Emacs needs the former, but not the latter.
13581         * modules/acl-permissions: New file, containing most of the old qacl.
13582         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
13583         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
13584         * modules/qcopy-acl, modules/qset-acl: New files.
13585         * MODULES.html.sh (File system functions):
13586         Mention the new modules, and mention qacl while we're at it.
13588 2015-05-27  Glenn Morris  <rgm@gnu.org>
13590         gitlog-to-changelog: new option --ignore-line
13591         (This patch is imported from the GNU Emacs master.)
13592         This option ignores individual commit lines matching a pattern.
13593         * build-aux/gitlog-to-changelog: Add --ignore-line option.
13595 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
13597         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
13598         Implement get_permissions and set_permissions primitives for getting all
13599         the permissions of a file, storing them, and later setting them. (In the
13600         minimal case, the permissions consist only of a file mode.) Reimplement
13601         qset_acl and qcopy_acl based on these new primitives: this avoids code
13602         duplication and makes error handling more consistent.
13603         The Solaris and Cygwin code still uses duplicate code paths for setting
13604         a file mode while making sure that no acls exist and setting an explicit
13605         acl; this is no worse than before, but could be cleaned up.  The AIX
13606         code still doesn't read ACLs, it only makes sure that acls don't get in
13607         the way when setting a file mode.
13608         * lib/acl-internal.h (struct permission_context): New data structure.
13609         (get_permissions, set_permissions, free_permission_context): Declare.
13610         * lib/acl-internal.c (free_permission_context): New helper function.
13611         * lib/get-permissions.c (get_permissions): New helper function split off
13612         from qcopy_acl.
13613         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
13614         AIX, set a file's permissions based only on a file mode.
13615         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
13616         other platforms construct a temporary acl from the file mode and set
13617         that acl in the same way as setting an acl read from the source file.
13618         This should help avoid code duplication and inconsistent / buggy
13619         behavior.
13620         (set_acls): New helper function Split off from qcopy_acl.
13621         (chmod_or_fchmod): Moved here from qset-acl.c.
13622         (set_permissions): New helper function.
13623         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
13624         set_permissions.
13625         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
13626         * modules/qacl: Add get-permissions.c and set-permissions.c.
13628         file-has-acl: Split feature tests again (Bug#20667)
13629         * lib/file-has-acl.c: Instead of testing for
13630         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
13631         define them when needed.
13632         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
13633         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
13635 2015-05-27  Pádraig Brady  <P@draigBrady.com>
13637         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
13638         This avoids a conflict with "FORTIFY_SOURCE" variants
13639         of the string functions when they're replaced on NetBSD-6.0.1
13640         and Darwin-14.3.0 at least.
13641         * lib/string.in.h: Avoid including our "lib/string.h" while
13642         including the system <string.h>.
13644 2015-05-26  Eric Blake  <eblake@redhat.com>
13646         stdio: limit __gnu_printf__ witness to gcc 4.4+
13647         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
13648         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
13650         error: use correct printf attributes on mingw
13651         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
13653         inttypes: force correct mingw PRIdMAX even without <stdio.h>
13654         * modules/inttypes (Depends-on): Require extensions, so that mingw
13655         always uses GNU style inttypes.
13656         * lib/inttypes.in.h: On mingw, include <stdio.h>.
13658         stdio: fix probe on mingw under gcc 5.1
13659         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
13660         around new gcc preprocessor rules.
13662 2015-05-07  Glenn Morris  <rgm@gnu.org>
13664         gitlog-to-changelog: parse "Tiny-change"
13665         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
13666         "Copyright-paperwork-exempt".  (Bug#20324)
13668 2015-05-06  Pádraig Brady  <P@draigBrady.com>
13670         doc: document glibc posix_fallocate() issues
13671         * doc/posix-functions/posix_fallocate.texi: Mention the
13672         glibc efficiency problems and issues with NFS.
13674 2015-05-05  Karl Berry  <karl@freefriends.org>
13676         * build-aux/gendocs.sh (usage): document new css default
13677         for HTML (--htmlarg).
13679 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
13681         extern-inline: no need for workaround in GCC 5.1
13682         * doc/extern-inline.texi (extern inline):
13683         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
13684         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
13685         around these bugs in GCC 5.1 and later.  Maybe in a decade or
13686         two we can remove these workarounds.
13688 2015-04-28  Pádraig Brady  <P@draigBrady.com>
13690         eealloc, pagealign_alloc, xalloc: avoid clang warnings
13691         Avoid [-Wunknown-attributes] warnings like:
13692         warning: unknown attribute '__alloc_size__' ignored
13693         * lib/xalloc.h: Don't use the __alloc_size__  attribute
13694         with clang, as support has been fully removed as of clang 3.5:
13695         https://github.com/llvm-mirror/clang/commit/c047507a
13696         * lib/eealloc.h: Likewise.
13697         * lib/pagealign_alloc.h: Likewise.
13699 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
13701         tests: pacify GCC 5.1's stricter printf checking
13702         * tests/test-dirname.c (main):
13703         * tests/test-getaddrinfo.c (simple):
13704         * tests/test-getlogin.c (main):
13705         * tests/test-getndelim2.c (main):
13706         * tests/test-inttostr.c (CK):
13707         * tests/test-md5.c (main):
13708         * tests/test-read-file.c (main):
13709         * tests/test-sha1.c (main):
13710         Fix mismatches between printf format and value signedness.
13711         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
13712         Remove, as CAST_VAL always returned a value of type uintmax_t.
13714         fts: port to GCC 5.1 with --enable-gcc-warnings
13715         Without this fix, GCC 5.1 (correctly) warns about a subscript
13716         error on the fts_name component of FTSENT.  It's actually a
13717         flexible member, so define it that way on C99 or later hosts.
13718         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
13719         structure that now has a flexible array member.
13720         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
13721         (FTSENT): fts_name is now flexible on C99-or-later platforms.
13722         * modules/fts (Depends-on): Add flexmember.
13724 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
13726         file-has-acl: port to CentOS 6
13727         Problem reported by Tom G. Christensen in:
13728         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
13729         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
13730         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
13731         HAVE_GETXATTR.
13732         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
13733         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
13734         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
13735         file-has-acl.c actually needs.
13737 2015-04-26  Pádraig Brady  <P@draigBrady.com>
13739         file-has-acl: always return false when ACLs aren't supported
13740         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
13741         change the GNU/Linux getxattr path, to transform "not supported"
13742         errors to a false return rather than an error.  This is handled
13743         within file_has_acl() due to the platform specific tests to
13744         determine if ACLs are not supported.
13746 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
13748         gettext: propagate po/Makefile.in.in too
13749         * build-aux/po/Makefile.in.in: Copy from latest gettext.
13750         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
13751         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
13752         between Makefile.in.in and the gettext-runtime m4 files.
13754 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
13756         file-has-acl: new module, split from acl
13757         And add a new module file-has-acl-tests to match.
13758         I ran into a problem with the recent changes to the acl module,
13759         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
13760         When using the fixed version with Emacs, I discovered that
13761         file-has-acl wasn't separated out well enough for Emacs (e.g., it
13762         had multiple libraries, but needed only one), so I fixed that too.
13763         * NEWS: Document this incompatible change.
13764         * modules/file-has-acl, modules/file-has-acl-tests: New files.
13765         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
13766         Initialize gl_need_lib_has_acl.
13767         (gl_FUNC_ACL): Require it.
13768         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
13769         Move the file-has-acl.c-relevant stuff to ...
13770         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
13771         use_xattrs = 0' typo, and omit some needless work.  Set
13772         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
13773         when gl_FUNC_ACL is called.
13774         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
13775         (Link): Remove $(LIB_HAS_ACL).
13776         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
13777         (check_PROGRAMS): Move stuff relevant to file-has-acl to
13778         modules/file-has-acl-tests.
13779         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
13781         manywarnings: add GCC 5.1 warnings
13782         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
13783         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
13784         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
13785         -Wsuggest-override, -Wuse-without-only.  Change
13786         -Wnormalized=... operands to match 5.1.
13787         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
13788         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
13789         -Wdiscarded-qualifiers, -Wformat-signedness,
13790         -Wincompatible-pointer-types, -Wint-conversion,
13791         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
13792         -Wshift-count-negative, -Wshift-count-overflow,
13793         -Wsizeof-array-argument, -Wsuggest-final-methods,
13794         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
13795         and add -Warray-bounds=2 as a special case.
13797 2015-04-21  Simon Josefsson  <simon@josefsson.org>
13799         doc: update FDL template to match FDL examples.
13800         * doc/alloca-opt.texi:
13801         * doc/alloca.texi:
13802         * doc/c-ctype.texi:
13803         * doc/c-strcase.texi:
13804         * doc/c-strcaseeq.texi:
13805         * doc/c-strcasestr.texi:
13806         * doc/c-strstr.texi:
13807         * doc/c-strtod.texi:
13808         * doc/c-strtold.texi:
13809         * doc/ctime.texi:
13810         * doc/error.texi:
13811         * doc/gcd.texi:
13812         * doc/gnulib-tool.texi:
13813         * doc/inet_ntoa.texi:
13814         * doc/intprops.texi:
13815         * doc/lib-symbol-visibility.texi:
13816         * doc/maintain.texi:
13817         * doc/parse-datetime.texi:
13818         * doc/quote.texi:
13819         * doc/regexprops-generic.texi:
13820         * doc/standards.texi: Remove spurious 'with' in FDL license
13821         template.
13823 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
13825         lstat: fix cross-compilation 'ln -s' problem
13826         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
13827         Have the test program call 'symlink' rather than a separate
13828         script run 'ln -s'; this is more likely to work in
13829         cross-compilation environments.  Reported by Pavel Fedin in:
13830         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
13832 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
13834         gendocs.sh: default to a common CSS style sheet for HTML output
13835         * build-aux/gendocs.sh (htmlarg): Change default value.
13837 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
13839         gnulib-tool: output bold attribute more portably
13840         * gnulib-tool (func_show_module_list): Change hexadecimal
13841         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
13842         encoded numbers as arguments to `printf' is not portable,
13843         and is not claimed by POSIX.  This is the case with FreeBSD.
13845 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
13847         qacl: Simplify HP-UX acl_nontrivial check
13848         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
13849         acl_nontrivial. Check if the acl has at most three entries instead (it must
13850         have exactly three entries according to the HP-UX documentation). Ignore
13851         uids and gids as long as an entry is either for a user (i.e., the owner),
13852         a group (i.e., the owning group), or others.
13853         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
13854         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
13856 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
13858         acl: On Linux, check for acls without libacl
13859         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
13860         library function to check for the presence of acls, avoiding a library.
13861         * lib/file-has-acl.c: Include xattr headers if we have them.
13862         (file_has_acl): On Linux, use getxattr().
13863         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
13864         file_has_acl(). Check for xattr headers and getxattr().
13866 2015-04-14  Ángel González  <keisial@gmail.com>
13868         tempname: avoid unused parameter warnings (trivial)
13869         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
13870         (try_nocreate): Likewise.
13872 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
13874         fseeko: fix build failure on NetBSD >= 6 (trivial)
13875         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
13876         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
13878 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
13880         gitlog-to-changelog: port to MS-Windows
13881         * build-aux/gitlog-to-changelog (git_dir_option):
13882         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
13883         MS-Windows Perl.  Reported by Eli Zaretskii in:
13884         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
13886 2015-04-07  Karl Berry  <karl@gnu.org>
13888         gendocs: new option --tex for passing args to texi2dvi.
13889         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
13890         (TEXI2DVI): cut to just command name.
13891         (usage): mention new option, and update copyright.
13892         <generate_tex>: use it.
13894 2015-04-07  Karl Berry  <karl@gnu.org>
13896         * config/srclistvars.sh (GETTEXT): new definition.
13897         * config/srclist.txt: use it for gettext .m4 files.
13898         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
13899         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
13900         and continuing into April.
13902 2015-04-07  Daiki Ueno  <ueno@gnu.org>
13904         uniname/uniname-tests: fix failure due to alias
13905         Reported by Jack Howarth in:
13906         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
13907         * tests/uniname/test-uninames.c (name_has_alias): New function.
13908         (test_inverse_lookup): Exclude character name with valid alias,
13909         from randomly generated character names.
13910         (main): Fill unicode_aliases before calling test functions.
13912 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
13914         hash: remove deprecated hash_insert0 function
13915         * lib/hash.h (hash_insert0): Remove deprecated function.
13916         * lib/hash.c (hash_insert0): Likewise.
13918 2015-04-02  Pádraig Brady  <P@draigBrady.com>
13920         mountlist: remove dependency on libmount
13921         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
13922         directly, rather than depending on libmount, which has many
13923         dependencies due to its dependence on libselinux, as detailed at:
13924         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
13925         Note we restrict this to __linux__ as that's probably where this
13926         interface will remain.  If ever porting, it would be best
13927         to first pull the makedev() wrapper from coreutils to a gnulib module.
13928         Note also we don't add a getline dependency to the mountlist module,
13929         as all Linux versions are sufficient.
13931 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
13933         stddef: port to pre-C11 GCC on x86
13934         On this platform, max_align_t should have an alignment of 8 even
13935         though the storage alignments of double, long, etc. max out at 4.
13936         Inspired by a comment of Andreas Schwab's here:
13937         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
13938         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
13939         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
13940         * tests/test-stddef.c: Test __alignof__ too, if available.
13942 2015-03-24  Pádraig Brady  <P@draigBrady.com>
13944         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
13945         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
13947 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
13949         yesno: make EOL optional in ENABLE_NLS case also (trival)
13950         * lib/yesno.c (yesno): Check for EOL before replacing.
13951         * tests/test-yesno.sh: Add a test case (test along with gettext).
13953 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
13955         fdopendir-tests: test it does not close its arg
13956         * tests/test-fdopendir.c (main): Test that fdopendir does not
13957         close its argument.  From a suggestion by David Grayson in:
13958         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
13960 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
13962         gitlog-to-changelog: trim trailing white space
13963         * build-aux/gitlog-to-changelog (main):
13964         Trim trailing white space from commit message lines.
13965         This is helpful for processing the GNU Emacs repository,
13966         which dates back to 1985 and contains a lot of such lines.
13968         gitlog-to-changelog: new option --ignore-matching
13969         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
13970         Support new option --ignore-matching=PAT, which ignores all
13971         commit messages whose first line matches PAT.
13973 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
13975         fdopendir: port better to MinGW
13976         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
13977         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
13978         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
13979         * modules/fdopendir (Depends-on): Add dirfd.
13981 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
13983         fdopendir: fix typo in comment
13984         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
13986 2015-03-09  Eric Blake  <eblake@redhat.com>
13988         error: document all entry points provided
13989         * doc/glibc-functions/error_print_progname.texi
13990         (error_print_progname): Mention the error module.
13991         * doc/glibc-functions/error_at_line.texi (error_at_line):
13992         Likewise.
13993         * doc/glibc-functions/error_message_count.texi
13994         (error_message_count): Likewise.
13995         * doc/glibc-functions/error_one_per_line.texi
13996         (error_one_per_line): Likewise.
13998 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
14000         vasnprintf: pacify clang 3.5.0
14001         Problem reported by Werner Lemberg in:
14002         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
14003         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
14004         The casts aren't needed, since the characters in question are ASCII.
14006 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
14008         glob, etc.: port to MSVC v18 on MS-Windows 8.1
14009         * lib/dirent--.h (GNULIB_defined_opendir):
14010         * lib/dirent.in.h (GNULIB_defined_opendir)
14011         (GNULIB_defined_closedir):
14012         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
14013         #undef only if Gnulib defined it.
14015         poll: port to MSVC v18 on MS-Windows 8.1
14016         Problem reported by Gisle Vanem in:
14017         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
14018         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
14019         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
14020         Add sys_socket.
14022 2015-02-24  Pádraig Brady  <P@draigBrady.com>
14024         tests: support stderr verification with returns_()
14025         * tests/init.sh (returns_): Disable tracing for this wrapper
14026         function, so that stderr of the wrapped command is unchanged,
14027         allowing for verification of the contents.
14029 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
14031         passfd: avoid valgrind uninitalised data warning
14032         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
14033         to include just the fd we've initialized, rather than including
14034         the extra space used for alignment.
14036 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
14038         uniwbrk/u32-wordbreaks-tests: fix copyright
14039         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
14041         dup2: doc and test for Android bug
14042         Reported by Kevin Cernekee in:
14043         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
14044         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14045         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
14047 2015-02-23  Kevin Cernekee  <cernekee@google.com>
14049         Replace dup2() on Android
14050         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
14051         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
14052         fails.  Using rpl_dup2() fixes this because it has an explicit test
14053         for this condition.
14055 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
14057         Android doesn't define RLIM_SAVED_*
14058         Portability problem reported by Kevin Cernekee in:
14059         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
14060         * doc/posix-headers/sys_resource.texi (sys/resource.h):
14061         Mention the portability problem.
14062         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
14063         Define if not defined.
14064         * m4/dup2.m4 (gl_FUNC_DUP2):
14065         * m4/fcntl.m4 (gl_FUNC_FCNTL):
14066         Likewise.
14068 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
14070         vasnprintf-posix-tests: use consistent test
14071         * tests/test-vasnprintf-posix.c (test_function):
14072         Use "<" in assert instead of "<=", for consistency with other tests.
14074 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
14076         printf, isinf, etc.: noncanonical != NaN
14077         Do not require that isinf, printf, etc. treat noncanonical
14078         values as NaNs.  Instead, require only that they do not crash.
14079         Problem reported by Joseph Myers in:
14080         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
14081         * doc/posix-functions/dprintf.texi (dprintf):
14082         * doc/posix-functions/fprintf.texi (fprintf):
14083         * doc/posix-functions/isfinite.texi (isfinite):
14084         * doc/posix-functions/isinf.texi (isinf):
14085         * doc/posix-functions/isnan.texi (isnan):
14086         * doc/posix-functions/printf.texi (printf):
14087         * doc/posix-functions/snprintf.texi (snprintf):
14088         * doc/posix-functions/sprintf.texi (sprintf):
14089         * doc/posix-functions/vdprintf.texi (vdprintf):
14090         * doc/posix-functions/vfprintf.texi (vfprintf):
14091         * doc/posix-functions/vprintf.texi (vprintf):
14092         * doc/posix-functions/vsnprintf.texi (vsnprintf):
14093         * doc/posix-functions/vsprintf.texi (vsprintf):
14094         Document this.
14095         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
14096         * m4/isinf.m4 (gl_ISINFL_WORKS):
14097         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
14098         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
14099         * tests/test-isfinite.c (test_isfinitel):
14100         * tests/test-isinf.c (test_isinfl):
14101         * tests/test-isnan.c (test_long_double):
14102         * tests/test-isnanl.h (main):
14103         * tests/test-snprintf-posix.h (test_function):
14104         * tests/test-sprintf-posix.h (test_function):
14105         * tests/test-vasnprintf-posix.c (test_function):
14106         * tests/test-vasprintf-posix.c (test_function):
14107 o       Test only that noncanonical values do not cause crashes, not that
14108         they are treated as NaNs.  In some cases this means a larger
14109         output buffer is needed.
14111 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
14113         fts: remove redundant close() (trivial)
14114         * lib/fts.c (fts_read): Remove redundant call to close().
14115         Spotted by coverity.
14117 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
14119         getdtablesize: port better for Android
14120         Problem reported by Kevin Cernekee in:
14121         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
14122         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
14123         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
14124         Instead, just use getrlimit, taking care to avoid Cygwin bug.
14126         poll: fixes for large fds
14127         * lib/poll.c (poll): Don't check directly for NFD too large.
14128         Don't rely on undefined behavior in FD_SET when an arg exceeds
14129         FD_SETSIZE.  Always set revents afterwards, even if to zero.
14130         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
14131         as that makes the test a bit stricter.
14133 2015-02-19  Kevin Cernekee  <cernekee@google.com>
14135         fcntl: Fix cross compiling
14136         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
14137         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
14139 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
14141         dup2, fcntl: cross-compile better for Android
14142         Problem reported by Kevin Cernekee in:
14143         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
14144         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
14145         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
14146         there's little need to cross-compile for older kernels nowadays.
14147         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
14148         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
14150 2015-02-18  Pádraig Brady  <P@draigBrady.com>
14152         getopt: don't crash on memory exhaustion
14153         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
14154         memory exhaustion.  In the _LIBC case we use alloca() as is
14155         already done in glibc, so we don't need to consider the separate
14156         error path in that awkward case.  Also fix a memory leak when
14157         ambiguous options are present.
14158         Reported by Tobias Stoeckmann
14160 2015-02-17  Mike Miller  <mtmiller@ieee.org>
14162         tempname: allow compilation with C++ (trivial)
14163         * lib/tempname.h [C++]: Specify extern "C" linkage.
14164         * lib/tempname.h (try_tempname):
14165         * lib/tempname.c (__try_tempname, __gen_tempname):
14166         Rename 'try' to 'tryfunc'.
14168 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
14170         dup2, fcntl: port to AIX
14171         * m4/dup2.m4 (gl_FUNC_DUP2):
14172         * m4/fcntl.m4 (gl_FUNC_FCNTL):
14173         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
14174         The former works on AIX 7.1 but the latter does not.
14175         Also, this may work better with Android; see:
14176         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
14178 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
14180         getdtablesize, dup2, fcntl: port to Android
14181         Problem reported by Kevin Cernekee in:
14182         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
14183         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
14184         Mention that getdtablesize doesn't work on Android.
14185         * lib/getdtablesize.c: Use getrlimit substitute only if
14186         getdtablesize is declared.  This should suffice for Cygwin
14187         while not breaking Android.
14188         * m4/dup2.m4 (gl_FUNC_DUP2):
14189         * m4/fcntl.m4 (gl_FUNC_FCNTL):
14190         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
14191         standardized but the latter is not, and sysconf works on Android.
14192         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
14193         Also check that getdtablesize is declared.
14194         This removes the need for a special case for Android.
14196 2015-02-16  Kevin Cernekee  <cernekee@google.com>
14198         localename: Implement gl_locale_name_thread_unsafe for Android
14199         * lib/localename.c: Android API level >= 21 supports two hardcoded
14200         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
14201         the internal __locale_t struct.
14203 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
14205         fts: avoid crash when a cycle is added while traversing
14206         This could be triggered by auto-mounting a recursive bind mount.
14207         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
14208         * lib/fts.c (fts_read): Avoid removing the original hash table item
14209         when leaving a directory that caused a cycle, and preserve the FTS_DC
14210         flag.
14212 2015-02-16  Daiki Ueno  <ueno@gnu.org>
14214         uniname/uniname: support character alias
14215         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
14216         Generate one-way mapping from aliases to codepoints in the
14217         generated tables.  Special case variation selectors to reduce
14218         table size.
14219         * lib/uniname/uniname.c (unicode_character_name): Special case
14220         variation selectors.
14221         (unicode_name_character): Special case variation selectors and
14222         their aliases.
14223         * lib/uniname/uninames.h: Regenerate.
14224         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
14225         * modules/uniname/uniname-tests (Files): Add
14226         tests/uniname/NameAliases.txt.
14227         * tests/uniname/test-uninames.c: Mark as static.
14228         (ALIASLEN): Define.
14229         (struct unicode_alias): New struct.
14230         (unicode_aliases): New variable.
14231         (fill_aliases): New function.
14232         (test_alias_lookup): New test function.
14233         (main): Run the 'test_alias_lookup' test if the second argument is
14234         given.
14235         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
14236         second argument.
14238 2015-02-11  Kevin Cernekee  <cernekee@google.com>
14240         Fix FILE struct compatibility with Android API level >= 21
14241         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
14242         __sferror.  Recent versions of Bionic's stdio.h no longer define
14243         __sferror.
14244         * lib/fbufmode.c: Likewise.
14245         * lib/fflush.c: Likewise.
14246         * lib/fpurge.c: Likewise.
14247         * lib/freadable.c: Likewise.
14248         * lib/freadahead.c: Likewise.
14249         * lib/freading.c: Likewise.
14250         * lib/freadptr.c: Likewise.
14251         * lib/freadseek.c: Likewise.
14252         * lib/fseeko.c: Likewise.
14253         * lib/fseterr.c: Likewise.
14254         * lib/fwritable.c: Likewise.
14256         Assume unbroken ungetc() on Android
14257         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
14258         test case passed when running on an Android host, and the code
14259         hasn't really changed since 2009.
14261         getdtablesize: Fix Android build
14262         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
14263         versions have this symbol in the .so library (at least 32-bit
14264         platforms) but are missing the declaration in the header file,
14265         causing the m4 logic to guess incorrectly.
14267         localename: Fix Android build
14268         * modules/localename (Depends-on): Add langinfo.
14270         getugroups: Fix Android build
14271         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
14272         functions.
14274         euidaccess: Fix Android build
14275         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
14276         AT_EACCESS gets declared.
14278         linkat_nofollow: Add fallback case for cross compiling
14279         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
14281         net_if: Handle content-free <net/if.h> system headers
14282         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
14283         struct if_nameindex.  If not, enable the replacement header.
14285         signal_h: Fix Android build
14286         * lib/signal.in.h: Add Android to the list of platforms that declare
14287         pthread_sigmask() in <pthread.h> instead of <signal.h>.
14289         duplocale: Fix Android build of duplocale-tests
14290         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
14291         is included by test-duplocale.c (but not by duplocale.c).
14292         * modules/duplocale-tests (configure.ac): Check for monetary.h.
14293         * tests/test-duplocale.c: Skip test if monetary.h is absent.
14294         * doc/posix-headers/monetary.texi: Add Android to the list of
14295         platforms missing monetary.h.
14297 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14299         tests: avoid recent -Werror=unused-variable regression in test-locale
14300         * tests/test-locale.c (main): Reference the variable to avoid the
14301         "unused variable" warning.
14303 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14305         maint: various whitespace cleanups in tempname
14306         * lib/tempname.c: Normalize spacing and line length.
14307         * lib/tempname.h: Likewise.
14308         * modules/tempname: Likewise.
14310 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14312         tests: provide returns_() to simplify exit status checking
14313         * tests/init.sh (returns_): A new function for use in tests,
14314         to allow for easier checking of return values, where you expect
14315         a command to exit with failure status.  By checking for a particular
14316         exit code, you don't hide any crashes for example.
14318 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14320         mountlist: only use libmount when specified
14321         There are currently many shared libs dependencies introduced by
14322         libmount with associated runtime and virt mem overhead.
14323         Therefore don't enable by default.
14324         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
14326 2015-02-08  Daiki Ueno  <ueno@gnu.org>
14328         uniname/unimame-tests: don't link with -lunistring
14329         * modules/uniname/uniname-tests (Makefile.am): Don't link against
14330         $(LIBUNISTRING).  Document the rationale why we need to
14331         conditionalize the test.
14333 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
14335         fstrcmp: don't assume strlen < INT_MAX
14336         * lib/fstrcmp.c: Include stddef.h and stdint.h.
14337         (uintptr_t): Remove, as we're now assuming stdint.
14338         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
14339         Prefer ptrdiff_t to int when the value could exceed INT_MAX
14340         if the input string is long.
14341         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
14342         uintptr_t to size_t when the underlying value is a pointer casted
14343         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
14344         * modules/fstrcmp (Depends-on): Add stdint.
14346         diffseq: prefer ptrdiff_t to ssize_t
14347         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
14348         ptrdiff_t is the natural type for signed indexes.
14349         On a few older platforms, ssize_t is narrower than size_t.
14351         xalloc: fix typo that suppressed warnings
14352         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
14353         This typo, introduced a couple of years ago, mistakenly suppressed
14354         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
14355         -Wmissing-declarations warnings.
14357         full-read: fix license notice typo
14358         * lib/full-read.h: Remove a stray line in the license notice.
14359         Reported by Sam Ellis in: http://bugs.gnu.org/19808
14361         crypto/gc: fix a -Wswitch warning
14362         Reported by Bruce Korb in:
14363         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
14364         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
14366 2015-02-03  Pádraig Brady  <P@draigBrady.com>
14368         gnulib-tool: fix handling of patch(1) diagnostics
14369         * gnulib-tool: Send diagnostics from patch(1) to stderr,
14370         as otherwise gnulib-tool will reparse that output and attempt
14371         to lookup modules.
14373 2015-02-03  Pádraig Brady  <P@draigBrady.com>
14375         bootstrap: exit immediately upon gnulib-tool failure
14376         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
14377         This was noticed when gnulib-tool exited early due to failure
14378         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
14379         but various confusing errors were then given as the build proceeded.
14381 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
14383         symlinkat: include all required header files
14384         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
14385         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
14386         Reported at https://savannah.gnu.org/bugs/index.php?44151
14387         and by Jack Howarth.
14389 2015-01-29  Pádraig Brady  <P@draigBrady.com>
14391         localename: support Solaris 12 and illumos
14392         * lib/localename.c (gl_locale_name_thread_unsafe): call
14393         getlocalename_l() on newer __sun platforms.
14394         Reported by Alexander Pyhalov.
14395         Fix suggested by Rich Burridge.
14397 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
14399         locale: fix tests on illumos (trivial)
14400         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
14401         so move from global scope to main().
14403 2015-01-24  Daiki Ueno  <ueno@gnu.org>
14405         unictype: avoid undefined left-shift behavior
14406         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
14407         gcc's -fsanitize=shift and running its tests triggered:
14408           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
14409             places cannot be represented in type 'int'
14410         Cast LHS to 'unsigned int' after integer promotion.
14411         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
14412         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
14414 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14416         libunistring: bump version of unitypes dependants
14417         Due to the header file search order, all the headers which depend
14418         on unitypes.h need to be generated, when the preinstalled
14419         libunistring is older.
14420         * modules/unicase/base (configure.ac): Bump minimum version to
14421         0.9.4.
14422         * modules/uniconv/base (configure.ac): Likewise.
14423         * modules/unilbrk/base (configure.ac): Likewise.
14424         * modules/uninorm/base (configure.ac): Likewise.
14425         * modules/unistdio/base (configure.ac): Likewise.
14426         * modules/unistr/base (configure.ac): Likewise.
14427         * modules/uniwbrk/base (configure.ac): Likewise.
14428         * modules/uniwidth/base (configure.ac): Likewise.
14430 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14432         unictype/category-none: fix link with libunistring
14433         Since _UC_CATEGORY_NONE is not a public symbol, it will be
14434         prefixed with "libstring_" when compiled as part of libunistring.
14435         To avoid undefined symbol at link time, increase the minimum
14436         version when the dependant modules are updated.
14437         * modules/unictype/category-none (configure.ac): Bump minimum
14438         version to 0.9.5.
14440 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14442         unitypes: fix build with installed libunistring
14443         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
14444         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
14445         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
14447 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
14449         time: port to MinGW32 3.21
14450         Problem reported by Eli Zaretskii in:
14451         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
14452         * lib/time.in.h:
14453         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
14454         * modules/time (Depends-on):
14455         Fall back on unistd.h if the other include files don't define
14456         struct timespec.
14458         update-copyright: apply to self
14459         * build-aux/update-copyright: Fix copyright date.  How ironic!
14461 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14463         libunistring: update to Unicode 7.0.0
14464         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
14465         Manichaean names.
14466         * lib/unictype/joininggroup_name.h: Likewise.
14467         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
14468         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
14469         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
14470         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
14471         (fill_arabicshaping, joining_group_as_c_identifier): Support those
14472         enum values.
14473         (is_property_alphabetic): Accept newly added characters to
14474         cuneiform numeric signs.
14475         (is_property_default_ignorable_code_point): Reject U+0605.
14476         (FIELDLEN): Increase from 120 to 160.
14477         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
14478         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
14479         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
14480         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
14481         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
14482         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
14483         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
14484         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
14485         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
14486         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
14487         U+1E8D0..U+1E8D6.
14488         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
14489         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14490         lib/uniwidth/width.c.
14491         * all generated files under lib/uni* and tests/uni*: Regenerate.
14493 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14495         libunistring: update to Unicode 6.3.0
14496         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
14497         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
14498         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
14499         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
14500         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
14501         Update WB5, WB9, WB10, WB13a, and WB13b.
14502         * tests/uniwbrk/test-uc-wordbreaks.c
14503         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
14504         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
14505         (UC_BIDI_PDI): New enumeration values.
14506         (bidi_category_byname): Support those enum values.
14507         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
14508         dedicated property assigned.
14509         (is_property_case_ignorable): Check 0x0027.
14510         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
14511         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
14512         (output_wbp): Support those enum values.
14513         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
14514         (UC_BIDI_PDI): New enumeration values.
14515         * lib/unictype/bidi_byname.gperf: Add those property names.
14516         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
14517         U+180E, U+1A1B, and U+2066..U+2069.
14518         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14519         lib/uniwidth/width.c.
14520         * all generated files under lib/uni* and tests/uni*: Regenerate.
14522 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14524         libunistring: update to Unicode 6.2.0
14525         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
14526         (unilbrk_table): Adjust table size.
14527         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
14528         for LBP_RI.
14529         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
14530         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
14531         Normalize table index skipping ignored properties.
14532         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
14533         WBP_EXTEND and WBP_FORMAT, which are now computed without using
14534         the table.
14535         * lib/uniwbrk/wbrktable.h: Adjust table size.
14536         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
14537         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
14538         Support rule GB8a.
14539         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
14540         * tests/unigbrk/test-uc-is-grapheme-break.c
14541         (graphemebreakproperty_to_string): Support GBP_RI.
14542         * tests/uniwbrk/test-uc-wordbreaks.c
14543         (wordbreakproperty_to_string): Support WBP_RI.
14544         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
14545         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
14546         (output_lbp): Support LBP_RI.  Adjust some characters changed from
14547         LBP_AL to LBP_ID.
14548         (output_lbp): Support LBP_RI.
14549         (WBP_RI): New enumeration value.
14550         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
14551         (output_wbp): Support WBP_RI.
14552         (GBP_RI): New enumeration value.
14553         (output_gbp_test, fill_org_gbp): Support GBP_RI.
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.1.0
14559         * lib/gen-uni-tables.c (output_joining_group): Switch to
14560         3-level table to accommodate joining groups defined with higher
14561         codepoint value.  Since there are only 88 groups defined in
14562         Unicode 7.0.0, use 7-bit packed format for level3 entries.
14563         (get_lbp): Update for Unicode 6.1.0.
14564         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
14565         3-level table.
14566         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
14567         joining group name.
14568         * lib/unictype/joininggroup_name.h: Likewise.
14569         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
14570         (unilbrk_table): Adjust table size.
14571         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
14572         for LBP_HL.
14573         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
14574         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
14575         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
14576         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
14577         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
14578         U+302E..U+302F.
14579         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14580         lib/uniwidth/width.c.
14581         * all generated files under lib/uni* and tests/uni*: Regenerate.
14582         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
14584 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14586         uniwbrk/u32-wordbreaks-tests: add conformance test
14587         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
14588         tests/uniwbrk/test-uc-wordbreaks.c,
14589         tests/uniwbrk/test-uc-wordbreaks.sh, and
14590         tests/uniwbrk/WordBreakTest.txt.
14591         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
14592         test-uc-wordbreaks to $(check_PROGRAMS), and define
14593         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
14594         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
14595         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
14597 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14599         uniwbrk: ignore Extended/Format characters at BOL not BOS
14600         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
14601         characters if the previous character property is one of
14602         WBP_NEWLINE, WBP_CR, and WBP_LF.
14604 2015-01-11  Jim Meyering  <meyering@fb.com>
14606         test-strstr.c: avoid a trivial leak
14607         * tests/test-strstr.c (main): Free haystack.
14609         update-copyright: recognize groff's \(co marker
14610         * build-aux/update-copyright (circle_c_re): Also accept
14611         uses of \(co, as found in gzip.1.
14613 2015-01-08  Pádraig Brady  <P@draigBrady.com>
14615         maint.mk: fix compatibility with OS X nm
14616         * top/maint.mk (_gl_tight_scope): Use the -g option to
14617         show exported items rather than the -e option which is
14618         ignored on all platforms except OS X where it gives an error.
14619         Reported by Assaf Gordon.
14621 2015-01-07  KO Myung-Hun  <komh@chollian.net>
14623         localcharset: improve charset detection on OS/2
14624         Use system codepage when appropriate.  Map OS/2 codepages to
14625         GNU canonical charset names if possible.
14626         * lib/config.charset: Don't output aliases if "$os" is os2*.
14627         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
14628         result for OS/2.
14629         (locale_charset) [OS2]: Use system codepage if codeset is omitted
14630         from the locale name which is neither "C" nor "POSIX".
14632 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
14634         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
14635         This reverts the last patch but one, as it shouldn't be needed now
14636         that the typo is fixed.
14637         * lib/count-leading-zeros.h (count_leading_zeros_ll):
14638         * lib/count-trailing-zeros.h:
14639         * lib/count-one-bits.h:
14640         Go back to using 64-bit intrinsics.
14642         count-leading-zeros: fix pragma typos
14643         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
14644         Fix typos in declaration of intrinsics when _MSC_VER.
14646 2015-01-06  Pádraig Brady  <P@draigBrady.com>
14648         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
14649         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
14650         intrinsics in this case.
14651         * lib/count-trailing-zeros.h: Likewise.
14652         * lib/count-one-bits.h: Likewise.
14654 2015-01-06  Daiki Ueno  <ueno@gnu.org>
14656         uniname/uniname: update to Unicode 7.0.0
14657         To accommodate new characters added since Unicode 5.1.0, this
14658         changes the internal representation of codepoint ranges.
14659         Previously, we grouped codepoint ranges by manually assigned 4-bit
14660         tag, which only allowed 16 groups.  This removes the limitation by
14661         switching to binary search on a table.  For the detail rationale
14662         and the benchmark results, see:
14663         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
14664         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
14665         to INDEX, as it no longer represents a codepoint.
14666         (range): New struct.
14667         (main): Switch to intervals list from a bit-pattern based
14668         classification.
14669         * lib/uniname/uninames.h: Regenerate.
14670         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
14671         * modules/uniname/base (configure.ac): Bump minimum version to
14672         0.9.5.
14673         * modules/uniname/uniname (configure.ac): Bump minimum version to
14674         0.9.5.
14676 2015-01-05  Eric Blake  <eblake@redhat.com>
14678         doc: update INSTALL from autoconf
14679         * doc/install.texi: Resync from autoconf.
14680         * doc/INSTALL: Reflect recent autoconf update.
14681         * doc/INSTALL.ISO: Likewise.
14682         * doc/INSTALL.UTF-8: Likewise.
14684         stdio: fix use of PRIdMAX on modern mingw
14685         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
14686         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
14687         to work with modern mingw.
14689 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
14691         pthread: detect git mingw builds with only partial pollution
14692         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
14693         pollution, as seen temporarily in Fedora 21.
14695 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
14697         lib-symbol-versions: cache script check
14698         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
14699         Cache the check for linker version scripts.
14700         From a suggestion by Christophe Curis in:
14701         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
14703 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
14705         maint: fix grammar nits in propername (trivial change)
14706         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
14707         and use an adequate verb and tense.
14709 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
14711         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
14712         * module/gendocs: Add 'doc/gendocs_template_min'.
14714         * build-aux/gendocs.sh: Change email addresses and upstream URLs
14715         from to Gnulib's.
14716         (scripturl, templateurl): Adjust accordingly.
14718 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14720         gendocs: copyright date and version fix
14721         Reported by Karl Berry in:
14722         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
14723         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
14724         Fix copyright date.
14725         * build-aux/gendocs.sh (scriptversion): Update.
14727 2015-01-01  Karl Berry  <karl@gnu.org>
14729         * doc/install.texi,
14730         * build-aux/mdate-sh,
14731         * build-aux/depcomp,
14732         * build-aux/config.guess,
14733         * build-aux/config.sub,
14734         * build-aux/ar-lib,
14735         * build-aux/compile: revert copyright updates (some from last
14736         year) in slaved files.
14738 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14740         version-etc: new year
14741         * doc/gnulib.texi:
14742         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
14743         * all files: Run 'make update-copyright'.
14745 2014-12-30  Pádraig Brady  <P@draigBrady.com>
14747         xstrtol: ensure errno is reset
14748         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
14749         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
14751         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
14753 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14755         utimens: fix dependency typo
14756         * modules/utimens (Depends-on): Remove 'assure'.
14757         This bug was introduced in the recent 'assure' patch.
14759 2014-12-22  Eric Blake  <eblake@redhat.com>
14761         docs: mention why libgen.h is bad
14762         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
14764 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
14766         assure: new module
14767         This works better than 'assert' when compiling with -DNDEBUG,
14768         as it avoids some compiler diagnostics in that case.
14769         Reported by Norihiro Tanaka in:
14770         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
14771         * MODULES.html.sh (func_all_modules): Add 'assure'.
14772         * lib/assure.h, modules/assure: New files.
14773         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
14774         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
14775         Prefer 'assure' to 'assert'.
14776         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
14777         * modules/chdir-long, modules/cycle-check, modules/fchdir:
14778         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
14779         Depend on 'assure'.
14781 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
14783         stdalign: port better to HP compilers
14784         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
14785         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
14787         stdalign: work around Apple GCC 4.0 bug
14788         Reported by David Fang in:
14789         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
14790         * lib/stdalign.in.h (_Alignas):
14791         * m4/stdalign.m4 (gl_STDALIGN_H):
14792         Do not use aligned attribute with GCC 4.0 on Apple.
14794 2014-12-16  Pádraig Brady  <P@draigBrady.com>
14796         getcwd: fix test failure on OS X 10.9
14797         * m4/getcwd-path-max.m4: Avoid the replacement if it
14798         won't be effective due to the PATH_MAX limitation of lstat().
14799         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
14800         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
14801         for this case for use in tests, and also exclude this
14802         case when setting REPLACE_GETCWD.
14803         * tests/test-getcwd.c (test_long_name): Restrict the
14804         tested path length so that lstat() will not be passed
14805         a path greater than PATH_MAX.
14806         Also key a test condition on HAVE_OPENAT_SUPPORT rather
14807         than AT_FDCWD, since the latter is set unconditionally
14808         since Sep 2009 in commit 52c658e9.
14810 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
14812         parse-datetime: avoid a compiler warning with byacc (trivial)
14813         * lib/parse-datetime.y (yylex): Use the same prototype in the
14814         function definition as the declaration, to avoid a -Wstrict-prototypes
14815         warning seen when using byacc.
14817 2014-12-12  Daiki Ueno  <ueno@gnu.org>
14819         unicase/locale-language-tests: fix LOCALE_FR test
14820         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
14821         a French locale with traditional encoding.
14822         Reported by umerqayam in:
14823         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
14825 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
14827         stddef: support C11's max_align_t
14828         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
14829         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
14830         Do not undef, as that might cause max_align_t to be defined twice.
14831         Instead, change use to check for _GL_STDDEF_WINT_T too.
14832         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
14833         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
14834         Check for max_align_t.
14835         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
14836         * modules/stddef-tests (Depends-on): Add stdalign.
14837         * tests/test-stddef.c: Test max_align_t.
14839 2014-12-11  Daiki Ueno  <ueno@gnu.org>
14841         unistd: fix iOS check conditional
14842         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
14843         as 0 or 1 in <TargetConditionals.h>, and the previous check always
14844         yielded true on non-iOS environment.
14845         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
14846         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
14847         they are defined.
14849 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
14851         posixtm: avoid compiler warning in a better way
14852         * lib/posixtm.c (IF_LINT): Remove.
14853         (year, posix_time_parse):
14854         Return true (not 0) if successful.  All callers changed.
14855         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
14857 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
14859         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
14860         started with '/' on EMX.
14862 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
14864         freopen: workaround freopen() on OS/2 kLIBC
14865         * lib/freopen.c (rpl_freopen): Workaround.
14866         * m4/freopen.m4: Add os2* case.
14868         get_shared_library_fullname: port to EMX
14869         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
14870         on EMX, respectively.
14871         (_DLL_InitTerm): New on EMX.
14872         (get_shared_library_fullname): Implement on EMX.
14874         find_executable: port to EMX
14875         * lib/progreloc.c (find_executable): Implement on EMX.
14877         sched: check struct sched_param in spawn.h as well
14878         * lib/sched.in.h: Include spawn.h on kLIBC.
14879         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
14881 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
14883         bootstrap: Allow perl modules in $buildreq
14884         * build-aux/bootstrap: Add case for perl modules.
14886 2014-12-08  Pádraig Brady  <P@draigBrady.com>
14888         apply _GL_ATTRIBUTE_PURE to some inline functions
14889         clang 3.4.2 flagged these inline functions as pure
14890         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
14891         * lib/sig-handler.h (get_handler): Likewise.
14892         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
14893         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
14895 2014-12-06  Pádraig Brady  <P@draigBrady.com>
14897         vasnprintf: fix potential use after free
14898         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
14899         flagged by clang-analyzer 3.4.2.
14901 2014-12-05  Pádraig Brady  <P@draigBrady.com>
14903         filevercmp, posixtm: avoid compiler warnings with -O3
14904         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
14905         * lib/posixtm.c: (IF_LINT): Define.
14906         (posix_time_parse): Use it to void a "may be used uninitialized"
14907         warning, seen only with -O3.
14909 2014-12-05  Bruno Haible  <bruno@clisp.org>
14911         Fix LDBL80_WORDS macro on big endian platforms.
14912         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
14913         LDBL80_WORDS macro.
14914         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
14915         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
14916         * tests/test-isfinite.c (test_isfinitel): Likewise.
14917         * tests/test-isinf.c (test_isinfl): Likewise.
14918         * tests/test-isnan.c (test_long_double): Likewise.
14919         * tests/test-isnanl.h (main): Likewise.
14920         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
14921         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
14922         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
14923         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
14924         Reported by Pádraig Brady.
14926 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
14928         git-version-gen: do not print new line characters
14929         * build-aux/git-version-gen: Use printf instead of echo and tr.
14931         gnulib-tool: recognize x:* as an absolute path
14932         * gnulib-tool (func_gnulib_dir): Add ?:* case.
14933         (func_relconcat): Likewise.
14935 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
14937         argp: avoid extraneous translation and mem leak with empty pre doc
14938         * lib/argp-help.c (argp_doc): Never translate the empty string,
14939         when "\v" is the first or last character of the string, as that
14940         has a reserved meaning to return the header info from a po file.
14941         This also fixes a small memory leak in the !post case.
14942         The issue can be seen with this command for example:
14943         LC_MESSAGES=en_US grub2-mknetdir --help
14945 2014-11-27  Daiki Ueno  <ueno@gnu.org>
14947         uniname/uniname-tests: skip if system's libunistring is used
14948         * modules/uniname/uniname-tests (Makefile.am): Skip test if
14949         uniname/uniname module is not compiled.
14951 2014-11-27  Pádraig Brady  <P@draigBrady.com>
14953         printf: fix configure check on big endian systems
14954         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
14956 2014-11-22  Daiki Ueno  <ueno@gnu.org>
14958         pipe-filter-gi, pipe-filter-ii: port to AIX
14959         On AIX 7.1, 'select' is defined as static and cannot be referred
14960         to from inline function.
14961         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
14962         the definition...
14963         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
14964         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
14966 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
14968         gitlog-to-changelog: add --until
14969         * build-aux/gitlog-to-changelog: Support new --until option.
14970         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
14972 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
14974         extern-inline: update commentary about GCC bugs
14975         * m4/extern-inline.m4: Add another GCC bug number to comments.
14977 2014-11-13  Daiki Ueno  <ueno@gnu.org>
14979         gen-uni-tables: untabify
14980         * lib/gen-uni-tables.c: Untabify.
14982 2014-11-13  Daiki Ueno  <ueno@gnu.org>
14984         gen-uni-tables: check out-of-range values added to 3-level tables
14985         * lib/gen-uni-tables.c (output_category, output_bidi_category)
14986         (output_joining_type, output_ident_category): Check out-of-range
14987         values added to 3-level tables.
14989 2014-11-13  Daiki Ueno  <ueno@gnu.org>
14991         gen-uni-tables: utilize 'assert'
14992         * lib/gen-uni-tables.c: Include <assert.h>.
14993         (output_category, output_combclass, output_decimal_digit_test)
14994         (output_decimal_digit, output_digit_test, output_digit)
14995         (output_numeric, get_mirror_value, fill_properties)
14996         (fill_property30, is_property_alphabetic)
14997         (is_property_default_ignorable_code_point)
14998         (is_property_uppercase, is_property_lowercase)
14999         (is_property_cased, is_property_case_ignorable)
15000         (is_property_changes_when_lowercased, is_property_iso_control)
15001         (is_property_math, fill_arabicshaping, output_joining_group)
15002         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
15003         (output_wbp, fill_org_gbp, get_decomposition)
15004         (output_decomposition, fill_composition_exclusions)
15005         (debug_output_composition_tables, output_composition_tables)
15006         (redistribute_casefolding_rules, output_casing_rules): Use
15007         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
15008         reporting.
15010 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15012         gen-uni-tables: cosmetic improvements
15013         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
15014         variables specification.
15015         (is_outdigit): Remove unused function.
15017 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
15019         fcntl-h-tests: port to PA-RISC GNU/Linux
15020         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
15022 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
15024         fts: port to C89
15025         Problem reported for MSVC 16 by Gisle Vanem in:
15026         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
15027         * lib/fts.c (fts_build): Avoid declaration before statement.
15029 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
15031         unistd: port to iOS
15032         Problem reported by André Klitzing in:
15033         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
15034         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
15036 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
15038         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
15039         Problem reported by Alan Modra in:
15040         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
15041         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
15042         Always cast the function arg, reverting this part of the previous
15043         change.
15045 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
15047         obstack: avoid potentially-nonportable function casts
15048         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
15049         Remove, replacing with ...
15050         (call_chunkfun, call_freefun): New static functions.
15051         All uses changed.  Avoid potentially-nonportable casts.
15052         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
15053         (_obstack_begin_worker): Omit last two args, since they
15054         rely on potentially-nonportable casts.  All callers changed.
15055         * lib/obstack.h (_OBSTACK_CAST): New macro.
15056         Use it everywhere the old API used a potentially-nonportable cast.
15057         The new API doesn't cast.
15058         (struct obstack): Use unions rather than requiring
15059         potentially-nonportable casts.
15060         (obstack_chunkfun, obstack_freefun): Return void.
15062 2014-11-03  Alan Modra  <amodra@gmail.com>
15064         obstack: fix macro return values
15065         * lib/obstack.h (obstack_next_free): Return void *.
15066         (obstack_1grow_fast, obstack_blank_fast): Return void.
15067         For __GNUC__ macros:
15068         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
15069         For !__GNUC__ macros:
15070         (obstack_make_room, obstack_grow, obstack_grow0)
15071         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
15073 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
15075         obstack: do not assume system-supplied obstack is size_t safe
15076         * m4/obstack.m4: New file.
15077         * modules/obstack (Files): Add it.
15079         obstack: port to platforms that #define __alignof__
15080         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
15081         not if !_LIBC.  We don't know of any platforms that #define
15082         __alignof__, but it might be useful in tests.  Conversely,
15083         glibc assumes GCC.
15085 2014-11-03  Pádraig Brady  <P@draigBrady.com>
15087         linkat: don't unconditionally replace on GNU/Linux
15088         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
15089         was redundant for a few reasons.  It was present to support compiling
15090         on new systems but running on the old narrow window of Linux 2.6.1[67].
15091         It setup and cleaned up test files which weren't actually used.
15092         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
15093         implicit in the following check.
15095 2014-11-03  Pádraig Brady  <P@draigBrady.com>
15097         linkat: wrap to handle symlinks on OS X 10.10
15098         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
15099         but not usable because it doesn't support creating hardlinks
15100         to symlinks.  Therefore add a generic test for this capability
15101         and fallback to our emulation if linkat() fails with ENOTSUP.
15103 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15105         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
15106         * doc/posix-functions/open.texi (open):
15107         * doc/posix-functions/openat.texi (openat):
15108         Document that these functions do not set errno to ELOOP when
15109         a symlink is opened with O_NOFOLLOW.
15111 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
15113         obstack: add NEWS entry for recent incompatible changes
15114         * NEWS: Describe recent changes.
15116 2014-10-30  Pádraig Brady  <P@draigBrady.com>
15118         mountlist: don't use libmount to decide on dummy/remote
15119         * lib/mountlist.c (read_file_system_list): Don't use the libmount
15120         routines to determine whether a file system is dummy or remote,
15121         as they're not currently compatible.  For example the remoteness
15122         is determined on file system type (for which the list seems incomplete),
15123         rather than simply checking for a ':' in the device name.
15124         Also libmount currently determines that 'tmpfs' is a dummy file system
15125         even though it has associated storage.
15127 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15129         obstack: prefer __alignof__ to alignof
15130         This is for portability to pre-4.7 GCC when compiling glibc.
15131         See Joseph S. Myers in:
15132         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
15133         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
15134         New macro, defined by including and using <alignof.h>.
15135         (MAX): New macro.
15136         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
15137         Do not use enums as they are not portable to some broken compilers.
15138         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
15140         obstack: prefer alignof to calculating alignments by hand
15141         * lib/obstack.c: Include <stdalign.h>.
15142         (struct fooalign): Remove.
15143         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
15144         * modules/obstack (Depends-on): Add stdalign.
15146 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
15148         obstack: use size_t alignments and check for overflow
15149         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
15150         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
15151         * lib/obstack.h (struct obstack.alignment_mask):
15152         Use _OBSTACK_SIZE_T, not int, for alignments.
15153         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
15154         overflows, e.g., when adding the alignment.
15156 2014-10-29  Alan Modra  <amodra@gmail.com>
15158         obstack: 64-bit obstack support, part 3
15159         This finally enables full 64-bit obstack support.  The glibc
15160         shared library specific code is removed from obstack.c too, and
15161         the error handling code conditionally compiled under control of
15162         another macro, _OBSTACK_NO_ERROR_HANDLER.
15163         * lib/obstack.h: Include string.h earlier.
15164         (_OBSTACK_INTERFACE_VERSION): Define.
15165         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
15166         * lib/obstack.c: Don't include shlib-compat.h.
15167         (OBSTACK_INTERFACE_VERSION): Delete.
15168         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
15169         glibc code is compatible with version 2.  Don't include stdio.h for
15170         __GNU_LIBRARY.
15171         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
15172         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
15173         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
15174         glibc shared library specific source.
15176         obstack: 64-bit obstack support, part 2
15177         This gets us 4G obstack support, without changing ABI
15178         compatibility, apart from possibly introducing some
15179         signed/unsigned comparison warnings in code that uses obstack.h.
15180         a) Replace "int" size parameters, return values, and macro local vars
15181            with _OBSTACK_SIZE_T, an "unsigned int" for now.
15182         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
15183         c) Make all obstack macros checking available room use obstack_room.
15184            "next_free + desired > chunk_limit" may wrap the lhs for chunks
15185            allocated near the top of memory.
15186         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
15187         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
15188         in place of "int" size parameters, return values and local vars.
15189         (_CHUNK_SIZE_T): Define.
15190         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
15191         union use an _OBSTACK_SIZE_T integer type.
15192         For __GNUC__ versions of the following macros...
15193         (obstack_room): Rename local var.
15194         (obstack_make_room): Use obstack_room.
15195         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
15196         obstack_int_grow, obstack_blank): Likewise.
15197         (obstack_finish): Use unsigned comparison when comparing aligned
15198         next_free against chunk_limit.
15199         (obstack_free): Cast OBJ to remove possible const qualifier.
15200         For !__GNUC__ versions of the following macros...
15201         (obstack_make_room): Use obstack_room.
15202         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
15203         obstack_int_grow, obstack_blank): Likewise.
15204         (obstack_finish): Use unsigned comparision when comparing aligned
15205         next_free against chunk_limit.
15206         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
15207         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
15208         _OBSTACK_SIZE_T.
15209         (_obstack_begin, _obstack_begin_1): Likewise.
15210         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
15211         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
15213         obstack: 64-bit obstack support, part 1
15214         a) Correct calls to alloc function, to use a size_t arg.  "long" is
15215            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
15216            and "size_t" 64 bits.
15217         b) Consolidate _obstack_begin and _obstack_begin1 code.
15218         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
15219         use "size_t" rather than "long".
15220         (_obstack_begin, _obstack_begin1): Likewise.
15221         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
15222         obstack_chunkfun): Update alloc function casts.
15223         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
15224         (chunkfun_type, freefun_type): New typdefs.
15225         (_obstack_begin_worker): Split out from ..
15226         (_obstack_begin, _obstack_begin_1): ..here.
15228         obstack: tidy part 2
15229         a) Don't be concerned about "not polluting the namespace with stddef.h
15230            symbols" in obstack.h, since gnulib string.h includes stddef.h
15231            anyway, and it seems unlikely that anyone would care.
15232         b) Don't roll our own slow memcpy in _obstack_newchunk.
15233         c) Rename obstack_free to _obstack_free.  This makes the naming
15234            consistent with other obstack functions and obviates the need for
15235            __obstack_free.  Ancient obstack.c defined both obstack_free and
15236            _obstack_free.  We continue to do that for _LIBC via an alias.
15237         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
15238            is clever, but nowadays gcc warns on undefined macros.  You'll get
15239            an undefined macro warning if simulating an old gcc with -U__GNUC__
15240            -U__GNUC_MINOR__ -D__GNUC__=1.
15241         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
15242         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
15243         (__obstack_free): Delete, update refs.
15244         (_obstack_free): Rename from obstack_free.
15245         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
15246         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
15247         * lib/obstack.c: Don't include stddef.h.
15248         (COPYING_UNIT): Delete.
15249         (_obstack_begin): Formatting fix.
15250         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
15251         (_obstack_free): Rename from __obstack_free, update alias.  Move
15252         undef of obstack_free to where it is needed.
15254         obstack: tidy part 1
15255         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
15256            to me, and result in overlong lines after later patches.
15257         b) Move error handling code, to avoid a forward declaration and to
15258            simplify later patches in this series.
15259         * lib/obstack.h (struct obstack <temp>): Rename fields of union
15260         and update all uses.
15261         * lib/obstack.c: Include stdlib.h earlier.
15262         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
15263         in file.
15264         (print_and_abort): Remove now redundant forward declaration.
15266 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
15268         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
15269         Without this change, in bleeding-edge fileutils Autoconf complains
15270         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
15271         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
15272         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
15273         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
15275 2014-10-24  Daiki Ueno  <ueno@gnu.org>
15277         iconv: avoid false detection of non-working iconv
15278         The INBUF arguments of iconv can be either 'const char **'
15279         or 'char **'.  If CC is g++, the difference causes a compile error
15280         and thus leads to a false detection of non-working iconv.
15281         Reported by Eli Zaretskii and Werner LEMBERG in:
15282         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
15283         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
15284         iconv.  Bump serial number.
15286 2014-10-23  Pádraig Brady  <P@draigBrady.com>
15288         bootstrap: print more diagnostics for missing programs
15289         * build-aux/bootstrap: only suppress stderr when checking for
15290         alternative program names.  This supports programs issuing non
15291         standard error messages.
15293 2014-10-23  Pádraig Brady  <P@draigBrady.com>
15295         bootstrap: only update the gnulib submodule
15296         * build-aux/bootstrap: Restrict the "submodule update" command
15297         to the gnulib path.
15299 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
15301         symlinkat: port to AIX 7.1
15302         * doc/posix-functions/symlinkat.texi (symlinkat):
15303         Mention AIX porting problem.
15304         * lib/symlinkat.c: Always include errno.h.
15305         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
15306         * lib/unistd.in.h (symlinkat): Add replacement machinery.
15307         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
15308         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
15309         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
15310         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
15311         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
15313         readlinkat: port to AIX 7.1
15314         * doc/posix-functions/readlink.texi (readlink):
15315         * doc/posix-functions/readlinkat.texi (readlinkat):
15316         Mention AIX porting problem.
15317         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
15318         New function.
15319         * lib/unistd.in.h (readlinkat): Add replacement machinery.
15320         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
15321         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
15322         * modules/readlinkat (configure.ac): Also compile replacement
15323         if REPLACE_READLINKAT.
15324         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
15326 2014-10-12  Karl Berry  <karl@gnu.org>
15328         * doc/posix-functions/dirname.texi: remove spurious {.
15330 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
15332         basename, dirname: Improve documentation.
15333         * doc/posix-functions/basename.texi: Mention dirname module and
15334         base_name() function.
15335         * doc/posix-functions/dirname.texi: Mention dir_name() and
15336         mdir_name() functions.
15337         Suggested by Werner LEMBERG <wl@gnu.org>.
15339 2014-09-24  Jim Meyering  <meyering@fb.com>
15341         exclude: declare exclude_patopts static
15342         * lib/exclude.c (exclude_patopts): Declare static,
15343         to avoid triggering a -Wmissing-prototypes warning.
15344         The alternative (declaring it in the .h file) would
15345         require publicizing the private "struct patopts".
15347 2014-09-21  Werner Lemberg  <wl@gnu.org>
15349         dirname: support compilation with C++
15350         * lib/dirname.h: Add necessary C linkage declarations.
15352 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
15354         qsort_r: include <config.h>
15355         Problem reported by Tom G. Christensen in:
15356         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
15357         * lib/qsort.c [!_LIBC]: Include <config.h> first.
15359 2014-09-16  Dylan Cali  <calid1984@gmail.com>
15361         avltree-list: avoid compiler warnings (trivial)
15362         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
15363         -Werror=suggest-attribute=pure.
15364         * lib/gl_array_list.c: Likewise.
15365         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
15366         declaration to avoid -Werror=missing-prototypes.  This is not added
15367         to a header as only exported for tests.  Add (void) to the
15368         check_invariants() call to indicate we're discarding the result
15369         in this context which avoids -Werror=unused-value.  Note we don't
15370         use ignore_value here to avoid a dependency as we know we'll not
15371         be adding __attribute__((warn_unused_result)) to check_invariants().
15372         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
15374 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15376         qsort_r: new module, for GNU-style qsort_r
15377         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
15379 2014-09-15  Werner LEMBERG  <wl@gnu.org>
15381         strerror_r-posix: support compilation with C++
15382         * lib/strerror_r.c: Add necessary C linkage declarations.
15384 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
15386         fcntl-h: fix compilation with Intel C++ compiler (trivial)
15387         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
15389 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
15391         mountlist: use /proc/self/mountinfo when available
15392         Use libmount to propagate device IDs provided by Linux in
15393         /proc/self/mountinfo.  This will give more accurate output when
15394         using df in chroot'ed environments as the device IDs are not
15395         determined by stat() which may be inaccurate within the chroot.
15396         * lib/mountlist.c (read_file_system_list): Use the libmount routines
15397         from util-linux to parse "/proc/self/mountinfo" or fall back to
15398         standard getmntent() processing.
15399         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
15400         getmntent() is used, as is the case on GNU/Linux.
15402 2014-09-07  Eric Wong  <normalperson@yhbt.net>
15404         users.txt: add cmogstored
15405         cmogstored has used gnulib since the beginning in 2012 to support
15406         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
15408 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
15410         Trivial change.
15411         * gnulib-tool: Use same options as build-aux/bootstrap to download
15412         PO files.
15414 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
15416         Trivial change.
15417         * gnulib-tool: Fallback to wget when rsync of PO files fails.
15419 2014-09-04  Eric Blake  <eblake@redhat.com>
15421         maintainer-makefile: add syntax check for useless ';;'
15422         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
15424 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
15426         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
15427         Problem reported by Assaf Gordon in:
15428         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
15429         Apparently Ubuntu is doing some fancy link-time optimization
15430         that doesn't work with -lpthread but does work with -pthread.
15431         Work around the bug by preferring -pthread to -lpthread.
15432         * m4/pthread.m4 (gl_PTHREAD_CHECK):
15433         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
15434         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15435         Treat -pthread like -lpthread.
15437 2014-09-04  Eric Blake  <eblake@redhat.com>
15439         error: drop spurious semicolon
15440         * lib/error.c (__error_at_line): Fix ';;'.
15442 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
15444         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
15445         * m4/gnulib-common.m4 (AC_C_RESTRICT):
15446         Override AC_C_RESTRICT unconditionally.
15447         Update from autoconf, incorporating:
15448         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
15449         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
15451 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15453         manywarnings: add GCC 4.9 warnings
15454         Also, make it easier to maintain this in the future.
15455         * build-aux/gcc-warning.spec: Add -Wabi-tag,
15456         -Wconditionally-supported, -Wdelete-incomplete,
15457         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
15458         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
15459         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
15460         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
15461         only for older GCC versions that need them.  Handle
15462         -Wnormalized=nfc specially, so that the 'comm' command used
15463         for maintenance doesn't get confused.
15465 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15467         vasnprintf: fix bugs in width computation
15468         * lib/vasnprintf.c (VASNPRINTF):
15469         Rework previous change, which introduced a bug,
15470         to avoid the warning in a different way.
15471         Avoid undefined behavior if the width arg is less than -INT_MAX.
15472         Avoid unnecessary use of HAS_WIDTH local.
15474 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
15476         vasnprintf: Avoid signed/unsigned comparison warning.
15477         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
15478         compare end addr of generated string w/ maximum end addr.
15480 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
15482         parse-datetime: Avoid pointer difference.
15483         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
15484         instead of calculating difference of pointers.  This removes an
15485         annoying warning, devoid of any use.
15487 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
15489         qsort_r: new module, for GNU-style qsort_r
15490         This works even on FreeBSD, which has an incompatible qsort_r API.
15491         * MODULES.html.sh: Add it.
15492         * doc/glibc-functions/qsort_r.texi: It's now supported.
15493         * lib/qsort.c: New file, taken from glibc with minor changes
15494         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
15495         removed.
15496         * lib/qsort_r.c: New file, compiled only on FreeBSD.
15497         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
15498         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
15499         * modules/qsort_r, modules/qsort_r-tests: New files.
15500         * modules/stdlib (Makefile): Set up its defaults.
15501         * tests/test-qsort_r.c: New file.
15503 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
15505         vla: new module
15506         GNU RCS can use this, mostly for documentation I expect.  See:
15507         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
15508         * MODULES.html.sh: Add vla.
15509         * lib/vla.h, modules/vla: New files.
15511 2014-08-07  Daiki Ueno  <ueno@gnu.org>
15513         localename: make gl_locale_name_thread really thread-safe on Windows
15514         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
15515         "glthread/lock.h".
15516         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
15517         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
15519 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
15521         getpass: don't assume struct termios
15522         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
15523         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
15524         * lib/getpass.c (getpass): Port to systems lacking struct termios.
15526         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
15527         Problem reported by Jonas 'Sortie' Termansen in:
15528         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
15529         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
15530         Implement via sysconf for platforms that lack getdtablesize.
15532         vararrays: modernize AC_C_VARARRAYS for C11
15533         This backports a change I recently made to Autoconf.
15534         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
15535         VLAs are not supported, as this is what C11 does.  The old macro
15536         HAVE_C_VARARRAYS is still defined if they are supported, but is
15537         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
15539 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
15541         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
15542         * build-aux/install-reloc (func_create_wrapper): Also wrap
15543         strerror-override, stat, stat.
15545 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15547         sys_select: fix FD_ZERO problem on Solaris 10
15548         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
15549         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
15550         to expand to an expression that invoked memset without necessarily
15551         including <string.h>.  The problem was that the first include
15552         defined _SYS_TIME_H, causing the second include to short-circuit.
15553         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
15554         Also, fix what appears to be a cut-and-paste typo, by replacing
15555         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
15556         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
15558         accept: document Solaris 10 type glitch
15559         * doc/posix-functions/accept.texi (accept): Mention that
15560         Solaris 10 'accept' takes void * last arg, not socklen_t *.
15562 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
15564         extern-inline: port to FreeBSD, DragonFly
15565         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
15566         is present if either __DragonFly__ or __FreeBSD__ is defined.
15567         FreeBSD problem reported by Andrey Borzenkov in:
15568         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
15569         Also, worry about __APPLE__ only if __MACH__ is also defined,
15570         as this is more consistent with the rest of gnulib.
15571         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
15572         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
15574 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
15576         regex: Make #if/#ifdef usage consistent for DEBUG
15577         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
15578         of the inconsistent usage of #if and #ifdef as that works with
15579         both Glibc and Gnulib's style.
15581 2014-07-31  Eric Blake  <eblake@redhat.com>
15583         openat-die: use _Noreturn markup
15584         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
15585         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
15586         _Noreturn.
15588 2014-07-30  Eric Blake  <eblake@redhat.com>
15590         test-open: port to cygwin, which lacks Fortify
15591         * tests/test-open.h (ALWAYS_INLINE): New macro.
15592         (__always_inline): Don't abuse internal symbol on non-glibc.
15594 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
15596         localename: Enforce declarations before statements.
15597         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
15598         first statement.
15600 2014-07-18  Jim Meyering  <meyering@fb.com>
15602         test-userspec: don't look up numeric user names
15603         * tests/test-userspec.c: I found a system for which getpwnam("0")
15604         returned a pointer to a non-root user's entry, and that made the
15605         test fail.
15606         (T): Prefix each numeric input with "+", to inhibit lookup.
15608 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
15610         localcharset, localename: MS-Windows support for non-default locales
15611         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
15612         falling back on the default system codepage, try extracting
15613         the codepage from what 'setlocale' returns.  This allows to
15614         take into account changes of the codeset due to non-default
15615         locale set by a previous call to 'setlocale'.
15616         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
15617         Define if not already defined.
15618         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
15619         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
15620         current locale by calling 'setlocale', then converting the
15621         locale name into LCID by calling 'get_lcid'.  This allows to
15622         take into account changes in the current locale from the
15623         default one, in contrast to GetThreadLocale.
15625 2014-07-14  Daiki Ueno  <ueno@gnu.org>
15627         announce-gen: avoid failure when Digest::SHA is installed
15628         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
15629         Digest::SHA1->new in print_checksums fails.
15630         * build-aux/announce-gen (digest_classes): New associative array
15631         for available message digest implementations.
15632         (print_locations): Use it.
15634 2014-07-13  Pádraig Brady  <P@draigBrady.com>
15636         gettext: revert "update macros to version 0.19"
15637         This reverts commit 9b9370ca, as it currently requires that
15638         developers of any project that explicitly uses the gettext module
15639         or implicitly uses it through the utimens-tests or
15640         futimens-tests modules, use gettext >= 0.19.
15641         However there are some stability and availablity issues with
15642         that version at present.  We can reinstate this soon, when stability
15643         is addressed and packages are more readily available.
15645 2014-07-12  Jim Meyering  <meyering@fb.com>
15647         regex: don't deref NULL upon heap allocation failure
15648         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
15649         failure in one more place.
15650         To trigger the segfault, configure grep -with-included-regex,
15651         build it, and run these commands:
15652         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
15653         I discovered this while replying to a private report from
15654         Jens Schleusener about excessive memory consumption by grep
15655         when using a regular expression like the one above.
15657 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
15659         regex: fix memory leak in compiler
15660         Fix by Andreas Schwab in:
15661         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
15662         * lib/regcomp.c (parse_reg_exp): Deallocate partially
15663         constructed tree before returning error.
15665 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
15667         announce-gen: avoid perl warnings
15668         * build-aux/announce-gen: add two minor checks to avoid
15669         "use of uninitialized value" warnings when command-line parameters are
15670         missing.
15672 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
15674         localename: avoid -Wsuggest-attribute={const,pure} warnings
15675         * lib/localename.c (string_has): Tag internal function as pure.
15676         * lib/localename.h (gl_locale_name_default): Tag extern declaration
15677         as const when appropriate.
15679 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
15681         nl_langinfo: Fix last change.
15682         * lib/nl_langinfo.c (includes): Drop redundant include.
15684 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
15686         error: Fix -Wundef warnings in glibc
15687         * lib/error.c [_LIBC]: Define default macros for
15688         glibc.
15689         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
15690         Check _LIBC before STRERROR_R_CHAR_P.
15692         error: Sync from glibc master
15693         * lib/error.c [_LIBC]: Remove INTUSE usage.
15694         (error_tail): Remove unused macro ALLOCA_LIMIT.
15695         Fix potential buffer overflow.  Fix potential NULL dereference
15696         in strcmp.
15698 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
15700         nl_langinfo: fix build under mingw
15701         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
15703 2014-07-09  Andrew D Warshall  <warshall@99main.com>
15705         mountlist: do not classify a bind-mounted dir entry as "dummy"
15706         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
15707         1-argument getmntent() (instead of assuming absence).
15709 2014-07-08  Eric Blake  <eblake@redhat.com>
15711         maint.mk: less syntax-check noise when SIGPIPE is ignored
15712         * top/maint.mk (_sc_header_without_use)
15713         (sc_require_config_h_first): Parse full list.
15715 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
15716             Paul Eggert  <eggert@cs.ucla.edu>
15718         nl_langinfo: CODESET on MS-Windows and more items from localeconv
15719         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
15720         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
15721         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
15722         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
15723         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
15724         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
15725         Include <stdio.h> if Microsoft Windows.
15726         Include <time.h> if !REPLACE_NL_LANGINFO.
15727         (ctype_codeset): New function, taken from rpl_nl_langinfo,
15728         and with improvements for Microsoft Windows.
15729         (rpl_nl_langinfo): Use it.
15730         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
15731         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
15732         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
15733         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
15734         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
15735         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
15736         corresponding values returned by 'localeconv'.  Compute the values
15737         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
15738         'strftime' with a suitable struct tm value.
15740 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15742         Bruno Haible has stepped down as maintainer.
15743         See Karl Berry in:
15744         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
15745         Daiki Ueno has volunteered to maintain libunistring; see:
15746         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
15747         * modules/gen-uni-tables, modules/libunistring:
15748         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
15749         * modules/unicase/base, modules/unicase/cased:
15750         * modules/unicase/empty-prefix-context:
15751         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
15752         * modules/unicase/locale-language, modules/unicase/special-casing:
15753         * modules/unicase/tocasefold, modules/unicase/tolower:
15754         * modules/unicase/totitle, modules/unicase/toupper:
15755         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
15756         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
15757         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
15758         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
15759         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
15760         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
15761         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
15762         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
15763         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
15764         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
15765         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
15766         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
15767         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
15768         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
15769         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
15770         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
15771         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
15772         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
15773         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
15774         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
15775         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
15776         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
15777         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
15778         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
15779         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
15780         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
15781         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
15782         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
15783         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
15784         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
15785         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
15786         * modules/unicase/ulc-casexfrm, modules/unicodeio:
15787         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
15788         * modules/uniconv/u16-conv-to-enc:
15789         * modules/uniconv/u16-strconv-from-enc:
15790         * modules/uniconv/u16-strconv-from-locale:
15791         * modules/uniconv/u16-strconv-to-enc:
15792         * modules/uniconv/u16-strconv-to-locale:
15793         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
15794         * modules/uniconv/u32-strconv-from-enc:
15795         * modules/uniconv/u32-strconv-from-locale:
15796         * modules/uniconv/u32-strconv-to-enc:
15797         * modules/uniconv/u32-strconv-to-locale:
15798         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
15799         * modules/uniconv/u8-strconv-from-enc:
15800         * modules/uniconv/u8-strconv-from-locale:
15801         * modules/uniconv/u8-strconv-to-enc:
15802         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
15803         * modules/unictype/bidicategory-all:
15804         * modules/unictype/bidicategory-byname:
15805         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
15806         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
15807         * modules/unictype/bidiclass-byname:
15808         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
15809         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
15810         * modules/unictype/block-all, modules/unictype/block-list:
15811         * modules/unictype/block-of, modules/unictype/block-test:
15812         * modules/unictype/category-C, modules/unictype/category-Cc:
15813         * modules/unictype/category-Cf, modules/unictype/category-Cn:
15814         * modules/unictype/category-Co, modules/unictype/category-Cs:
15815         * modules/unictype/category-L, modules/unictype/category-LC:
15816         * modules/unictype/category-Ll, modules/unictype/category-Lm:
15817         * modules/unictype/category-Lo, modules/unictype/category-Lt:
15818         * modules/unictype/category-Lu, modules/unictype/category-M:
15819         * modules/unictype/category-Mc, modules/unictype/category-Me:
15820         * modules/unictype/category-Mn, modules/unictype/category-N:
15821         * modules/unictype/category-Nd, modules/unictype/category-Nl:
15822         * modules/unictype/category-No, modules/unictype/category-P:
15823         * modules/unictype/category-Pc, modules/unictype/category-Pd:
15824         * modules/unictype/category-Pe, modules/unictype/category-Pf:
15825         * modules/unictype/category-Pi, modules/unictype/category-Po:
15826         * modules/unictype/category-Ps, modules/unictype/category-S:
15827         * modules/unictype/category-Sc, modules/unictype/category-Sk:
15828         * modules/unictype/category-Sm, modules/unictype/category-So:
15829         * modules/unictype/category-Z, modules/unictype/category-Zl:
15830         * modules/unictype/category-Zp, modules/unictype/category-Zs:
15831         * modules/unictype/category-all, modules/unictype/category-and:
15832         * modules/unictype/category-and-not, modules/unictype/category-byname:
15833         * modules/unictype/category-longname, modules/unictype/category-name:
15834         * modules/unictype/category-none, modules/unictype/category-of:
15835         * modules/unictype/category-or, modules/unictype/category-test:
15836         * modules/unictype/category-test-withtable:
15837         * modules/unictype/combining-class:
15838         * modules/unictype/combining-class-all:
15839         * modules/unictype/combining-class-byname:
15840         * modules/unictype/combining-class-longname:
15841         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
15842         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
15843         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
15844         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
15845         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
15846         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
15847         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
15848         * modules/unictype/digit, modules/unictype/joininggroup-all:
15849         * modules/unictype/joininggroup-byname:
15850         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
15851         * modules/unictype/joiningtype-all:
15852         * modules/unictype/joiningtype-byname:
15853         * modules/unictype/joiningtype-longname:
15854         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
15855         * modules/unictype/mirror, modules/unictype/numeric:
15856         * modules/unictype/property-all, modules/unictype/property-alphabetic:
15857         * modules/unictype/property-ascii-hex-digit:
15858         * modules/unictype/property-bidi-arabic-digit:
15859         * modules/unictype/property-bidi-arabic-right-to-left:
15860         * modules/unictype/property-bidi-block-separator:
15861         * modules/unictype/property-bidi-boundary-neutral:
15862         * modules/unictype/property-bidi-common-separator:
15863         * modules/unictype/property-bidi-control:
15864         * modules/unictype/property-bidi-embedding-or-override:
15865         * modules/unictype/property-bidi-eur-num-separator:
15866         * modules/unictype/property-bidi-eur-num-terminator:
15867         * modules/unictype/property-bidi-european-digit:
15868         * modules/unictype/property-bidi-hebrew-right-to-left:
15869         * modules/unictype/property-bidi-left-to-right:
15870         * modules/unictype/property-bidi-non-spacing-mark:
15871         * modules/unictype/property-bidi-other-neutral:
15872         * modules/unictype/property-bidi-pdf:
15873         * modules/unictype/property-bidi-segment-separator:
15874         * modules/unictype/property-bidi-whitespace:
15875         * modules/unictype/property-byname:
15876         * modules/unictype/property-case-ignorable:
15877         * modules/unictype/property-cased:
15878         * modules/unictype/property-changes-when-casefolded:
15879         * modules/unictype/property-changes-when-casemapped:
15880         * modules/unictype/property-changes-when-lowercased:
15881         * modules/unictype/property-changes-when-titlecased:
15882         * modules/unictype/property-changes-when-uppercased:
15883         * modules/unictype/property-combining:
15884         * modules/unictype/property-composite:
15885         * modules/unictype/property-currency-symbol:
15886         * modules/unictype/property-dash:
15887         * modules/unictype/property-decimal-digit:
15888         * modules/unictype/property-default-ignorable-code-point:
15889         * modules/unictype/property-deprecated:
15890         * modules/unictype/property-diacritic:
15891         * modules/unictype/property-extender:
15892         * modules/unictype/property-format-control:
15893         * modules/unictype/property-grapheme-base:
15894         * modules/unictype/property-grapheme-extend:
15895         * modules/unictype/property-grapheme-link:
15896         * modules/unictype/property-hex-digit:
15897         * modules/unictype/property-hyphen:
15898         * modules/unictype/property-id-continue:
15899         * modules/unictype/property-id-start:
15900         * modules/unictype/property-ideographic:
15901         * modules/unictype/property-ids-binary-operator:
15902         * modules/unictype/property-ids-trinary-operator:
15903         * modules/unictype/property-ignorable-control:
15904         * modules/unictype/property-iso-control:
15905         * modules/unictype/property-join-control:
15906         * modules/unictype/property-left-of-pair:
15907         * modules/unictype/property-line-separator:
15908         * modules/unictype/property-logical-order-exception:
15909         * modules/unictype/property-lowercase, modules/unictype/property-math:
15910         * modules/unictype/property-non-break:
15911         * modules/unictype/property-not-a-character:
15912         * modules/unictype/property-numeric:
15913         * modules/unictype/property-other-alphabetic:
15914         * modules/unictype/property-other-default-ignorable-code-point:
15915         * modules/unictype/property-other-grapheme-extend:
15916         * modules/unictype/property-other-id-continue:
15917         * modules/unictype/property-other-id-start:
15918         * modules/unictype/property-other-lowercase:
15919         * modules/unictype/property-other-math:
15920         * modules/unictype/property-other-uppercase:
15921         * modules/unictype/property-paired-punctuation:
15922         * modules/unictype/property-paragraph-separator:
15923         * modules/unictype/property-pattern-syntax:
15924         * modules/unictype/property-pattern-white-space:
15925         * modules/unictype/property-private-use:
15926         * modules/unictype/property-punctuation:
15927         * modules/unictype/property-quotation-mark:
15928         * modules/unictype/property-radical:
15929         * modules/unictype/property-sentence-terminal:
15930         * modules/unictype/property-soft-dotted:
15931         * modules/unictype/property-space:
15932         * modules/unictype/property-terminal-punctuation:
15933         * modules/unictype/property-test, modules/unictype/property-titlecase:
15934         * modules/unictype/property-unassigned-code-value:
15935         * modules/unictype/property-unified-ideograph:
15936         * modules/unictype/property-uppercase:
15937         * modules/unictype/property-variation-selector:
15938         * modules/unictype/property-white-space:
15939         * modules/unictype/property-xid-continue:
15940         * modules/unictype/property-xid-start:
15941         * modules/unictype/property-zero-width, modules/unictype/scripts:
15942         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
15943         * modules/unictype/syntax-c-whitespace:
15944         * modules/unictype/syntax-java-ident:
15945         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
15946         * modules/unigbrk/u16-grapheme-breaks:
15947         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
15948         * modules/unigbrk/u32-grapheme-breaks:
15949         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
15950         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
15951         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
15952         * modules/unigbrk/uc-is-grapheme-break:
15953         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
15954         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
15955         * modules/unilbrk/u16-width-linebreaks:
15956         * modules/unilbrk/u32-possible-linebreaks:
15957         * modules/unilbrk/u32-width-linebreaks:
15958         * modules/unilbrk/u8-possible-linebreaks:
15959         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
15960         * modules/unilbrk/ulc-possible-linebreaks:
15961         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
15962         * modules/uniname/uniname, modules/uninorm/base:
15963         * modules/uninorm/canonical-decomposition:
15964         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
15965         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
15966         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
15967         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
15968         * modules/uninorm/nfkc, modules/uninorm/nfkd:
15969         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
15970         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
15971         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
15972         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
15973         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
15974         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
15975         * modules/unistdio/base, modules/unistdio/u-printf-args:
15976         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
15977         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
15978         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
15979         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
15980         * modules/unistdio/u16-u16-sprintf:
15981         * modules/unistdio/u16-u16-vasnprintf:
15982         * modules/unistdio/u16-u16-vasprintf:
15983         * modules/unistdio/u16-u16-vsnprintf:
15984         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
15985         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
15986         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
15987         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
15988         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
15989         * modules/unistdio/u32-u32-asnprintf:
15990         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
15991         * modules/unistdio/u32-u32-sprintf:
15992         * modules/unistdio/u32-u32-vasnprintf:
15993         * modules/unistdio/u32-u32-vasprintf:
15994         * modules/unistdio/u32-u32-vsnprintf:
15995         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
15996         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
15997         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
15998         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
15999         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
16000         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
16001         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
16002         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
16003         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
16004         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
16005         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
16006         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
16007         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
16008         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
16009         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
16010         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
16011         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
16012         * modules/unistr/u16-check, modules/unistr/u16-chr:
16013         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
16014         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
16015         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
16016         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
16017         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
16018         * modules/unistr/u16-move, modules/unistr/u16-next:
16019         * modules/unistr/u16-prev, modules/unistr/u16-set:
16020         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
16021         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
16022         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
16023         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
16024         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
16025         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
16026         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
16027         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
16028         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
16029         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
16030         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
16031         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
16032         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
16033         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
16034         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
16035         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
16036         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
16037         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
16038         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
16039         * modules/unistr/u32-next, modules/unistr/u32-prev:
16040         * modules/unistr/u32-set, modules/unistr/u32-startswith:
16041         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
16042         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
16043         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
16044         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
16045         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
16046         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
16047         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
16048         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
16049         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
16050         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
16051         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
16052         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
16053         * modules/unistr/u8-check, modules/unistr/u8-chr:
16054         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
16055         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
16056         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
16057         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
16058         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
16059         * modules/unistr/u8-next, modules/unistr/u8-prev:
16060         * modules/unistr/u8-set, modules/unistr/u8-startswith:
16061         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
16062         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
16063         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
16064         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
16065         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
16066         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
16067         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
16068         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
16069         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
16070         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
16071         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
16072         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
16073         * modules/uniwbrk/base, modules/uniwbrk/table:
16074         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
16075         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
16076         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
16077         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
16078         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
16079         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
16080         * modules/uniwidth/width, modules/utf16-ucs4:
16081         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
16082         * modules/utf8-ucs4-unsafe:
16083         Change maintainer from Bruno Haible to Daiki Ueno.
16084         This is my guess at the libunistring modules; please feel free
16085         to fix if I guessed incorrectly.
16086         * modules/accept4, modules/acl, modules/acos, modules/acosf:
16087         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
16088         * modules/areadlink, modules/array-list, modules/array-mergesort:
16089         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
16090         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
16091         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
16092         * modules/binary-io, modules/bison-i18n, modules/btowc:
16093         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
16094         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
16095         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
16096         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
16097         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
16098         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
16099         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
16100         * modules/closedir, modules/concat-filename, modules/copy-file:
16101         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
16102         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
16103         * modules/csharpcomp-script, modules/csharpexec:
16104         * modules/csharpexec-script, modules/ctype, modules/diffseq:
16105         * modules/dprintf, modules/dprintf-posix, modules/dup:
16106         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
16107         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
16108         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
16109         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
16110         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
16111         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
16112         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
16113         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
16114         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
16115         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
16116         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
16117         * modules/findprog, modules/findprog-lgpl, modules/floor:
16118         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
16119         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
16120         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
16121         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
16122         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
16123         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
16124         * modules/freadable, modules/freadahead, modules/freadptr:
16125         * modules/freadseek, modules/freopen, modules/frexp:
16126         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
16127         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
16128         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
16129         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
16130         * modules/ftello, modules/full-read, modules/full-write:
16131         * modules/fwritable, modules/fwriteerror, modules/gcd:
16132         * modules/get-rusage-as, modules/get-rusage-data:
16133         * modules/getdtablesize, modules/getrusage, modules/gettext:
16134         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
16135         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
16136         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
16137         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
16138         * modules/iconv, modules/iconv-h, modules/iconv_open:
16139         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
16140         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
16141         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
16142         * modules/integer_length_ll, modules/ioctl, modules/isatty:
16143         * modules/isblank, modules/isnand, modules/isnand-nolibm:
16144         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
16145         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
16146         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
16147         * modules/javaexec, modules/javaexec-script, modules/javaversion:
16148         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
16149         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
16150         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
16151         * modules/lib-symbol-visibility, modules/libsigsegv:
16152         * modules/linked-list, modules/linkedhash-list, modules/list:
16153         * modules/localcharset, modules/locale, modules/localeconv:
16154         * modules/localename, modules/lock, modules/log, modules/log-ieee:
16155         * modules/log10, modules/log10-ieee, modules/log10f:
16156         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
16157         * modules/log1p, modules/log1p-ieee, modules/log1pf:
16158         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
16159         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
16160         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
16161         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
16162         * modules/logf, modules/logf-ieee, modules/login_tty:
16163         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
16164         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
16165         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
16166         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
16167         * modules/mbscspn, modules/mbsinit, modules/mbslen:
16168         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
16169         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
16170         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
16171         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
16172         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
16173         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
16174         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
16175         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
16176         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
16177         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
16178         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
16179         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
16180         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
16181         * modules/posix_spawn, modules/posix_spawn-internal:
16182         * modules/posix_spawn_file_actions_addclose:
16183         * modules/posix_spawn_file_actions_adddup2:
16184         * modules/posix_spawn_file_actions_addopen:
16185         * modules/posix_spawn_file_actions_destroy:
16186         * modules/posix_spawn_file_actions_init:
16187         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
16188         * modules/posix_spawnattr_getpgroup:
16189         * modules/posix_spawnattr_getschedparam:
16190         * modules/posix_spawnattr_getschedpolicy:
16191         * modules/posix_spawnattr_getsigdefault:
16192         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
16193         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
16194         * modules/posix_spawnattr_setschedparam:
16195         * modules/posix_spawnattr_setschedpolicy:
16196         * modules/posix_spawnattr_setsigdefault:
16197         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
16198         * modules/pow, modules/powf, modules/printf-frexp:
16199         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
16200         * modules/progname, modules/propername, modules/pselect:
16201         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
16202         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
16203         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
16204         * modules/read, modules/readdir, modules/readlink:
16205         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
16206         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
16207         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
16208         * modules/relocatable-script, modules/remainder:
16209         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
16210         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
16211         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
16212         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
16213         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
16214         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
16215         * modules/setlocale, modules/sh-quote, modules/shutdown:
16216         * modules/signal, modules/signbit, modules/sigpipe:
16217         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
16218         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
16219         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
16220         * modules/snippet/link-warning, modules/snippet/unused-parameter:
16221         * modules/snprintf, modules/snprintf-posix, modules/spawn:
16222         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
16223         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
16224         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
16225         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
16226         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
16227         * modules/streq, modules/strerror_r-posix, modules/striconv:
16228         * modules/striconveh, modules/striconveha, modules/strncat:
16229         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
16230         * modules/sublist, modules/sys_resource, modules/sys_utsname:
16231         * modules/sys_wait, modules/system-posix, modules/system-quote:
16232         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
16233         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
16234         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
16235         * modules/truncf, modules/truncf-ieee, modules/truncl:
16236         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
16237         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
16238         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
16239         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
16240         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
16241         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
16242         * modules/wait-process, modules/waitpid, modules/wcpcpy:
16243         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
16244         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
16245         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
16246         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
16247         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
16248         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
16249         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
16250         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
16251         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
16252         * modules/write, modules/xconcat-filename, modules/xlist:
16253         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
16254         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
16255         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
16256         * modules/y0, modules/y1, modules/yn:
16257         Remove Bruno Haible as maintainer; if he's the sole maintainer,
16258         change the maintainer to 'all'.  Let's hope someone volunteers.
16260 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
16262         mktime: merge #if/#ifdef usage from glibc
16263         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
16264         as that works with both Glibc's and Gnulib's style.
16265         See thread starting at Siddhesh Poyarekar's bug report at:
16266         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
16268 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
16270         git-version-gen: improve option descriptions
16271         * build-aux/git-version-gen: Mention that --prefix and --fallback
16272         have a mandatory argument.
16274 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
16276         regex: fix memory leak in compiler
16277         Fix by Andreas Schwab in:
16278         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
16279         * lib/regcomp.c (parse_expression): Deallocate partially
16280         constructed tree before returning error.
16282         regex: merge patch from libc
16283         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
16284         Combine __USE_BSD and __USE_SVID into __USE_MISC.
16285         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
16287 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
16289         acl: port to gcc -Wredundant-decls
16290         From a request by Dmitry Antipov in:
16291         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
16292         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
16293         "#ifndef _GL_ACL_H".
16295 2014-06-11  Bruce Korb  <bkorb@gnu.org>
16296         Jim Meyering  <meyering@fb.com>
16298         parse-duration: eliminate 68-year duration limit
16299         * lib/parse-duration.c: Include "intprops.h".
16300         (TIME_MAX): Rename to MAX_DURATION and define to
16301         TYPE_MAXIMUM(time_t).
16302         * modules/parse-duration (Depends-on): Add intprops.
16303         Reported by Jonas 'Sortie' Termansen.
16305 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
16307         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
16308         * modules/pthread (Depends-on): Add 'extensions', as it defines
16309         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
16310         (configure.ac-early): New section.
16311         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
16312         it is no longer needed.
16314 2014-06-14  Pádraig Brady  <P@draigBrady.com>
16316         pthread: define thread-safe macros on some platforms
16317         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
16318         for thread-safe operation on some platforms.
16320 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
16322         regex: don't be multithreaded if USE_UNLOCKED_IO.
16323         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
16324         * lib/regex_internal.h: Do not use multithreaded version if
16325         USE_UNLOCKED_IO is defined.  This is a hack, but it works
16326         around a porting bug with coreutils 8.22 on AIX 7.1.
16328 2014-06-11  Daiki Ueno  <ueno@gnu.org>
16330         gettext: update macros to version 0.19
16331         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
16332         depend on gl_EXTERN_INLINE and drop support for older Bison
16333         versions.
16335 2014-06-10  Pádraig Brady  <P@draigBrady.com>
16337         select,poll: fix console handle check on windows 8
16338         lib/poll.c (IsConsoleHandle): Change from testing the lower
16339         2 bits of the handle to the more expensive but accurate syscall.
16340         lib/select.c: Likewise.
16342 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
16344         select: fix waiting on anonymous pipes on MS-Windows
16345         * lib/select.c (rpl_select): Fall back to polling when select()
16346         indicates there is nothing to check, while due to the timeout not
16347         expiring, activity is indicated on one of the handles.
16348         Also clear the TIMEOUT argument if the timer does expire.
16350 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
16352         times: fix to return non constant value on MS-Windows
16353         * lib/times.c (times): Don't use the process creation time,
16354         rather clock() which on windows returns the number of
16355         clock ticks since the process started.
16357 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
16359         isatty: fix to work on windows 8
16360         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
16361         2 bits of the handle to the more expensive but accurate syscall.
16363 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
16365         maint: fix typo in fdl.texi
16366         * doc/fdl.texi: Fix typo (missing '@').
16367         Somehow this was in fdl.texi but not fdl-1.3.texi.
16369 2014-06-06  Ben Walton  <bdwalton@gmail.com>
16371         mountlist: avoid hasmntopt const type warning on solaris
16372         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
16373         with char * instead of const char *.  Passing the constant string
16374         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
16375         to avoid the warning.
16377 2014-06-04  Eric Blake  <eblake@redhat.com>
16379         maintainer-makefile: delete obsolete code
16380         * top/maint.mk (build_aux): Drop old code, as threatened.
16382         maintainer-makefile: avoid spurious error messages
16383         * top/maint.mk (syntax-check): Guard definition and use of
16384         $(shell) by whether Makefile is present.
16386 2014-06-03  Ben Walton  <bdwalton@gmail.com>
16388         rename: avoid unused-but-set-variable compiler warning
16389         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
16390         it is possible that dst_exists may be set but not used.  Mark it with
16391         the unused attribute to avoid compiler warnings.
16393 2014-06-02  Ben Walton  <bdwalton@gmail.com>
16395         rename: mark a label as potentially unused
16396         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
16397         by marking the out label as potentially unused.
16398         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
16400 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
16402         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
16403         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
16405 2014-06-02  Ben Walton  <bdwalton@gmail.com>
16407         acl: apply pure attribute to two functions
16408         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
16409         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
16411 2014-06-01  Pádraig Brady  <P@draigBrady.com>
16413         gnulib-common.m4: add _GL_UNUSED_LABEL
16414         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
16415         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
16417 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
16419         dup2, fcntl, fcntl-h: port to AIX 7.1
16420         This fixes some porting problems discovered when testing the latest
16421         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
16422         in grep but it could be important for other applications.
16423         * doc/posix-functions/dup2.texi:
16424         * doc/posix-functions/fcntl.texi:
16425         * doc/posix-headers/fcntl.texi:
16426         Document AIX bugs.
16427         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
16428         Define to 0 if outside 'int' range.
16429         * m4/dup2.m4 (gl_FUNC_DUP2):
16430         * m4/fcntl.m4 (gl_FUNC_FCNTL):
16431         Check for getdtablesize.  If it's available, test a value just
16432         outside its range instead of testing 1000000.  When cross-compiling,
16433         guess that AIX will fail this improved test.
16435 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
16437         printf, config.rpath: Port to FreeBSD 10.
16438         Problem reported by Tijl Coosemans in:
16439         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
16440         * build-aux/config.rpath (hardcode_libdir_flag_spec)
16441         (hardcode_direct): Simplify FreeBSD configuration.
16442         (library_names_spec): Don't mishandle FreeBSD 10+.
16443         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
16444         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
16445         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
16446         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
16447         Don't mishandle FreeBSD 10+ when cross-compiling.
16449         ftoastr: work around compiler bug in IBM xlc 12.1
16450         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
16451         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
16452         around a compiler bug in IBM xlc 12.1.0.0: it complains
16453         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
16454         _GL_FLT_PREC_BOUND.'
16456 2014-05-30  Kieran Colford  <colfordk@gmail.com>
16458         valgrind-tests: fixed misleading help message
16459         * m4/valgrind-tests.m4: The help message generated by configure
16460         implied that valgrind was disabled by default, which it wasn't.
16461         Adjusted the help message using s/enable/disable/ to clarify.
16463 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
16465         isfinite, isinf, isnan tests: fix for little-endian PowerPC
16466         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
16467         first double of a PowerPC "double double" pair.
16468         * tests/test-isinf.c (test_isinfl): Likewise.
16469         * tests/test-isnan.c (test_long_double): Likewise.
16470         * tests/test-isnanl.h (main): Likewise.
16471         * tests/test-signbit.c (test_signbitl): Likewise.
16473 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
16475         exclude-tests: port to AIX 7.1
16476         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
16477         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
16478         the regex code uses locks.
16480 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
16482         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
16483         Without this fix, Emacs would sometimes call sigprocmask instead
16484         of pthread_sigmask, which is a no-no in multithreaded applications.
16485         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
16486         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16487         Suppress check for pthread_sigmask working without -lpthread if
16488         the application always links with -lpthread.  Do not link with
16489         $LIBMULTITHREAD if gl_THREADLIB is not defined.
16490         * m4/timer_time.m4 (gl_TIMER_TIME):
16491         Require gl_THREADLIB only if it is defined.  Do not append
16492         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
16494 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
16496         gnulib-tool: wget translations using --no-verbose rather than --quiet
16497         This allows the user to see error messages if any (--quiet hides them)
16498         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
16500 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
16502         gnulib-tool: adjust translation wget to avoid a https redirection
16503         Context: http://translationproject.org/latest/gnulib redirects to
16504            https://translationproject.org/latest/gnulib/
16505         Rationale: if the user falls back to wget, she doesn't have rsync and
16506         is probably in a minimal build environment, where packages such as
16507         'ca-certificates' are missing as well, resulting in a failed (and
16508         difficult to detect since ignored) translation initial fetch.
16509         Consequently let's avoid https if possible, and add the missing
16510         trailing slash.  This also avoids an unnecessary 302 redirection.
16511         * gnulib-tool: Add trailing slash to gnulib URL.
16513 2014-05-22  Pádraig Brady  <P@draigBrady.com>
16515         getlogin_r-tests: check return value rather than errno
16516         * tests/test-getlogin_r.c (main): As per POSIX we should be
16517         verifying the return value from getlogin_r() rather than errno.
16519 2014-05-22  Pádraig Brady  <P@draigBrady.com>
16521         getlogin_r-tests: fix various issues in recent change
16522         * tests/test-getlogin_r.c: Include required headers that were
16523         missed in recent commit eec20b4e.
16524         Also consistently check the errno rather than the return value from
16525         getlogin_r as POSIX only specifies that non zero is returned on error.
16526         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
16528 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
16530         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
16531         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
16532         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
16533         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
16534         * lib/spawn-pipe.c:
16535         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
16536         and then 'int open64(const char *, int, ...);', which means the
16537         declaration for 'open' gets lost if we later '#undef open'.
16538         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
16539         where the compilation reported the non-fatal error "In function
16540         'openat_proc_name' ... warning: implicit declaration of function
16541         'open'".  In this case the error is relatively harmless, but in
16542         other cases it might not be so minor.
16544 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16546         xalloc: don't potentially generate invalid code for xmemdup calls
16547         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
16548         this function can initialize the newly-allocated storage with new
16549         pointers, which means this function is not malloc-like.  See:
16550         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
16552 2014-05-19  Pádraig Brady  <P@draigBrady.com>
16554         getlogin_r-tests: avoid false failure under sudo/ssh etc.
16555         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
16556         changes from commit 97249cf29 to not depend on environment variables.
16558 2014-05-18  Pádraig Brady  <P@draigBrady.com>
16560         getlogin-tests: avoid false failure under cron
16561         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
16562         since that's not what's under test.  Centos 6 was seen to return
16563         EINVAL for ttyname() when run from cron.
16565 2014-05-16  Jim Meyering  <meyering@fb.com>
16567         mbrtowc.m4: fix a comment typo
16568         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
16569         emitted documentation string.
16571 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16573         mbrlen, mbrtowc: fix bug with empty input
16574         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
16575         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
16576         so this is mainly for documentation.
16577         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
16578         (gl_FUNC_MBRTOWC): Use it.
16579         * tests/test-mbrtowc.c (main): Test for the bug.
16581 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
16583         doc: document mbrtowc and mbrlen problem with empty input
16584         * doc/posix-functions/mbrlen.texi (mbrlen):
16585         * doc/posix-functions/mbrtowc.texi (mbrtowc):
16586         Document portability problem when the input string is empty.  See:
16587         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
16589         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
16590         Problem reported by Eli Zaretskii in:
16591         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
16592         * doc/posix-functions/execl.texi (execl):
16593         * doc/posix-functions/execle.texi (execle):
16594         * doc/posix-functions/execlp.texi (execlp):
16595         * doc/posix-functions/execv.texi (execv):
16596         * doc/posix-functions/execve.texi (execve):
16597         * doc/posix-functions/execvp.texi (execvp):
16598         Mention spawn+exit problem on non-Cygwin Windows platforms.
16600 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
16602         getlogin-tests: avoid false failure under sudo/ssh etc.
16603         * modules/getlogin-tests (configure.ac): Check for ttyname().
16604         * tests/test-getlogin.c (main): Don't depend on environment variables
16605         to correlate with getlogin(), since sudo and ssh etc. can tamper
16606         with the LOGNAME and USER env vars.  Instead lookup the name from
16607         the uid associated with the stdin tty.
16609 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
16611         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
16612         These were found when building the latest grep snapshot on IRIX 6.5.
16613         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
16614         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
16615         never used later.
16616         * lib/quotearg.c (quoting_options_from_style):
16617         * lib/xstrtol.c (__xstrtol):
16618         Use enum instead of 0, to pacify IRIX 6.5 cc.
16620 2014-04-18  Pádraig Brady  <P@draigBrady.com>
16622         gitlog-to-changelog: revert inclusion of git-log-fix file
16623         * build-aux/git-log-fix: Delete dummy file.
16624         * modules/gitlog-to-changelog: Don't reference (overwrite)
16625         the project specific git-log-fix file.
16627 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
16629         maint.mk: Relax the copyright check to cater for non FSF projects
16630         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
16631         to not require the "Free" suffix after the copyright years.
16633 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
16635         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
16636         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
16637         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
16638         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
16639         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
16641 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
16643         exclude: port to strict C99
16644         Strict C does not allow converting a function pointer to void *
16645         and vice versa.  Pass a pointer to a function pointer instead.
16646         * lib/exclude.c (add_exclude_file):
16647         Pass the address of the function pointer.
16648         (call_addfn): And deference the address here, to match.
16650 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
16652         regex: do not depend on malloc-gnu
16653         * modules/regex (Depends-on): Remove malloc-gnu.
16654         It's no longer needed, because of the 2012-12-29 patch
16655         "regex: port to hosts where malloc (0) == NULL".
16656         Reported by Nathan Kennedy in:
16657         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
16659 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
16661         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
16662         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
16663         * doc/posix-functions/expl.texi: Mention the workaround.
16665 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
16667         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
16668         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
16669         size to be zero even when the pointer is nonnull.  This
16670         accommodates the use case where P is malloc (0) and *PN is 0 on a
16671         host where malloc (0) yields nonnull.
16673 2014-04-09  Eric Blake  <eblake@redhat.com>
16675         fts: avoid unnecessary strlen calls
16676         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
16678 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16680         fts: avoid unnecessary strlen calls
16681         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
16682         when that can be faster than strlen.
16684 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16686         fts: avoid unnecessary strlen calls
16687         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
16688         (fts_build): Store the length of the dp->d_name entry in a local variable
16689         instead of calling strlen() several times via the above, removed macro.
16690         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
16691         run by ~4%, yet this reduces the execution time by about a third if run
16692         via "ltrace -c rm -rf some-dir".
16694 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
16696         obstack: Remove ancient NeXTSTEP gcc support conditional
16697         This change will ease merging with glibc.  The "#if ... __NEXT__"
16698         causes a warning with -Wundef which glibc now enables by default.
16699         Problem reported by Will Newton in
16700         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
16701         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
16702         so go with that.
16703         * lib/obstack.h (__extension__):
16705 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
16707         obstack: merge with glibc changes
16708         * lib/obstack.c, lib/obstack.h: Merge from glibc.
16709         This is mostly indenting and commentary changes.
16710         Instances of 'register' have been removed.
16712 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16714         strftime: wrap macros in "do {...} while(0)"
16715         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
16716         this macro in "do {...} while(0)" to prevent false use as a
16717         single statement, e.g., in an un-braced "{}" else-block.
16718         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
16719         (strftime_case_): Remove 'else' after 'goto' - which was the
16720         only non-fatal, un-braced use of one of the above macros.
16721         Spotted by coverity (NESTING_INDENT_MISMATCH).
16723 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16725         modechange: avoid memory leaks for invalid octal modes
16726         * lib/modechange.c (mode_compile): During the parsing of
16727         notations like +40, free the 'mc' buffer for invalid mode
16728         strings like +17777 (greater than the maximum octal mode),
16729         =18 (bad octal mode characters) or u=1 ('affected' with
16730         octal modes).
16731         Reproducer, e.g.:
16732             $ valgrind --leak-check=full chmod +17777 file
16733         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
16734         add notations +40, 00440, etc.".
16735         Spotted by coverity (RESOURCE_LEAK).
16737 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
16739         gitlog-to-changelog: include a dummy git-log-fix file
16740         Problem reported by Nathan Stratton Treadway in:
16741         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
16742         * build-aux/git-log-fix: New file.
16744 2014-03-13  Jim Meyering  <meyering@fb.com>
16746         gitlog-to-changelog: also include the file, git-log-fix
16747         * modules/gitlog-to-changelog (Files): Add git-log-fix.
16748         Reported by Assaf Gordon.
16750 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
16752         regex: port to OS X 10.8.5 en_US.UTF-8 locale
16753         This fixes a bug when ignoring case and when comparing the
16754         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
16755         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
16756         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
16757         titlecase letter is neither lowercase nor uppercase, but
16758         uppercasing the titlecase letter (via towupper) yields the
16759         uppercase letter, so the two letters should match when ignoring case.
16760         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
16761         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
16762         Don't test whether a character is lowercase before uppercasing it.
16764 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
16766         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
16767         This is basically one of the options Bruno Haible proposed in:
16768         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
16769         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
16770         * lib/stdint.in.h: Use it.
16771         * modules/stdint (Depends-on): Add sys_types.
16773 2014-02-26  Pádraig Brady  <P@draigBrady.com>
16775         parse-datetime: fix crash or infloop in TZ="" parsing
16776         * lib/parse-datetime.y (parse_datetime): Break out of the
16777         TZ="" parsing loop once the second significant " is found.
16778         Also skip over any subsequent whitespace to be consistent
16779         with the non TZ= case.
16780         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
16782 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
16784         savedir: new symbol for fast-read version
16785         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
16786         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
16787         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
16788         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
16790 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
16792         unistd: port readlink to Mac OS X 10.3.9
16793         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
16794         around self-include problem in Mac OS X 10.3.9 when combined with
16795         readlink module.  Problem reported by Klaus Zietler in
16796         <http://bugs.gnu.org/16825>.
16798 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
16800         diffseq: remove TOO_EXPENSIVE heuristic
16801         Problem with diffutils reported by Vincent Lefevre in
16802         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
16803         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
16804         Although appropriate for circa-1993 hardware, these days the heuristic
16805         seems to be more trouble than it's worth.
16806         * lib/diffseq.h: Modernize citations.
16807         (struct context): Remove member too_expensive.
16808         All uses changed.
16809         (struct partition): Remove members lo_minimal, hi_minimal.
16810         All uses changed.
16811         (diag, compareseq): Remove arg find_minimal.  All uses changed.
16812         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
16813         1993 to make 'diff' run faster (but not as well) on large inputs.
16814         These days, computers are fast enough that it's typically better
16815         to run slower but more accurately.
16816         * lib/fstrcmp.c: Remove duplicate comment.
16817         * lib/fstrcmp.c (strcmp_bounded):
16818         * lib/git-merge-changelog.c (compute_differences):
16819         Adjust to diffseq.h changes.
16820         * NEWS: Document the change.
16822         savedir: simplify by using stpcpy
16823         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
16824         (streamsavedir): Use stpcpy instead.
16825         * modules/savedir (Depends-on): Add stpcpy.
16827 2014-02-21  Pádraig Brady  <P@draigBrady.com>
16829         spawn: fix link error on uclibc
16830         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
16831         to incorporate -lrt if needed (on uclibc for example).
16832         * modules/posix_spawn: Reference the substituted LIB.
16834 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
16835         timer: fix uClibc detection of threading
16836         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
16837         enabled in uClibc.
16839 2014-02-21  Eric Blake  <eblake@redhat.com>
16841         maintainer-makefiles: provide AC_PROG_SED for older autoconf
16842         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
16844 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
16846         exclude: add support for posix regexps
16848         This commit adds support for POSIX extended regular expressions
16849         and fixes a long-standing memory leak (pattern buffer was never
16850         freed).  It also implements a new interface function to read
16851         exclude patterns from a FILE, which passes an additional parameter
16852         to its callback function, thereby allowing to preserve its state
16853         between invocations.
16855         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
16856         (pattern_buffer): New struct.
16857         (exclude): New member patbuf.
16858         (exclude_add_pattern_buffer): New function.
16859         (free_exclude_segment): Free regexps.
16860         (free_exclude): Free allocated pattern buffers.
16861         (exclude_patopts): New function.
16862         (file_pattern_matches): Use exclude_patopts.
16863         (add_exclude): support regexps.
16864         (add_exclude_fp): New function.
16865         (add_exclude_file): Rewrite using add_exclude_fp.
16866         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
16867         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
16868         (add_exclude_fp)
16869         (add_exclude_file): Rewrite using add_exclude_fp.
16870         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
16871         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
16872         (add_exclude_fp)
16873         (exclude_add_pattern_buffer): New prototypes.
16874         * modules/exclude: Depends on regex and filename.
16876 2014-02-20  Eric Blake  <eblake@redhat.com>
16878         maintainer-makefiles: use $(SED) for syntax check
16879         * modules/maintainer-makefile (configure.ac): Check for sane sed.
16880         * top/maint.mk: Change sed to $(SED).
16882 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
16883             Paul Eggert  <eggert@cs.ucla.edu>
16885         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
16886         Patch based on an idea by Dick Streefland in
16887         <https://savannah.gnu.org/patch/?7892>.
16888         * NEWS: Document this.
16889         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
16890         (direntry_t, comparison_function): New types.
16891         (direntry_cmp_name): New function.
16892         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
16893         (streamsavedir, savedir): New arg OPTION.
16894         (streamsavedir): Simplify memory allocation.
16895         (fdsavedir): Remove.
16896         * lib/savedir.h (enum savedir_option): New type.
16897         (streamsavedir, savedir): New arg OPTION.
16898         (fdsavedir): Remove.
16900 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
16902         file-type: add support for doors and other less-common file types
16903         Problem with S_ISDOOR reported by Rich Burridge.
16904         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
16905         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
16906         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
16908 2014-01-23  Eric Blake  <eblake@redhat.com>
16910         pthread: work around winpthread header pollution on mingw
16911         * lib/time.in.h: Move pthread workarounds...
16912         * lib/pthread.in.h: ...here.
16913         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
16914         detect macro pollution on mingw.
16915         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
16917 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
16919         qacl: check for fchmod
16920         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
16921         and qset-acl.c both use HAVE_FCHMOD.
16923 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16925         fdopen-tests: port to Tru64
16926         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
16927         descriptor that is not open, as POSIX doesn't specify the
16928         resulting behavior and the test does not work on Tru64.
16929         Problem reported by Steven M. Schweda in:
16930         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
16932         stdalign: port to HP-UX compilers
16933         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
16934         if __HP_cc or __HP_aCC are nonzero.
16936 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
16938         strtoimax: port to platforms lacking 'long long'
16939         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
16940         check whether strtoll is declared, which causes the C file to
16941         wrongly report an error.  Problem reported by Steven M. Schweda in:
16942         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
16943         * lib/strtoimax.c (strtoull):
16944         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
16945         (strtoll): Declare only if HAVE_LONG_LONG_INT.
16947 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
16949         relocatable-perl: fix texi syntax
16950         * doc/relocatable-maint.texi: Escape braces.
16952 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
16954         relocatable-perl: like relocatable-script, but for Perl scripts
16955         * build-aux/relocatable.pl.in: Add.
16956         * doc/relocatable-maint.texi: Add documentation.
16957         * modules/relocatable-perl: Add.
16959 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
16961         tests: fix export bug in previous patch
16962         Problem reported by Jim Meyering.
16963         * tests/init.sh (re_shell): New var, which is exported instead of
16964         re_shell_.
16966         tests: simplify porting to Solaris 10 /bin/sh
16967         Some test cases in 'grep' need a shell that groks '$(';
16968         export re_shell_ for their benefit.  Problem reported for 'grep'
16969         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
16970         * tests/init.sh (re_shell_): Export if it's used.
16972 2014-01-06  Eric Blake  <eblake@redhat.com>
16974         md5, sha1, sha256, sha512: support older autoconf
16975         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
16976         for autoconf < 2.63b.
16978         include_next: port to autoconf 2.63
16979         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
16981 2014-01-04  Jim Meyering  <meyering@fb.com>
16983         maint: add a gnulib-local rule to keep non-ascii out of .texi files
16984         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
16985         so that "make sc_maint" will ding anyone who puts non-ascii
16986         in any of gnulib's .texi files.
16988 2014-01-03  Jim Meyering  <meyering@fb.com>
16990         freadable, fwritable, fwriting: declare with the "pure" attribute
16991         * lib/freadable.h (freadable): Declare with the "pure" attribute.
16992         * lib/fwritable.h (fwritable): Likewise.
16993         * lib/fwriting.h (fwriting): Likewise.
16994         Suggested by Bruno Haible.
16996         maint.mk: adapt openat.h-include-without-use test
16997         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
16998         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
16999         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
17000         With this change, running "make sc_maint" in gnulib's top-level
17001         directory now passes for me.
17003 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
17005         doc: use ASCII in .texi files where UTF-8 isn't needed
17006         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
17007         * doc/posix-functions/setkey.texi, doc/regex.texi:
17008         Use ASCII input, not UTF-8.
17010 2014-01-02  Jim Meyering  <meyering@fb.com>
17012         freading: declare with the "pure" attribute
17013         * lib/freading.h (freading): Declare with the "pure" attribute.
17015         manywarnings: remove -Wmudflap
17016         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
17017         it is no longer supported in gcc-4.9-to-be.
17019 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
17021         relocatable-script: remove unused code
17022         Problem reported by Reuben Thomas in:
17023         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
17024         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
17026 2014-01-01  Jim Meyering  <meyering@fb.com>
17028         maint: fix public-submodule-commit to work with newer git
17029         * top/maint.mk (public-submodule-commit): Remove excess quoting.
17030         We were over-quoting the test arguments, and somewhere prior to
17031         version 1.8.5.2.229, git stopped removing those excess quotes,
17032         which made the test fail, since the unexpanded strings would
17033         always differ; using GIT_TRACE=1 confirmed that the git merge-base
17034         command wasn't even being run.
17036 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
17038         doc: update main copyright year
17039         * doc/gnulib.texi: Update copyright date.
17041 2014-01-01  Eric Blake  <eblake@redhat.com>
17043         version-etc: new year
17044         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
17045         * all files: run 'make update-copyright'
17047 2013-12-24  Eric Blake  <eblake@redhat.com>
17049         passfd: give nicer error for recvfd at eof
17050         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
17051         * tests/test-passfd.c (main): Enhance test to cover this.
17053 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
17055         gettimeofday: port recent C++ fix to Emacs
17056         Without this further patch, Emacs won't build due to
17057         the portcheck failing.  Also, this simplifies the patch a bit.
17058         * lib/time.in.h (localtime, gmtime): Don't replace unless
17059         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
17060         * lib/time.in.h (localtime, gmtime):
17061         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
17062         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
17063         * modules/time (time.h):
17064         Don't worry about the possibility of localtime and gmtime
17065         being absent; they're present in all C libraries we know about.
17066         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
17067         Don't assume sys_time is present and has been initialized.
17068         Instead, use a hack that should work even if it hasn't been.
17069         Don't use a portcheck for gmtime or localtime; this supports
17070         the hack.
17071         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
17073 2013-12-17  John W. Eaton  <jwe@gnu.org>
17075         gettimeofday: fix C++ crosscompilation
17077         Never replace gmtime and localtime by macros when compiling with
17078         C++, this prevents <ctime> from being included.
17080         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
17081         define gmtime and localtime as preprocessor macros.  Instead
17082         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
17083         REPLACE_LOCALTIME substitutions.
17084         * lib/time.in.h: Declare gmtime and localtime when needed.
17085         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
17086         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
17087         * modules/time: Depend on gettimeofday, and substitute the above
17088         variables in time.h.
17090 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
17092         qacl: port to Windows better
17093         See Eli Zaretskii in
17094         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
17095         * lib/file-has-acl.c (acl_access_nontrivial):
17096         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
17097         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
17099 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
17101         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
17102         * lib/gl_openssl.h: Cast void pointers to a specific type.
17104 2013-12-07  Pádraig Brady  <P@draigBrady.com>
17106         open-tests: fix build failure with -Werror=old-style-declaration
17107         * tests/test-open.h: Reorder the inline to avoid the issue.
17109 2013-12-07  Pádraig Brady  <P@draigBrady.com>
17111         md5, sha1, sha256, sha512: fix link error with partial libcrypto
17112         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
17113         init time, so that if early checks find crypto routines,
17114         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
17115         avoiding link failures.
17117 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
17119         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
17120         This provides a new way to specify the default for
17121         gl_CRYPTO_CHECK, one that is reflected in the --help message.
17122         Emacs uses this, as well as the old way.
17123         This attempts to implement a suggestion by Pádraig Brady in
17124         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
17125         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
17126         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
17128         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
17129         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
17130         Add support for a new option, --with-openssl=auto, which causes
17131         the library to be used if available and silently ignored if not.
17132         Add support to allow configure.ac to specify its own
17133         default, by setting with_openssl_default before invoking gl_INIT.
17135 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
17137         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
17138         Problem reported by Daiki Ueno in:
17139         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
17140         * tests/test-open.h (__always_inline):
17141         New macro, if not already defined.
17142         (test_open): Use it.
17144 2013-12-04  Eric Blake  <eblake@redhat.com>
17146         include_next: minimize code duplication
17147         * modules/include_next (Depends-on): Add absolute-header.
17148         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
17149         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
17151 2013-12-04  Pádraig Brady  <P@draigBrady.com>
17153         getcwd: fix compile error in configure check
17154         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
17156 2013-12-04  Pádraig Brady  <P@draigBrady.com>
17158         regex: suppress core dumps from detection code
17159         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
17160         to suppress core dumps that may well occur on glibc systems.
17161         These core dumps might not be cleaned up automatically, or could
17162         trigger some system core dump handling logic.
17164 2013-12-03  Pádraig Brady  <P@draigBrady.com>
17166         md5, sha1, sha256, sha512: support mandating use of openssl
17167         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
17168         description, to list the now 3 separate options.  also don't
17169         mention the default=no, since this is implicit given the option
17170         is described as --with-openssl rather than --without-openssl.
17171         If projects change the default they're free to document that.
17172         with --with-openssl[=yes] we now error out when the specified
17173         hash algorithm is not available in libcrypto.
17175 2013-12-03  Ivailo  <xakepa10@gmail.com>
17177         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
17178         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
17179         -Wformat-nonliteral checks, as these edge cases are part of the test.
17181 2013-12-03  Eric Blake  <eblake@redhat.com>
17183         regex: avoid glibc deadlock during configure
17184         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
17185         glibc bug 15078 in turn triggers bug 16159.
17186         Reported by Michal Privoznik.
17188 2013-12-02  Pádraig Brady  <P@draigBrady.com>
17190         md5, sha1, sha256, sha512: use openssl routines if available.
17191         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
17192         routines will be used if available, requiring apps to link @LIB_CRYPTO@
17193         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
17194         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
17195         in the standard system location.
17196         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
17197         * m4/sha256.m4: Likewise with SHA256.
17198         * m4/sha512.m4: Likewise with SHA512.
17199         * m4/md5.m4: Likewise with MD5.
17200         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
17201         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
17202         * lib/sha256.h: Likewise with SHA256.
17203         * lib/sha512.h: Likewise with SHA512.
17204         * lib/md5.h: Likewise with MD5.
17205         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
17206         * lib/sha256.c: Likewise with SHA256.
17207         * lib/sha512.c: Likewise with SHA512.
17208         * lib/md5.c: Likewise with MD5.
17209         * modules/crypto/sha1 (Link:): Add the new optional lib.
17210         (Depends-on:): Add dependency on extern-inline.
17211         * modules/crypto/sha256: Likewise.
17212         * modules/crypto/sha512: Likewise.
17213         * modules/crypto/md5: Likewise.
17214         * modules/crypto/sha1-tests: Reference the lib here too.
17215         * modules/crypto/md5-tests: Likewise.
17216         * modules/crypto/gc-des-tests: Likewise.
17217         * modules/crypto/gc-hmac-md5-tests: Likewise.
17218         * modules/crypto/gc-hmac-sha1-tests: Likewise.
17219         * modules/crypto/gc-hmac-sha256-tests: Likewise.
17220         * modules/crypto/gc-hmac-sha512-tests: Likewise.
17221         * modules/crypto/gc-md5-tests: Likewise.
17222         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
17223         * modules/crypto/gc-sha1-tests: Likewise.
17224         * modules/crypto/gc-tests: Likewise.
17225         * modules/crypto/hmac-md5-tests: Likewise.
17226         * modules/crypto/hmac-sha1-tests: Likewise.
17227         * modules/crypto/hmac-sha256-tests: Likewise.
17228         * modules/crypto/hmac-sha512-tests: Likewise.
17230 2013-11-29  RV1971  <rv1971@web.de>
17232         base64: (trivial) fix compilation regression on some compilers
17233         * lib/base64.c: Don't return the void function,
17234         instead split to a separate return statement.
17236 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
17238         ignore-value: revert previous code change
17239         * lib/ignore-value.h (ignore_value): Use __extension__ and
17240         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
17241         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
17242         Change the comment to try to explain this better.
17244 2013-11-27  Pádraig Brady  <P@draigBrady.com>
17246         selinux-h: improve stub types and add more stub functions
17248         * lib/se-selinux.in.h: Change security_context_t to a typedef
17249         rather than a define, as it's a pointer type and so is better
17250         as a typedef to avoid issues declaring multiple variables
17251         with the comma operator.  Also add stub for string_to_security_class().
17252         * lib/se-context.in.h: Add stub functions for
17253         context_{type,range,role,user}_get().
17255 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
17257         ignore-value: prefer GCC version back through 2.0
17258         The code didn't match the comments, so I did a bit of software
17259         archaeology.  GCC 2.0 seems to support __extension__ and
17260         __typeof__, so fix both code and comments to use 2.0.
17261         * lib/ignore-value.h (ignore_value): Use __extension__ and
17262         __typeof__ for GCC 2.0 through 3.3, too.
17264 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
17266         pty: Activate the signature wrapper of forkpty.
17267         The intended preprocessor macro HAVE_FORKPTY is
17268         never defined, yet `lib/forkpty.c' depends on it.
17270         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
17271         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
17272         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
17274 2013-11-18  Jim Meyering  <meyering@fb.com>
17275         and Paul Eggert  <eggert@cs.ucla.edu>
17277         quotearg: don't attempt to store 1 << 31 into an "int"
17278         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
17279         gcc's new -fsanitize=undefined and running its tests triggered some
17280         new test failures due to undefined behavior, all with this diagnostic:
17281           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
17282             cannot be represented in type int
17283         Rather than shifting "1" left to form a mask, shift the bits right and
17284         simply use "1" as the mask.
17286 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
17288         error: depend on stdio
17289         Problem reported by Nikos Mavrogiannopoulos in
17290         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
17291         * modules/error (Depends-on): Add stdio.
17293 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
17295         * doc/relocatable-maint.texi (Supporting Relocation): Improve
17296         wording.
17297         Reported by Reuben Thomas <rrt@sc3d.org>.
17299 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
17301         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
17302         New function and macro, to work around _DARWIN_C_SOURCE problem.
17303         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
17305 2013-11-11  Pádraig Brady  <P@draigBrady.com>
17307         base64: provide a fast path for encoding well sized buffers
17308         Avoid conditionals in the base64 encoding loop,
17309         which was seen to give 60% better throughput.
17310         * lib/base64.c (base64_encode_fast): A new function to be called
17311         when we don't want to NUL terminate, and we have enough space
17312         in the output to encode the given input.
17313         (base64_encode): Call the _fast() version when appropriate.
17314         Also remove a redundant mask with 0x3F on the first encoded byte.
17316 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
17318         extern-inline: port better to OS X 10.9
17319         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
17320         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
17321         OS X 10.9, except for g++ where the bug is still present.
17322         See <http://trac.macports.org/ticket/41033>.
17324 2013-11-08  Eric Blake  <eblake@redhat.com>
17326         fpending: fix regression on DragonFly BSD
17327         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
17328         * lib/fpending.h (__fpending): Don't declare twice.
17329         Reported by GW in
17330         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
17332 2013-11-05  Jim Meyering  <meyering@fb.com>
17334         hash: relax license to LGPLv2+, for libguestfs
17335         * modules/hash (License): Change from GPL to LGPLv2+.
17337 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
17339         intprops: port to Oracle Studio c99
17340         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
17341         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
17343 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
17345         obstack: pacify HP C
17346         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
17347         warning "conversion from pointer to smaller integer" from HP
17348         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
17349         C89 or later nowadays, so cast to void instead of int.  Privately
17350         reported by H.Merijn Brand.  Also, change header to match glibc's,
17351         to make checking against glibc easier.
17353 2013-10-29  Jim Meyering  <meyering@fb.com>
17355         maint.mk: prefer gpgv2 over gpgv
17356         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
17357         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
17358         Reported by Gary Vaughan.
17360 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
17362         isnan: port to VAX
17363         Reported by John Klos for NetBSD-5/VAX in
17364         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
17365         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
17366         (FUNC): Use it.
17368 2013-10-28  Jim Meyering  <meyering@fb.com>
17370         gnulib-tool: protect against CDPATH
17371         * gnulib-tool: Many "cd" built-in functions print a directory name
17372         to stdout when CDPATH is set, e.g.,
17373           $ bash -c 'CDPATH=/; cd tmp'
17374           /tmp
17375         Unset it, when possible.  Prompted by a comment from Bruce Korb.
17377         maint.mk: restore functionality removed by recent change...
17378         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
17379         the context of a shallow-cloned gnulib repository: "git describe"
17380         would fail in such a directory.  However, that change made it so
17381         the reported gnulib revision no longer includes the version number
17382         or a commit count, even when run from a full clone.
17383         * top/maint.mk (gnulib-version): Use the full "git describe"
17384         output when possible, e.g., the form above, rather than the
17385         abbreviated, no-tag, no-commit-count string, and fall back to
17386         using a 10-byte hash, rather than the default minimal-length
17387         hash prefix, since while the minimal-length one may be fine today,
17388         it is likely not to be unique for very long.
17390 2013-10-26  Jim Meyering  <meyering@fb.com>
17392         maint.mk: fix "release" target to build _version
17393         This fixes a bug in README-release whereby following the outlined
17394         steps, one would publish a tarball whose programs would report
17395         --version output not consistent with the package version number.
17396         This bug caused grep-2.15 to produce a grep program whose
17397         --version option made it print 2.14.56-1e3d rather than 2.15.
17398         * top/maint.mk (release): Making this target build "_version"
17399         ensures that the new version number is reflected in configure.
17401 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
17403         install-reloc: Support multi-binary installation.
17404         * build-aux/install-reloc: Support installing multiple programs in
17405         one invocation, as done by Automake starting with commit
17406         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
17407         Haible <bruno@clisp.org>, archived at
17408         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
17409         Reported by Sylvain <beuc@gnu.org>.
17411 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
17413         selinux-h: Really build without selinux when library is missing.
17414         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
17415         continue without selinux, as already told in the warning message.
17417 2013-10-21  Jim Meyering  <meyering@fb.com>
17419         regex: also remove dependency on HAVE_WCSCOLL
17420         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
17422 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
17424         xfreopen: Fix typo. s/frepoen/freopen/
17425         * lib/xfreopen.c: Fix description.
17426         * modules/xfreopen: Likewise.
17428 2013-10-21  Jim Meyering  <meyering@fb.com>
17430         regex: don't depend on wcscoll
17431         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
17432         It is no longer used.
17434 2013-10-20  Jim Meyering  <meyering@fb.com>
17436         error: add the printf attribute to a static function
17437         * lib/error.c (error_tail): Add the printf attribute, to placate
17438         gcc's -Werror=suggest-attribute=format option.
17440 2013-09-30  Jim Meyering  <meyering@fb.com>
17442         fpending, obstack, strerror-override: use pure+const function attrs
17443         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
17444         * lib/obstack.c (_obstack_allocated_p): Likewise.
17445         * lib/obstack.h (_obstack_memory_used): Likewise.
17446         (_obstack_memory_used): Likewise.
17447         * lib/strerror-override.h (strerror_override): Declare with
17448         the "const" attribute.
17450 2013-10-18  Eric Blake  <eblake@redhat.com>
17452         extern-inline: make safe for -Wundef usage
17453         Reported by Vladimir 'phcoder' Serbinenko in
17454         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
17455         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
17457 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
17459         mkfifo-tests, etc.: allow HP-UX 11.11 bug
17460         Problem reported by Daniel Richard G. in
17461         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
17462         * doc/posix-functions/mkfifo.texi (mkfifo):
17463         * doc/posix-functions/mkfifoat.texi (mkfifoat):
17464         * doc/posix-functions/mknod.texi (mknod):
17465         * doc/posix-functions/mknodat.texi (mknodat):
17466         Document the HP-UX 11.11 bug.
17467         * tests/test-mkfifo.h (test_mkfifo):
17468         Allow the HP-UX 11.11 bug.
17470 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
17472         acl: allow cross-compilation to Gentoo
17473         Problem reported by Gabriel Marcano in
17474         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
17475         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
17476         test only whether it links.
17478 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
17480         mgetgroups: remove dependency on realloc-gnu
17481         The dependency violates the comment in realloc-gnu, which
17482         says that tests can't depend on realloc-gnu; some tests depend
17483         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
17484         Problem reported by Daniel Richard G. in
17485         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
17486         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
17487         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
17488         not realloc-gnu.
17490 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
17492         regex-tests: port to HP-UX 11.11
17493         Problem reported by Daniel Richard G. in
17494         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
17495         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
17497 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17499         verify: document some 'assume' pitfalls
17500         * doc/verify.texi (Compile-time Assertions):
17501         Mention that 'assume (E)' can sometimes slow things down.
17502         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
17504 2013-10-10  Eric Blake  <eblake@redhat.com>
17506         strtoumax: fix typo in previous commit.
17507         * modules/strtoumax (Depends-on): Fix typo.
17508         * modules/strtoimax (Depends-on): Likewise.
17510 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17512         strtoumax: port to Solaris 8
17513         This problem was introduced in the recent HP-UX patch.
17514         Reported by Tom G. Christensen in
17515         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
17516         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
17517         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
17519 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
17521         strtoimax, strtoumax: port to HP-UX 11.11
17522         Problem reported by Daniel Richard G. in
17523         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
17524         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
17525         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
17526         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
17527         REPLACE_STRTOUMAX.
17528         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
17529         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
17530         Replace the function if defined as a macro but not as a function.
17531         * modules/inttypes-incomplete (inttypes.h): Substitute
17532         REPLACE_STRTOUMAX.
17533         * modules/strtoumax (configure.ac): Replace strtoumax if
17534         REPLACE_STRTOUMAX.
17536 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
17538         strtoimax: port to HP-UX 11.11
17539         Problem reported by Daniel Richard G.
17540         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
17541         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
17542         they might clash with inttypes.h.
17544 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17546         New module 'count-trailing-zeros'.
17547         * MODULES.html.sh: Mention it.
17548         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
17549         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
17550         * modules/count-trailing-zeros-tests:
17551         * tests/test-count-trailing-zeros.c:
17552         New files.
17554         count-leading-zeros: port to MSC; support types wider than 64 bits
17555         The ideas behind the MSC port are stolen from Emacs.
17556         * lib/count-leading-zeros.h:
17557         Don't include verify.h: it's no longer needed, as types wider than
17558         64 bits are now supported.
17559         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
17560         performance with MSC.  All uses changed.  Do not assume that TYPE
17561         has at most 64 bits.
17562         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
17563         All uses changed.  Fold the subtraction from 31 into the table.
17565         count-one-bits: port to MSC; support types wider than 64 bits
17566         The ideas behind the MSC port are stolen from Emacs.
17567         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
17568         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
17569         Don't include verify.h: it's no longer needed, as types wider than
17570         64 bits are now supported.
17571         (COUNT_ONE_BITS_GENERIC): New macro.
17572         (popcount_supported) [_MSC_VER]: New inline function.
17573         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
17574         performance with MSC.  All uses changed.  Do not assume that TYPE
17575         has at most 64 bits.
17576         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
17578 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
17580         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
17581         * lib/mountlist.c (read_file_system_list): fix leak of directory
17582         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
17584 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17586         tests: improve diagnostic when an assertion fails
17587         * tests/macros.h (ASSERT): Report the assertion that failed.
17589 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
17591         verify: new macro 'assume'
17592         This is taken from Emacs, and should be generally useful.
17593         * doc/verify.texi (assume): Document it.
17594         * lib/verify.h (assume): New macro.
17595         (__has_builtin): Expand to 0 if not defined.
17597 2013-09-26  Eric Blake  <eblake@redhat.com>
17599         dup2, dup3: work around another cygwin crasher
17600         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
17601         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
17602         * tests/test-dup2.c (main): Likewise.
17603         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
17604         * lib/dup3.c (dup3): Likewise.
17605         * doc/posix-functions/dup2.texi (dup2): Document it.
17606         * doc/glibc-functions/dup3.texi (dup3): Likewise.
17608         getdtablesize: work around cygwin issue
17609         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
17610         * modules/getdtablesize (configure.ac): Build replacement.
17611         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
17612         * modules/unistd (Makefile.am): Expose the witness.
17613         * lib/unistd.in.h (getdtablesize): Declare replacement.
17614         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
17615         * tests/test-getdtablesize.c (main): Test it.
17616         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
17618 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
17620         pmccabe2html: escaping of special characters
17621         Escape all '<', '>', and '&' in HTML output.
17622         * build-aux/pmccabe2html (html_fnc): Call gsub()
17623         instead of sub() to capture all '<', '>', and '&'.
17624         Neither of '<' and '>' is special in a regexp,
17625         so first arguments to gsub() are corrected. Also,
17626         in replacement strings, ampersand must be escaped.
17627         Finally, '&' must be handled first, then '<' and '>'.
17629 2013-09-24  Eric Blake  <eblake@redhat.com>
17631         manywarnings: enable nicer gcc warning messages
17632         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
17633         some -f options for optimal warnings.
17635 2013-09-21  Jim Meyering  <meyering@fb.com>
17637         timespec: use the new TIMESPEC_RESOLUTION in a few more places
17638         * lib/timespec-add.c (timespec_add): Also replace 999999999
17639         with TIMESPEC_RESOLUTION - 1.
17640         * lib/timespec-sub.c (timespec_sub): Likewise.
17642 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
17644         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
17645         Problem reported by Dagobert Michelsen via Eric Blake in
17646         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
17647         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
17648         not AC_COMPILE_IFELSE.
17650 2013-09-23  Eric Blake  <eblake@redhat.com>
17652         configmake: support new --runstatedir option
17653         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
17654         even if autoconf was too old to provide the command line option.
17655         * modules/configmake (Makefile.am): Propagate it to .h file.
17657 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17659         ctype, string: depend on extern-inline
17660         This is needed to complete the recent OS X fixes.
17661         Also, fix related documentation as suggested by Eric Blake.
17662         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
17663         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
17664         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
17665         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
17666         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
17667         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
17668         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
17669         * doc/posix-functions/toupper.texi:
17670         List the 'ctype' gnulib module.
17671         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
17672         * doc/posix-functions/strncpy.texi:
17673         List the 'string' gnulib module.
17674         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
17675         Add string.
17676         * modules/ctype, modules/string (Depends-on): Add extern-inline.
17678 2013-09-19  Pádraig Brady  <P@draigBrady.com>
17680         userspec: support optional parameters to parse_user_spec()
17681         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
17682         then avoid group processing and treat the full spec as a user.
17683         (parse_with_separator): Allow the USERNAME and GROUPNAME to
17684         be optional params (NULL), in which case they're ignored.
17686 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
17688         timespec: new function make_timespec, and new constants
17689         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
17690         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
17691         (make_timespec): New function.
17692         * lib/dtotimespec.c (dtotimespec):
17693         * lib/timespec-add.c (timespec_add):
17694         * lib/timespec-sub.c (timespec_sub):
17695         * lib/utimens.c (validate_timespec):
17696         * lib/utimensat.c (rpl_utimensat):
17697         Use these new constants and functions.
17699         stdio: OS X port of putc_unlocked + extern inline
17700         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
17701         * doc/posix-functions/putc_unlocked.texi:
17702         * doc/posix-functions/putchar_unlocked.texi:
17703         Document this portability problem.
17705         signal: OS X port of sigaddset etc. + extern inline
17706         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
17707         (sigismember): #undef on problematic Apple platforms.
17708         * doc/posix-functions/sigaddset.texi:
17709         * doc/posix-functions/sigdelset.texi:
17710         * doc/posix-functions/sigemptyset.texi:
17711         * doc/posix-functions/sigfillset.texi:
17712         * doc/posix-functions/sigismember.texi:
17713         Document this portability problem.
17715         extern-inline: do not always suppress extern inline on OS X
17716         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
17717         extern inline on Apple only if the particular compile-time
17718         configuration is known to have the problem.
17719         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
17720         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
17721         other Gnulib modules.
17723         extern-inline: document fixes for ctype and wctype macros
17724         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
17725         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
17726         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
17727         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
17728         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
17729         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
17730         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
17731         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
17732         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
17733         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
17734         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
17735         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
17736         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
17737         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
17738         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
17739         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
17740         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
17741         * doc/posix-functions/strncpy.texi:
17742         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
17743         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
17744         Document that Gnulib fixes portability problems with these
17745         functions on OS X 10.8 and earlier when called from plain inline
17746         or extern inline functions.
17748 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
17750         fflush, freadahead, fseeko: Fix for Android
17751         Suggested by Bruno Haible in:
17752         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
17753         * lib/stdio-impl.h: Use local __sfileext definition.
17755 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
17757         pmccabe2html: Portability to other awk versions.
17758         The functions systime() and strftime() are available
17759         in Gawk only.  Properly close two HTML-tags 'style'
17760         and 'span'.
17761         * build-aux/pmccabe2html (BEGIN): Store timing
17762         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
17763         systime() in HTML_COMMENT.
17764         (html_header): Correctly close tag 'style'.
17765         (END): Replace strftime() by CHRONOS_TIME.  Close
17766         tag 'span' correctly, not as 'div'.
17768 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
17770         getgroups: statement without effect
17771         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
17772         Change equality conditional to expected assignment.
17774 2013-09-09  Eric Blake  <eblake@redhat.com>
17776         glob: fix compilation
17777         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
17779 2013-09-07  Eric Blake  <eblake@redhat.com>
17781         glob: fix build for platforms without __THROW
17782         * lib/glob.in.h (__THROW): Add definition again.
17784 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
17786         regex-quote: fix buffer access out of bounds
17787         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
17788         * lib/regex-quote.c (regex_quote_spec_pcre):
17789         Fix typo that resulted in an out-of-bounds read.
17791 2013-09-04  Eric Blake  <eblake@redhat.com>
17793         glob: avoid -Wattribute warnings on glibc
17794         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
17795         __THROWNL, not __THROW, on static functions.
17796         * lib/glob.in.h (__THROW): Adjust...
17797         (__THROWNL): ...accordingly.
17799 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
17801         headers: check that _GL_INLINE_HEADER_BEGIN is defined
17802         Suggested by Bruce Korb in:
17803         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
17804         * doc/extern-inline.texi (extern inline):
17805         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
17806         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
17807         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
17808         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
17809         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
17810         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
17811         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
17812         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
17813         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
17814         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
17815         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
17816         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
17817         * lib/xtime.h:
17818         Check that _GL_INLINE_HEADER_BEGIN is defined.
17820 2013-08-29  Pádraig Brady  <P@draigBrady.com>
17822         bootstrap: remove the --version requirement from ancillary tools
17823         * build-aux/bootstrap (check_exists): A new refactored function to
17824         determine if a command exists.
17825         (find_tool): Use the new function which does not require the
17826         --version option to be supported.
17827         (check_versions): Use the new function.
17829 2013-08-26  Simon Josefsson  <simon@josefsson.org>
17831         gc: support HMAC-SHA256 and HMAC-SHA512.
17832         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
17833         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
17834         functions.
17835         (gc_hmac_md5): Use symbolic constant.
17836         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
17837         (gc_hmac_sha256, gc_hmac_sha512): New functions.
17838         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
17839         * m4/sha256.m4: Protect against empty expansion.
17840         * m4/sha512.m4: Likewise.
17841         * lib/hmac-sha256.c: New file.
17842         * lib/hmac-sha512.c: Likewise.
17843         * m4/gc-hmac-sha256.m4: Likewise.
17844         * m4/gc-hmac-sha512.m4: Likewise.
17845         * m4/gc-sha256.m4: Likewise.
17846         * m4/gc-sha512.m4: Likewise.
17847         * modules/crypto/gc-hmac-sha256: Likewise.
17848         * modules/crypto/gc-hmac-sha256-tests: Likewise.
17849         * modules/crypto/gc-hmac-sha512: Likewise.
17850         * modules/crypto/gc-hmac-sha512-tests: Likewise.
17851         * modules/crypto/hmac-sha256: Likewise.
17852         * modules/crypto/hmac-sha256-tests: Likewise.
17853         * modules/crypto/hmac-sha512: Likewise.
17854         * modules/crypto/hmac-sha512-tests: Likewise.
17855         * tests/test-gc-hmac-sha256.c: Likewise.
17856         * tests/test-gc-hmac-sha512.c: Likewise
17857         * tests/test-hmac-sha256.c: Likewise.
17858         * tests/test-hmac-sha512.c: Likewise
17860 2013-08-24  Daiki Ueno  <ueno@gnu.org>
17862         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
17863         of AC_CHECK_DECLS.
17865 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
17867         selinux-at: omit unnecessary include
17868         * lib/selinux-at.c: Don't include dosname.h; not needed, since
17869         this source file doesn't use its macros, and subsidiary files that
17870         use the macros already include it.
17872 2013-08-21  Eric Blake  <eblake@redhat.com>
17874         d-ino: avoid false negative on symlink
17875         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
17876         Reported by Stephane Chazelas.
17878 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
17880         bootstrap: port to OpenBSD sed
17881         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
17882         does not interpret `-' as a file argument to mean stdin.
17884 2013-08-15  Eric Blake  <eblake@redhat.com>
17886         warnings: minor optimization
17887         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
17889         warnings: check -Wfoo rather than -Wno-foo
17890         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
17891         -Wno-, test if the compiler recognizes the positive form instead.
17893 2013-08-15  Karl Berry  <karl@gnu.org>
17895         * config/srclist-update: add option "doclicense" to placate
17896         pulling *.texi files from Emacs.  Write terse usage
17897         documentation at the top.
17899 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
17901         xvasprintf-tests: port to GCC with hardening flags
17902         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
17903         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
17904         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
17906 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17908         fpending: port to recent Cygwin change to stdio_ext.h
17909         Reported by LRN in
17910         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
17911         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
17912         just declare __fpending unless it's a macro.
17913         A duplicate decl shouldn't hurt.
17914         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
17915         call compiles and links, instead of separately checking for
17916         decl and lib function.
17917         * modules/fpending (configure-ac):
17918         Adjust to fpending.m4's renaming of shell variable.
17920 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17922         sys_time: port to OpenBSD
17923         * lib/sys_time.in.h: Simply delegate to the system's header
17924         in the BSDish cases as well.  Problem reported by Mike Miller in
17925         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
17926         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
17927         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
17928         wider than time_t.
17930 2013-08-09  Pádraig Brady  <P@draigBrady.com>
17932         bootstrap: support checksum utils having -c but not --status
17933         * build-aux/bootstrap: Only look for sha1sum if updating po files.
17934         Add sha1 to the list of supported checksum utils since it's now
17935         supported through adjustments below.
17936         (update_po_files): Remove the use of --status
17937         in a way that will suppress all error messages, but since this is
17938         only used to minimize updates, it shouldn't cause an issue.
17939         Exit early if there is a problem updating the po file checksums.
17940         (find_tool): Remove the check for --version support as this
17941         is optional as per commit 86186b17.  Don't even check for the
17942         presence of the command as if that is needed, it's supported
17943         through configuring prerequisites in bootstrap.conf.
17944         Prompt that when a tool isn't found, one can define an environment
17945         variable to add to the hardcoded search list.
17947 2013-08-05  Jim Meyering  <meyering@fb.com>
17949         regex: port to non-glibc/lock-using systems
17950         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
17951         system with GNULIB_LOCK would fail due to absence of the
17952         included "glthread/lock.h".  This would affect any package
17953         for which the "lock" module is used only by the regex module,
17954         and not explicitly used.
17955         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
17956         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
17957         Add a dependency on the "lock" module.
17959 2013-07-20  Daiki Ueno  <ueno@gnu.org>
17961         localecharset: make locale_charset thread-safe on Mac OS X
17962         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
17963         instead of MB_CUR_MAX.
17965 2013-07-20  Daiki Ueno  <ueno@gnu.org>
17967         gettext: update to version 0.18.3
17968         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
17969         require AC_PROG_SED to allow user to specify custom sed command when
17970         generating en@quot PO file.
17972 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
17974         bootstrap: use correct source when copying build-aux files
17975         * build-aux/bootstrap (gnulib_extra_files): This variable is
17976         relative to upstream gnulib layout, not downstream.
17978 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
17980         tmpdir: fix bug in VMS port
17981         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
17982         See Steven M. Schweda in
17983         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
17985 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
17987         tmpdir: port to VMS, to // != /, and to long dirs
17988         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
17989         __secure_getenv, so that we're more like the glibc version.
17990         All uses changed.
17991         (path_search): Don't put slash after directory if __VMS.
17992         Problem reported by Steven M. Schweda in
17993         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
17994         Simplify code to add slash; no need for a loop.
17995         Do not remove trailing slash from "//".
17996         Do not assume dlen <= INT_MAX.
17998 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
18000         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
18001         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
18002         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
18003         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
18005         accept4, dup3, pipe2: port to Cygwin
18006         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
18007         * lib/accept4.c (accept4) [O_BINARY]:
18008         * lib/dup3.c (dup3) [O_BINARY]:
18009         * lib/pipe2.c (pipe2) [O_BINARY]:
18010         Use set_binary_mode, not setmode.
18011         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
18012         * modules/binary-io (Depends-on): Remove module indicator.
18013         These last two bits undo the previous change to pipe2 and binary-io.
18015 2013-07-09  Pádraig Brady  <P@draigBrady.com>
18017         mountlist: add support for deallocating returned list entries
18018         * lib/mountlist.c (free_mount_entry): A new exported function
18019         to deallocate a mount list entry.
18020         (read_file_system_list): Refactor to use the new deallocation function.
18021         Suggested by Anton Ovchinnikov.
18023 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
18025         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
18026         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
18027         * lib/stdalign.in.h (_Alignas, _Alignof):
18028         Port to FreeBSD 9.1, and to C11 and C++11.
18029         (_Alignas): Also support ICC.
18030         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
18031         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
18033 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18035         fnmatch: don't goto over declaration
18036         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
18037         undefined behavior for goto over a declaration.
18038         Problem reported by Charlie Brown in
18039         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
18041         pipe2: decouple from binary-io a bit
18042         This is for Emacs, which needs pipe2 but not binary-io.
18043         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
18044         * modules/binary-io (Depends-on): Add module indicator.
18046 2013-07-03  Eric Blake  <eblake@redhat.com>
18048         mgetgroups: relax license to LGPLv2+
18049         * modules/getugroups (License): Change from GPLv3+.
18050         * modules/mgetgroups (License): Likewise.
18051         * modules/getgroups (License): Change from LGPLv3+.
18053         xalloc-oversized: relax license to LGPLv2+
18054         * modules/xalloc-oversized (License): Change from GPLv3+.
18056         nproc: relax license to LGPLv2+
18057         * modules/nproc (License): Change from LGPLv3+.
18059         bootstrap: honor --no-git
18060         * build-aux/bootstrap: Don't even try to use git when user is
18061         pointing to a static checkout.
18063 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
18065         ignore-value: port to gcc -pedantic
18066         * lib/ignore-value.h (ignore_value):
18067         Port to gcc -pedantic, by using __extension__.
18068         Reindent as per usual gnulib style nowadays.
18069         Simplify GCC version check.
18071 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18073         extern-inline: port to gcc -std=c89
18074         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
18075         Do not use __gnu_inline__ if pedantic and pre-C99.
18077 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
18079         doc: document extern-inline
18080         * doc/extern-inline.texi: New file.
18081         * doc/gnulib.texi (alloca-opt): Include it.
18082         * m4/extern-inline.m4: Move some comments to documentation,
18083         and others closer to what they describe.
18085         doc: chatter less
18086         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
18087         (updated-stamp): Use it.  This causes 'make' to output just
18088         one file name rather than zillions.
18090         fflush, fseeko: port to musl cross-compiles
18091         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
18092         on some implementation that (1) is not known to be buggy,
18093         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
18094         cross-compiled to so we can't easily check for lack of
18095         conformance.  This is for cross-compiling to musl.
18096         Reported by Rich Felker in
18097         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
18098         * m4/fclose.m4 (gl_FUNC_FCLOSE):
18099         * m4/fflush.m4 (gl_FUNC_FFLUSH):
18100         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
18101         Adjust to above change.
18102         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
18103         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
18104         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
18105         known not to work, or unknown.
18107 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
18109         msvc-inval: port to mingw-w64
18110         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
18111         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
18112         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
18114 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
18116         getcwd-lgpl: port to Tru64
18117         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
18118         Problem reported by Steven M. Schweda in
18119         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
18121         tests: port large-fd POSIX spawn tests to OS X
18122         Problem reported by Daiki Ueno in
18123         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
18124         * tests/test-posix_spawn_file_actions_addclose.c:
18125         * tests/test-posix_spawn_file_actions_adddup2.c:
18126         * tests/test-posix_spawn_file_actions_addopen.c:
18127         Include <limits.h>, for OPEN_MAX, if available.
18128         (big_fd): New static function.
18129         (main): Use it.
18131 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
18133         tests/nap.h: use an adaptive delay to avoid ctime update issues
18134         The recent change in nap.h (5191133e) decreased the probability of lost
18135         races to about a third, however such problems could still be observed
18136         in virtual machines and openSUSE's OBS.
18137         Before, nap() detected the needed time once empirically and then used
18138         that delay (together with a small correction multiplier) in further
18139         calls.  This problem has been reported and discussed several times,
18140         including guesses about possible kernel issues:
18141         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
18142         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
18143         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
18144         http://bugs.gnu.org/12820
18145         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
18146         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
18147         Now, nap() avoids the race alltogether by verifying on a reference
18148         file whether a timestamp difference has happened.
18149         * tests/nap.h (nap_fd): Define file descriptor variable for the
18150         witness file.
18151         (nap_works): Change return value to bool.  Change passing
18152         the old file's status by value instead of by reference as this function
18153         does no longer update that timestamp; rename the function argument from
18154         st to old_st.  Remove the local variables cdiff and mdiff because that
18155         function now returns true/false instead of the precise delay.
18156         (guess_delay): Remove function.
18157         (clear_tmp_file): Add new function to close and unlink the witness file.
18158         (nap): Instead of re-using the delay which has been calculated during
18159         the first call, avoid the race by actually verifying that a timestamp
18160         difference can be observed on the current file system.  Use an adaptive
18161         approach for the delay to minimize execution time.  Assert that the
18162         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
18163         = 2^31 - 1 = 2.1s.
18164         Use atexit to call clear_tmp_file when the process terminates.
18166 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
18168         sig2str: port to C++
18169         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
18170         Reported by Daniel J Sebald in
18171         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
18173 2013-05-30  Eric Blake  <eblake@redhat.com>
18175         docs: mention cygwin shortcoming in <sys/un.h>
18176         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
18178         vasnprintf: silence mingw compiler warning
18179         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
18181 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
18183         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
18184         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
18185         This fixes a porting bug I recently reintroduced in regex, and
18186         some other instances that I discovered while testing the fix.
18187         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
18188         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
18189         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
18190         with an empty argument if this is a pedantic pre-C99 GCC.
18191         * lib/verify.h: Do not use _Static_assert if this is a pedantic
18192         pre-C11 GCC.
18194         regex: adapt to locking regime instead of depending on pthread
18195         Instead of depending on pthread, adapt to whatever thread
18196         modules are in use.  Problem reported by Ludovic Courtès in
18197         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
18198         and by Mats Erik Andersson in
18199         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
18200         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
18201         Support either the 'lock' module, or the 'pthread' module, or
18202         no module.
18203         (lock_lock, lock_unlock): New macros.
18204         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
18205         * modules/lock, modules/pthread (configure.ac): Add module indicator.
18206         * modules/regex (Depends-on): Remove pthread.
18208 2013-05-22  Eric Blake  <eblake@redhat.com>
18210         getgroups: document portability issues
18211         * doc/glibc-functions/initgroups.texi (initgroups): Mention
18212         multithread safety.
18213         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
18214         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
18215         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
18216         getugroups.
18217         * doc/posix-functions/getgroups.texi (getgroups): Mention
18218         multithread safety and mgetgroups.
18220 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
18222         test-lchown, test-chown: also skip test if chown fails with EPERM
18223         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
18224         skip this test, to handle FAT file systems.
18225         * tests/test-chown.h (test_chown): Likewise.
18227 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18229         regex: fix dfa race in multithreaded uses
18230         Problem reported by Ludovic Courtès in
18231         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
18232         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
18233         New macros.  All uses of __libc_lock_define, __libc_lock_init
18234         changed to use the first two of these.
18235         (__libc_lock_lock, __libc_lock_unlock): New macros, for
18236         non-glibc platforms.
18237         (struct re_dfa_t): Define the lock unconditionally.
18238         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
18239         '#ifdef _LIBC"s.
18240         * modules/regex (Depends-on): Add pthread, if we use the
18241         included regex.
18243         * lib/regcomp.c: Do actions that are not needed for glibc,
18244         but may be needed elsewhere.
18245         (regfree, re_compile_internal): Destroy the lock.
18246         (re_compile_internal): Check for lock-initialization failure.
18248         malloca: port to compilers that reject size-zero arrays
18249         This fixes a bug introduced in my previous patch.
18250         * lib/malloca.c (struct preliminary_header): Use an int
18251         rather than a character array of size int; that's simpler.
18252         (struct header): Remove, replacing with ...
18253         (union header): New type.  This avoids the need for declaring a
18254         character array of size zero, which is not allowed on some platforms.
18255         All uses changed.
18257 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
18259         parse-datetime, tests: don't use "string" + int
18260         Recent versions of 'clang' complain about C source code that
18261         uses expressions of the form '"string literal" + integer',
18262         I guess on the theory that it's confusing for readers who are
18263         used to C++.  On those grounds I suppose it's OK to make this
18264         minor style change.
18265         * lib/parse-datetime.y (parse_datetime):
18266         * tests/test-fchdir.c (main):
18267         * tests/test-snprintf-posix.h (test_function):
18268         * tests/test-snprintf.c (main):
18269         * tests/test-vasnprintf-posix.c (test_function):
18270         * tests/test-vasnprintf.c (test_function):
18271         * tests/test-vsnprintf.c (main):
18272         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
18273         Rewrite '"str" + E' to '&"str"[E]'.
18275 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
18277         argmatch: port to C++
18278         * lib/argmatch.h [__cplusplus]: Add extern "C".
18280         argp: typo fix
18281         * lib/argp-help.c: Typo in comment.
18283 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
18285         manywarnings: update for GCC 4.8.0
18286         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
18287         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
18288         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
18289         -Wmissing-noreturn, as they are duplicates of other warnings.
18290         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
18291         was documented to be flaky in earlier versions of GCC.
18293         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
18294         * tests/test-spawn.c (main):
18295         * tests/test-sys_socket.c (main):
18296         * tests/test-sys_wait.c (main):
18297         Don't have a switch value that isn't covered by a case.
18299         getaddrinfo-tests: port --enable-gcc-warnings to clang
18300         * tests/test-getaddrinfo.c (simple):
18301         Avoid casts from looser to stricter-aligned pointers.
18303         thread: port --enable-gcc-warnings to clang
18304         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
18305         Include <signal.h>, to pacify a warning about pthread_sigmask.
18307         stdio: use __REDIRECT for fwrite, fwrite_unlocked
18308         * lib/stdio.in.h (fwrite):
18309         When working around bug 11959, use __REDIRECT rather than '#define
18310         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
18311         fix the -Wunused-value issue with clang, and it works with GCC too.
18312         Problem with targeting reported by Eric Blake in
18313         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
18314         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
18315         debugging the fwrite issue.
18317         stdio: port --enable-gcc-warnings to clang
18318         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
18319         since the GCC workaround for fwrite does not pacify clang.
18321         sig2str: port --enable-gcc-warnings to clang
18322         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
18324         obstack: port --enable-gcc-warnings to clang
18325         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
18326         Avoid casts from looser to stricter-aligned pointers.
18328         memchr2: port --enable-gcc-warnings to clang
18329         * lib/memchr2.c (memchr2):
18330         Avoid casts from looser to stricter-aligned pointers.
18332         mbsstr: port --enable-gcc-warnings to clang
18333         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
18334         Avoid casts from looser to stricter-aligned pointers.
18336         malloca: port --enable-gcc-warnings to clang
18337         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
18338         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
18340         inttostr: port --enable-gcc-warnings to clang
18341         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
18343         warnings: port to clang
18344         Problem reported by Daniel P. Berrange via Eric Blake in
18345         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
18346         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
18347         (gl_WARN_ADD): Use it.
18349 2013-05-11  Jim Meyering  <meyering@fb.com>
18351         quotearg: do not read beyond end of buffer
18352         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
18353         end of an ARG for which no length was specified.  With an N-byte
18354         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
18355         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
18356         via coreutils' misc/sort-debug-keys.sh test and detected by running
18357         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
18358         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
18359         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
18360         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
18361         characters correctly."
18363 2013-05-11  Daiki Ueno  <ueno@gnu.org>
18365         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
18366         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
18367         compilation target is Mac OS X 10.6.
18368         Problem reported by parafin and Andoni Morales in
18369         <http://savannah.gnu.org/bugs/?37844> and
18370         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
18372 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
18374         mkdir-p: remove assumptions about umask and mode
18375         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
18376         umask is 0, or that MODE is a subset of MODE_BITS.
18378 2013-05-10  Eric Blake  <eblake@redhat.com>
18380         maint.mk: catch more abuse of HAVE_DECL in syntax-check
18381         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
18383 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
18385         deps: require Automake >= 1.9.6 in generated Makefile fragments
18387         That is the same minimal version required in the DEPENDENCIES file.
18388         Moreover, the old code generated a requirement of Automake >= 1.5,
18389         and that is an insanely outdated version.
18391         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
18392         * tests/havelib/rpathlx/Makefile.am: Likewise.
18393         * tests/havelib/rpathly/Makefile.am: Likewise.
18394         * tests/havelib/rpathlyx/Makefile.am: Likewise.
18395         * tests/havelib/rpathlz/Makefile.am: Likewise.
18396         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
18397         * tests/havelib/rpathx/Makefile.am: Likewise.
18398         * tests/havelib/rpathy/Makefile.am: Likewise.
18399         * tests/havelib/rpathz/Makefile.am: Likewise.
18401 2013-05-08  Eric Blake  <eblake@redhat.com>
18403         bootstrap: AC_INIT may have more than four parameters
18404         * build-aux/bootstrap (extract_package_name): Correctly extract
18405         non-empty tarname field.  Avoid range in regex.
18406         Based on a report by Sami Kerola <kerolasa@iki.fi>.
18408 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
18410         qacl: port to MS-Windows port of GNU Emacs
18411         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
18412         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
18413         port of GNU Emacs.  Problem reported by Eli Zaretskii in
18414         <http://bugs.gnu.org/14295#14>.
18416 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
18418         acl: include quote.h
18419         * lib/copy-acl.c: Include quote.h.
18420         * lib/set-acl.c: Likewise.
18422 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
18424         fchownat, renameat, unlinkat: update statat dependencies
18425         These modules use statat and lstatat, not fstatat; so depend on
18426         the statat module, which was split out recently from fstatat.
18427         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
18428         * modules/renameat: Likewise.  Also delete fstat.
18429         URL: http://bugs.gentoo.org/468790
18431 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
18433         Assume gnulib is checked out from Git, not CVS
18435         In fact, access to the gnulib repository through CVS has been
18436         disabled, or more precisely, got broken and was never restored; see:
18437         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
18439         Note that support for CVS is not removed completely and unthinkingly
18440         by this change: only support for CVS checkouts of gnulib itself is
18441         removed.  For example, the 'bootstrap' script still cater to .cvsingore
18442         files and CVS directories, for the benefit of those poor gnulib clients
18443         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
18445         * gnulib-tool: Simplify accordingly.
18446         * posix-modules: Likewise.
18447         * MODULES.html.sh: Likewise.
18448         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
18449         repository.
18450         * doc/gnulib-intro.texi: Likewise.
18451         * doc/gnulib-readme.texi: Likewise.
18452         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
18453         sample '.gitignore' file rather than a sample '.cvsignore'.
18454         * NEWS: Update.
18455         * m4/extensions.m4: While at it, remove a comment mistakenly referring
18456         to "CVS Autoconf" rather than "git Autoconf".
18458 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
18460         utimensat-tests, etc.: try to fix some races
18461         Problem reported by Bernhard Voelker in
18462         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
18463         I don't know whether this patch fixes that race condition, but it
18464         fixes *some* race conditions, so it should be a win.
18465         * modules/chown-tests (Depends-on):
18466         * modules/fchownat-tests (Depends-on):
18467         * modules/fdutimensat-tests (Depends-on):
18468         * modules/futimens-tests (Depends-on):
18469         * modules/lchown-tests (Depends-on):
18470         * modules/stat-time-tests (Depends-on):
18471         * modules/utimens-tests (Depends-on):
18472         * modules/utimensat-tests (Depends-on):
18473         Depend on nanosleep, not usleep.
18474         * modules/chown-tests (test_chown_LDADD):
18475         * modules/lchown-tests (test_lchown_LDADD):
18476         * modules/stat-time-tests (test_stat_time_LDADD):
18477         New macro.
18478         * modules/fchownat-tests (test_fchownat_LDADD):
18479         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
18480         * modules/futimens-tests (test_futimens_LDADD):
18481         * modules/utimens-tests (test_utimens_LDADD):
18482         * modules/utimensat-tests (test_utimensat_LDADD):
18483         Add $(LIB_NANOSLEEP).
18484         * modules/stat-time-tests (Files): Add tests/nap.h.
18485         * tests/nap.h: Include <limits.h>, for INT_MAX.
18486         (lt_mtime): Remove.
18487         (diff_timespec): New function.
18488         (get_stat): Rename from get_mtime.  All callers changed.
18489         (nap_works): Determine the needed delay by inspecting the
18490         file system's timestamp jumps; this should be more reliable.
18491         Look at both mtime and ctime, and take the maximum of the two jumps.
18492         (nap_works, guess_delay):
18493         Return a nanosecond count, not a microsecond count.
18494         All callers changed.
18495         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
18496         failure.
18497         (nap): Multiply the guess by 1.125, to accommodate the case where
18498         the file system's clock is a bit slower than nanosleep's clock.
18499         * tests/test-stat-time.c (BASE): New macro.
18500         Include nap.h.
18501         (nap): Remove; nap.h now defines this.  This removes a duplicate
18502         implementation of 'nap'.
18504         utimens, utimensat: work around Solaris UTIME_OMIT bug
18505         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
18506         Linux kernel 2.6.32 does.  Work around it in the same way.
18507         * doc/posix-functions/futimens.texi (futimens):
18508         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
18509         * lib/utimens.c (fdutimens, lutimens):
18510         * lib/utimensat.c (rpl_utimensat): Work around the bug.
18512         gettext: now it's your responsibility to add -I$(top_builddir)/intl
18513         Formerly, it was your responsibility to do this for all Makefile.ams
18514         other than Gnulib's.  Now it's your responsibility to do it for
18515         Gnulib's Makefile.am, too.
18516         * NEWS: Document this.
18517         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
18519         acl: include errno.h to get errno
18520         Reported by Daiki Ueno in
18521         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
18522         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
18524 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
18526         tests: don't assume getdtablesize () <= 10000000
18527         * modules/cloexec-tests:
18528         * modules/dup2-tests:
18529         * modules/dup3-tests:
18530         * modules/nonblocking-tests:
18531         * modules/posix_spawn_file_actions_addclose-tests:
18532         * modules/posix_spawn_file_actions_adddup2-tests:
18533         * modules/posix_spawn_file_actions_addopen-tests:
18534         * modules/unistd-safer-tests:
18535         Depend on the getdtablesize module.
18536         * tests/test-cloexec.c:
18537         * tests/test-dup-safer.c:
18538         * tests/test-dup2.c:
18539         * tests/test-dup3.c:
18540         * tests/test-fcntl.c:
18541         * tests/test-nonblocking.c:
18542         * tests/test-posix_spawn_file_actions_addclose.c:
18543         * tests/test-posix_spawn_file_actions_adddup2.c:
18544         * tests/test-posix_spawn_file_actions_addopen.c:
18545         Don't assume getdtablesize () <= 10000000.
18547 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
18549         extern-inline: work around bug in Sun c99
18550         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
18551         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
18553 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
18555         qacl: new module, broken out from the acl module
18556         This is for GNU Emacs, which wants the acl functions but does
18557         not want 'error' invoked when they fail.
18558         * lib/acl-internal.h: Do not include error.h, quote.h.
18559         (ENOSYS, ENOTSUP): Remove; no longer needed.
18560         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
18561         * lib/acl.h: Include <stdbool.h>.
18562         (acl_errno_valid): New function.
18563         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
18564         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
18565         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
18566         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
18567         (ACL_INTERNAL_INLINE): Remove; no longer needed.
18568         * lib/file-has-acl.c (file_has_acl):
18569         * lib/qcopy-acl.c (qcopy_acl):
18570         * lib/qset-acl.c (qset_acl):
18571         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
18572         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
18573         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
18574         lib/file-has-acl.c, m4/acl.m4 to qacl module.
18575         Add lib/set-acl.c.
18576         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
18577         Add qacl.
18578         (configure.ac): Move gl_FUNC_ACL to qacl module.
18579         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
18580         Rename set-mode-acl.c to set-acl.c.
18581         * lib/acl-errno-valid.c: New file.
18582         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
18583         copy_acl function remains in copy-acl.c.
18584         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
18585         (_): Remove; not needed.
18586         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
18587         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
18588         * modules/qacl: New file, moved from the old modules/acl.
18589         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
18590         Remove set-mode-acl.c, copy-acl.c.
18591         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
18593         alignof, intprops, malloca: port better to IBM's C compiler
18594         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
18595         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
18596         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
18598 2013-04-25  Daiki Ueno  <ueno@gnu.org>
18600         wctype-h: fix gettext link error on mingw
18601         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
18602         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
18603         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
18604         rpl_towupper and rpl_towupper.
18606 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
18608         regex-tests, regex: allow glibc re_search behavior
18609         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
18610         re_search input data to make the multi-character collating element
18611         in it clearly visible, and treat re_search return code 0 as valid.
18612         * m4/regex.m4 (gl_REGEX): Likewise.
18614 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18616         stdalign: doc fix
18617         * doc/posix-headers/stdalign.texi (stdalign.h):
18618         Gnulib doesn't support '_Alignof expr'.
18620 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
18622         stdalign: port to stricter ISO C11
18623         ISO C11 says that _Alignof's operand must be a parenthesized type.
18624         Problem reported by Eli Zaretskii in
18625         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
18626         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
18627         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
18629 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
18631         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
18632         Problem reported by Marco Atzeri in
18633         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
18634         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
18635         Simply delegate to the system <sys/select.h> in this case too.
18636         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
18637         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
18638         be needed on Solaris either.
18639         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
18640         Simply delegate to the system <sys/time.h> in this case.
18642 2013-03-19  Karl Berry  <karl@gnu.org>
18644         * build-aux/gnupload: check for erroneous (with gnupload) use of
18645         ftp-upload.gnu.org, tweak help.
18647 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18649         copy-file, rpmatch: fix problems found by cppcheck
18650         Reported by Arno Onken in
18651         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
18652         * lib/rpmatch.c (try): Fix memory leak.
18653         * lib/copy-file.c: Include "ignore-value.h".
18654         (qcopy_file_preserving): Ignore chown value.
18655         * modules/copy-file (Depends-on): Add ignore-value.
18657 2013-01-27  Jim Meyering  <jim@meyering.net>
18659         prefix-gnulib-mk: give better diagnostics
18660         * build-aux/prefix-gnulib-mk: Don't just "die".
18661         Give better diagnostics upon failure.
18663 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
18665         putenv: port to Solaris 10
18666         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
18667         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
18668         is not what is wanted here.
18669         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
18670         declaration, not for its existence.
18672 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
18674         mktime: fix configure typo
18675         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
18677 2013-03-12  Eric Blake  <eblake@redhat.com>
18679         regex-tests: skip UTF-8 test on mingw
18680         * modules/regex-tests (Depends-on): Add localcharset.
18681         * tests/test-regex.c (main): Use it to skip test on mingw.
18683 2013-03-11  Eric Blake  <eblake@redhat.com>
18685         tests: make it easier to bypass alarm time in debugger
18686         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
18687         * tests/test-memmem.c (main): Likewise.
18688         * tests/test-passfd.c (main): Likewise.
18689         * tests/test-ptsname.c (main): Likewise.
18690         * tests/test-ptsname_r.c (main): Likewise.
18691         * tests/test-strcasestr.c (main): Likewise.
18692         * tests/test-strstr.c (main): Likewise.
18694         regex: port to mingw's recent addition of undeclared alarm
18695         * doc/posix-functions/alarm.texi (alarm): Document that alarm
18696         exists but still doesn't work in newer mingw.
18697         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
18698         not existence.  Ensure SIGALRM is not trapped.
18699         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
18700         * m4/regex.m4 (gl_REGEX): Likewise.
18701         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
18702         * tests/test-regex.c (main): Use correct probe for alarm.
18704         putenv: avoid compilation warning on mingw
18705         * lib/putenv.c (_unsetenv): Protect variable declaration.
18706         (putenv): Fix indentation.
18708 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
18710         unistd: don't prevent Tru64 Unix from using gnulib strtod.
18711         * lib/unistd.in.h: be careful not to include un-needed system
18712         stdlib.h from here, because that prevents gnulib stdlib.h from
18713         defining rpl_strtod correctly.
18715 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
18717         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
18718         changesets, but for the 'precision 0' test.
18719         * tests/test-vasprintf-posix.c (test_function): Don't insist on
18720         round-to-even, since POSIX says rounding is implementation-defined
18721         and OS X 10.8.2 rounds 1.51 to 1 here.
18723         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
18724         changeset.
18725         * tests/test-vasprintf-posix.c (test_function): Don't insist on
18726         round-to-even, since POSIX says rounding is implementation-defined
18727         and OS X 10.8.2 rounds 1.5 to 1 here.
18729 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
18731         vasnprintf-posix-tests: allow rounding 1.5 to 1
18732         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
18733         round-to-even, since POSIX says rounding is implementation-defined
18734         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
18735         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
18737         bootstrap: port to FreeBSD
18738         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
18739         that treat '--' differently.  Reported by Mats Erik Andersson in
18740         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
18742 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
18744         regex: rename remaining __attribute calls to __attribute__.
18745         2012-02-25 changed definition of __attribute, but left some uses
18746         unchanged, preventing compilation of regex module on most non-gcc
18747         environments.
18748         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
18749         (lookup_collation_sequence_value, build_range_exp)
18750         (build_collating_symbol): Set attributes with newly renamed
18751         __attribute__ decorator.
18752         * lib/regex_internal.c (re_string_peek_byte_case)
18753         (re_node_set_compare, re_node_set_contains): Likewise.
18754         * lib/regexec.c (acquire_init_state_context): Likewise.
18756 2013-03-06  Bruno Haible  <bruno@clisp.org>
18758         execute: Revert last change, but use a different condition.
18759         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
18760         on Windows.
18762 2013-03-05  Eric Blake  <eblake@redhat.com>
18764         execute: drop dead code
18765         * lib/execute.c (nonintr_close, nonintr_open): Delete.
18767 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
18769         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
18770         * m4/non-recursive-gnulib-prefix-hack.m4
18771         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
18772         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
18773         <http://bugs.gnu.org/10305#237>.
18775 2013-03-04  Eric Blake  <eblake@redhat.com>
18777         test-getsockopt: avoid compiler warning
18778         * tests/test-getsockopt.c (includes): Ensure close is declared.
18780 2013-03-02  Bruno Haible  <bruno@clisp.org>
18782         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
18783         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
18785 2013-03-02  Bruno Haible  <bruno@clisp.org>
18787         gettext: Update to version 0.18.2.
18788         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
18789         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
18790                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
18792 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
18794         regex: merge patches from libc
18796         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
18797         * lib/regex_internal.h (__attribute__): Rename from __attribute.
18798         All uses changed.
18799         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
18800         (re_string_wchar_at, re_string_elem_size_at):
18801         Mark function as possibly unused.
18803         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
18804         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
18805         elements compare against the byte sequence of it, not its name.
18807 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
18809         putenv: port better to native Windows
18810         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
18811         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
18812         (_unsetenv): Use _putenv if available.
18813         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
18814         a bit less likely to cause damage.
18815         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
18816         Fix the wrong value with SetEnvironmentVariable.
18817         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
18818         code better.
18820 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
18822         regex: ignore old-style-definition warnings
18823         * lib/regex.c: Add pragma to ignore these warnings.
18824         Problem reported for GNU tar by Pavel Raiskup.
18826 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
18828         getcwd: support coreutils better
18829         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
18830         but this might not be correct in coreutils, which disables
18831         the raw decl checks.  Problem reported by Nagendra in
18832         <http://bugs.gnu.org/10305#192>.
18833         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
18834         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
18835         Test the getcwd function, not any macro, since getcwd.c wants the
18836         function.
18837         * m4/getcwd.m4 (gl_FUNC_GETCWD):
18838         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
18839         compile, as might happen if there's a macro but no function.
18841         strtod: support coreutils better
18842         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
18843         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
18844         disables the raw decl checks.  This assumes there is an underlying
18845         strtod, but that's a safe assumption these days.
18846         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
18848         mountlist: port to HP NonStop
18849         Reported by Joachim Schmitz in
18850         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
18851         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
18852         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
18854 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
18856         extern-inline: avoid compilation error with HP-UX cc
18857         Reported by Richard Lloyd in
18858         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
18859         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
18860         Suppress extern inline with HP-UX cc.  This should be safe,
18861         though it may hurt performance.  Perhaps someone with some HP-UX
18862         experience can come up with a higher-performance fix.
18864 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
18866         putenv: fix heap corruption with mixed putenv/_putenv
18867         Problem reported by Michael Goffioul in
18868         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
18869         * lib/putenv.c (putenv) [HAVE__PUTENV]:
18870         Rely on _putenv to allocate the new environment.
18871         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
18872         * modules/putenv (configure.ac): Use it.
18874 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
18876         unsetenv etc.: port to Solaris 11 + GNU Emacs
18877         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
18878         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
18879         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
18880         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
18881         idea but is too painful to fix right now), and without this gnulib
18882         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
18883         compiling unsetenv.c on Solaris 11.  Fix the problem for
18884         unsetenv.c, and fix other similar occurrences.
18886 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18888         secure_getenv: fix C++ declaration typo
18889         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
18890         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
18891         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
18893 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18895         careadlinkat: stop exporting careadlinkatcwd
18896         Only Emacs used it directly, and Emacs no longer needs it.
18897         * NEWS: Document this simplification.
18898         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
18899         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
18900         for readlink.
18901         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
18902         Don't include stdlib.h; no longer needed.
18903         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
18904         * lib/relocwrapper.c: Adjust comment to match new dependencies.
18905         * modules/areadlink (Depends-on): Add readlink.
18906         (Maintainer): Add self.
18907         * modules/careadlinkat (Depends-on): Remove readlink.
18909         extensions: port better to HP-UX
18910         This is merged from git Autoconf.
18911         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
18912         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
18913         so that it's compatible with the value used when compiling.
18915         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
18916         Problem reported by Mats Erik Andersson in
18917         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
18918         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
18919         openpty function exists, not merely when we intend to replace it.
18920         This corrects the 2013-01-31 patch, which mistakenly defined
18921         HAVE_OPENPTY even on hosts that lacked it.
18923 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
18925         secure_getenv: fix include typo
18926         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
18928         secure_getenv: port better to FreeBSD and Solaris
18929         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
18930         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
18931         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
18932         This works better on BSDish platforms.
18933         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
18934         Test for issetugid if __secure_getenv is missing.
18936 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
18938         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
18939         Some of these changes are merged in from git Autoconf.
18940         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
18941         When deciding whether to define _XOPEN_SOURCE, inspect the
18942         preprocessor macro __hpux instead of the more-heavyweight
18943         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
18944         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
18945         as the key for __EXTENSIONS__.
18947         unistd: avoid namespace pollution on non-glibc systems
18948         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
18949         This avoids namespace pollution on non-glibc systems, by causing
18950         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
18951         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
18952         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
18954 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
18956         tmpdir: use secure_getenv
18957         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
18958         Define to secure_getenv, not getenv.
18959         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
18960         as that's now secure_getenv's job.
18961         * modules/tmpdir (Depends-on): Add secure_getenv.
18963         tempname: use secure_getenv
18964         * lib/tempname.c (__secure_getenv) [!_LIBC]:
18965         Define to secure_getenv, not getenv.
18966         * modules/tempname (Depends-on):
18967         Add secure_getenv.
18969         secure_getenv: new module
18970         * MODULES.html.sh (Extra functions based on ANSI C 89):
18971         Add secure_getenv.
18972         * doc/glibc-functions/secure_getenv.texi: New file.
18973         * doc/gnulib.texi: Include it.
18974         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
18975         New files.
18976         * lib/stdlib.in.h (secure_getenv): New decl.
18977         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
18978         * modules/stdlib (stdlib.h):
18979         Add secure_getenv checks.
18981 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
18983         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
18984         Reported for OS X 10.8.2 by Assaf Gordon in
18985         <http://bugs.gnu.org/13516>.
18986         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
18987         !HAVE_OPENAT && !HAVE_FDOPENDIR.
18988         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
18989         so that they can be kept in sync more easily.  Avoid PATH_MAX
18990         test on the Hurd.  Sync from test-getcwd.c for errno tests after
18991         mkdir or chdir failure.
18992         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
18993         lib/getcwd.c.
18994         (test_abort_bug): Do not test for the deep directory bug unless we
18995         have openat support.  Avoid PATH_MAX test on the Hurd.
18997         regex-tests, regex: fix bug: memset undeclared
18998         * tests/test-regex.c: Don't include regex.h twice.  Include
18999         string.h, to declare memset.  Christensen's report also mentioned
19000         this issue.
19001         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
19002         test-regex.c, to avoid future problems like this.  Remove
19003         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
19004         twice.
19006         regex-tests: fix link errors on older Solaris
19007         These need to link with @LIBINTL@ to get libintl_gettext.
19008         Problem reported by Tom G. Christensen in
19009         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
19010         * modules/regex-tests (test_regex_LDADD): New macro.
19012 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
19014         regex-tests: new module
19015         * modules/regex-tests, tests/test-regex.c: New files.
19017         regex: fix off-by-one error in configure test
19018         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
19020 2013-01-31  Eric Blake  <eblake@redhat.com>
19022         regex: avoid infinite configure test
19023         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
19025 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
19027         openpty: fix bug where HAVE_OPENPTY wasn't defined
19028         See the thread starting at:
19029         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
19030         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
19031         openpty function exists, not merely when we intend to replace it.
19033 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
19035         sys_time: port to Solaris 2.6
19036         There is a circularity problem on Solaris 2.6, where <time.h> includes
19037         <sys/time.h> for struct timespec.  The include nesting is gnulib
19038         <time.h>, system <time.h>, gnulib <sys/time.h>, system
19039         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
19040         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
19041         <sys/siginfo.h>; the last, innermost file needs struct
19042         timestruc_t, which is defined in <sys/time.h>, which has not been
19043         fully parsed.  Problem reported by Tom G. Christensen in
19044         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
19045         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
19046         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
19047         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
19048         uses split double-inclusion guards.
19050 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
19052         regex: test for buffer overrun
19053         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
19054         for the just-fixed regex bug.
19056 2013-01-29  Andreas Schwab  <schwab@suse.de>
19058         regex: fix buffer overrun in regexp matcher [BZ #15078]
19059         * lib/regexec.c (extend_buffers): Add parameter min_len.
19060         (check_matching): Pass minimum needed length.
19061         (clean_state_log_if_needed): Likewise.
19062         (get_subexp): Likewise.
19064 2013-01-28  Pádraig Brady  <P@draigBrady.com>
19066         mountlist: don't consider "devtmpfs" as dummy
19067         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
19068         as there is storage associcated with it.
19070 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
19072         futimens-tests, utimens-tests: Depend on gettext.
19073         This works around a problem introduced in my 2013-01-12 patch,
19074         which added @LIBINTL@ to these modules.
19075         * modules/futimens-tests (Depends-on):
19076         * modules/utimens-tests (Depends-on): Add gettext.
19078 2013-01-26  Eric Blake  <eblake@redhat.com>
19080         test-getpeername: fix typo
19081         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
19083 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
19085         bootstrap: remove the need for a sorted .gitignore file
19086         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
19087         rename to insert_if_absent(), so that we don't need or generate
19088         a sorted .gitignore file.  We do require a .gitignore with no
19089         existing duplicate entries and enforce that.
19090         (sort_patterns): Remove this function as we now use the simpler
19091         technigue of inserting blacklist entries at the top of the file,
19092         assuming gnulib won't be inserting !whitelist entries.
19094 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19096         readlinkat: don't depend on gl_FUNC_OPENAT
19097         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
19098         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
19099         renameat.m4, symlinkat.m4; but one thing at a time.
19101         statat: new module, split out from fstatat
19102         GNU Emacs needs the POSIX-specified fstatat, but not the
19103         gnulib-specified statat and lstat.  Split the latter two into a
19104         new module 'statat'.
19105         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
19106         * lib/openat.h, lib/statat.c (STATAT_INLINE):
19107         Rename from FSTATAT_INLINE. All uses changed.
19108         * modules/fstatat (Files): Remove lib/statat.c.
19109         (gl_MODULE_INDICATOR([fstatat])): Remove.
19110         (lib_SOURCES): Remove.
19111         (Maintainer): Add self.
19112         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
19113         * tests/test-fstatat.c (BASE): Don't define if already defined.
19114         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
19116 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
19118         tests: don't assume fd 99 is closed
19119         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
19120         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
19121         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
19122         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
19123         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
19124         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
19125         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
19126         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
19127         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
19128         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
19129         * tests/test-fwrite.c, tests/test-getpeername.c:
19130         * tests/test-getsockname.c, tests/test-getsockopt.c:
19131         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
19132         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
19133         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
19134         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
19135         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
19136         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
19137         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
19138         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
19139         * tests/test-unlinkat.c, tests/test-unlockpt.c:
19140         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
19141         Close file descriptor 99, instead of assuming it's already closed.
19143 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
19145         stpncpy: port to OS X 10.8
19146         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
19147         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
19149 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
19151         unistd: port to recent mingw
19152         * lib/unistd.in.h: Remove special invocation convention for mingw,
19153         which breaks for the latest mingw version.  See John W. Eaton in
19154         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
19156         largefile: port better to Mac OS X 10.5
19157         This patch is backported from Autoconf git.
19158         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
19159         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
19160         with ino_t size being different for configuration time versus
19161         build/run time.  Problem reported by PHO in
19162         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
19164 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
19166         doc: clarify -Werror
19167         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
19168         clarify that it's intended for developers, not for ordinary builds,
19169         and mention --enable-gcc-warnings as one possible use.
19171 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
19173         stdint: fix build with Android's Bionic fox x86
19174         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
19175         was already included as _SSIZE_T_DEFINED_ might also be defined
19176         in include/machine/_types.h, which is included by stdio.h
19178 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
19180         net_if-tests: port to Solaris 7 + GCC 3.4.6
19181         Problem reported by Tom G. Christensen in
19182         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
19183         * tests/test-net_if.c (ni): Move to next the code that uses it,
19184         so that it's declared only if needed.
19186 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
19188         net_if-tests: port to older Solaris
19189         Problem reported by Tom G. Christensen in
19190         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
19191         * modules/net_if-tests (NET_IF_LIB): New substitution.
19192         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
19193         (HAVE_IF_NAMEINDEX): New C macro.
19194         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
19196         system-quote-tests: port to older Solaris
19197         Problem reported by Tom G. Christensen in
19198         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
19199         * tests/test-system-quote-child.c (fopen, fread): Undef.
19201         c-xvasprintf etc.: fix link errors on older Solaris
19202         These need to link with @LIBINTL@ to get libintl_gettext.
19203         Problem reported by Tom G. Christensen in
19204         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
19205         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
19206         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
19207         * modules/futimens-tests (test_futimens_LDADD):
19208         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
19210 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
19212         locale: port to Solaris 2.6 and 7 + GNU gettext
19213         * lib/locale.in.h: Just include_next <locale.h> when
19214         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
19215         when combining the localename module with GNU gettext 0.18.2.
19216         Problem reported by Tom G. Christensen in
19217         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
19219 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
19221         stdlib: port to Solaris 2.6
19222         Also, the code worked on Solaris 7 through 9 only by accident.
19223         Problem reported by Tom G. Christensen in
19224         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
19225         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
19226         simply include the system stdlib.h.
19227         * lib/getopt.in.h (__need_system_stdlib_h):
19228         * lib/pthread.in.h (__need_system_stdlib_h):
19229         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
19230         Define when including <stdlib.h>, to avoid problems at least for
19231         the pthread case on Solaris 2.6 and 7.  These .h files can get by
19232         with the system stdlib.h.
19234 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
19236         doc: update main copyright year
19237         * doc/gnulib.texi: Update copyright date.
19239         doc: improve ISO 8601 discussion
19240         * doc/parse-datetime.texi (Combined date and time of day items):
19241         Specify more carefully what formats are supported and what is
19242         done with excess precision.
19244 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
19246         doc: avoid small caps
19247         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
19248         they're more trouble than they're worth.  Suggested by Karl Berry
19249         in <http://bugs.gnu.org/13360>.
19251         regex: conform to strict C
19252         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
19253         From Aharon Robbins.
19255         gnulib-tool: fix incompatibility with autopoint 0.18.2
19256         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
19257         Problem reported by Tom G. Christensen in
19258         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
19260 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
19262         fprintftime: bring back and reword fwrite comment
19263         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
19265         stdio: remove now-unnecessary stdio.c
19266         Since stdio.in.h no longer uses inline functions, we no longer
19267         need to compile the extern versions.
19268         * lib/stdio.c: Remove.
19269         * modules/stdio (Files): Remove lib/stdio.c.
19270         (lib_SOURCES): Remove.
19272         unicodeio: depend on stdio, not ignore-value
19273         * lib/unicodeio.c: Do not include ignore-value.h.
19274         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
19275         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
19277         fprintftime: depend on stdio, not ignore-value
19278         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
19279         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
19280         since the stdio module arranges to silence that warning now.
19281         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
19283 2012-10-04  Simon Josefsson  <simon@josefsson.org>
19285         stdint-tests: Fix expanded-before-required-warning.
19286         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
19288 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
19290         fwrite: silence __wur only for older glibc versions
19291         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
19292         This will help us remove this workaround some time in the far future.
19294 2013-01-03  Eric Blake  <eblake@redhat.com>
19296         fwrite: silence __wur without using inline
19297         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
19298         just gcc, and in a way that avoids inline issues.
19299         * modules/stdio (Depends-on): Drop extern-inline.
19301 2013-01-03  Jim Meyering  <jim@meyering.net>
19303         update-copyright: avoid copyright notice date corruption
19304         Given a sequence of copyright year numbers in which the final
19305         one was a two-digit number that happened to be a substring of
19306         a preceding four-digit year number, we would mistakenly update
19307         the substring (from two- to four-digit) rather than the two-digit
19308         number at the end, which, combined with the addition of the current
19309         4-digit year number would yield two 5-digit year numbers, e.g.,
19310         here, it would convert the first "99" to "1999, 2013" rather than
19311         the final one:
19312           1991, 99
19313           11999, 20131, 1999
19314         * build-aux/update-copyright: Tighten a regexp.
19315         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
19316         Reported by Joseph Myers in
19317         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
19319 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
19321         regex: omit needless signed-pointer casts
19322         * lib/regcomp.c (build_charclass, build_charclass_op):
19323         Use char *, not unsigned char *, for class name and extra.
19324         The char values are always nonnegative so there's no need to
19325         insist on unsigned char * here, and using char * removes the need
19326         for casts.  Reported by Aharon Robbins in
19327         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19329         regex: support Gawk, which never uses alloca
19330         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
19331         Do not include in this case.  Gawk doesn't supply a substitute
19332         alloca.h and doesn't need one.
19334         regex: port __libc_lock_define usage to C89
19335         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
19336         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
19337         does not conform to C89, as it has an empty macro argument.
19338         Reported by Aharon Robbins in
19339         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19341 2013-01-01  Eric Blake  <eblake@redhat.com>
19343         maint: update all copyright year number ranges
19344         Run "make update-copyright".
19346         version-etc: bump copyright year reported in --version
19347         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
19349 2012-12-31  Eric Blake  <eblake@redhat.com>
19351         sigprocmask-tests: skip test if pid is unexpectedly large
19352         * tests/test-sigprocmask.c (main): Add range check.
19354         git-version-gen: avoid test -z portability glitch
19355         * build-aux/git-version-gen: Prefer portable test spelling, since
19356         git-version-gen is run on more than just developer machines.
19358 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
19360         git-version-gen: add --fallback option to use if git is not present
19361         * build-aux/git-version-gen: Add support for the new option --fallback,
19362         which comes into play when there is no $tarball_version_file and
19363         git is not working.
19364         (scriptversion): Update.
19366         maint.mk: handle missing git with more grace
19367         * top/maint.mk (no-submodule-changes, public-submodule-commit):
19368         Quietly proceed if git is not present.
19370 2012-12-31  Eric Blake  <eblake@redhat.com>
19372         dup2: work around cygwin bug
19373         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
19374         * lib/dup2.c (rpl_dup2): Work around it.
19375         * doc/posix-functions/dup2.texi (dup2): Document it.
19377 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
19379         regex: remove unnecessary dependency on localcharset.h
19380         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
19381         hasn't been needed for years.
19382         * modules/regex (Depends-on): Remove localcharset.
19384         regex: revert single-byte change
19385         * lib/regexec.c (check_node_accept_bytes): Revert previous change
19386         to this function.  This was alredy fixed in a different way, at
19387         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
19388         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
19389         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
19391         regex: simplify based on Gawk version
19392         * lib/regex_internal.c (re_dfa_add_node): Simplify.
19393         Reported by Aharon Robbins in
19394         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19396 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
19398         regex: check that pattern char is single-byte
19399         Reported by Aharon Robbins in
19400         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19401         * lib/regexec.c (check_node_accept_bytes):
19402         Return 0 if the pattern string has a multibyte character here.
19404         regex: implement rational ranges
19405         Reported by Aharon Robbins in
19406         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19407         * lib/regcomp.c (build_range_exp) [!_LIBC]:
19408         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
19409         Implement rational ranges.
19411         regex: avoid redefining __wctype
19412         Reported by Aharon Robbins in
19413         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19414         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
19415         #undef before defining.
19417         regex: port to hosts where malloc (0) == NULL
19418         Reported by Aharon Robbins in
19419         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19420         * lib/regex_internal.c (re_node_set_alloc):
19421         Don't assume that malloc (0) yields nonnull.
19422         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
19423         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
19424         * modules/regex (Files): Add m4/eealloc.m4.
19426         regex: port to C89
19427         Reported by Aharon Robbins in
19428         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19429         * lib/regcomp.c (init_word_char): Declaration before statement.
19431         regex: merge glibc changes
19432         Also, copy the license wording from glibc.  This simplifies
19433         merging changes.  gnulib-tool will change the wording to GPL as
19434         appropriate, when importing it to other packages.  The only
19435         glibc change made since the last merge, which needs merging, is:
19436         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
19437         * lib/regex_internal.h (gettext): Remove use of INTUSE.
19439         * users.txt: Add Emacs.
19441         doc: omit mention of version when not needed
19442         * doc/gnulib-intro.texi (Portability and Application Code):
19443         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
19444         Don't mention particular dates or versions when not necessary, so
19445         that the documentation won't go out of date so quickly.
19447         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
19449 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
19451         bootstrap: pass --force to autoreconf.
19452         * build-aux/bootstrap (AUTORECONFFLAGS): New.
19453         Add "--force" so that Automake's ylwrap and other such tools
19454         be updated at each bootstrap invocation.
19455         Use it.
19457 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19459         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
19460         The earlier patch forgot to update one of the #if conditions, causing
19461         a problem on Debian testing i386 reported by Mats Erik Andersson
19462         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
19463         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
19464         (__argp_fmtstream_puts, argp_fmtstream_puts)
19465         (__argp_fmtstream_write, argp_fmtstream_write)
19466         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
19468         * doc/gnulib-readme.texi: Minor fixups.
19469         (Portability guidelines): Modernize URLs.  Remove some repetition.
19470         (Indent with spaces not TABs): Reword to avoid too-long lines.
19471         Remove some '@ifset standalone' stuff that isn't used.
19473         * doc/gnulib-readme.texi (Portability guidelines):
19474         ctype.h, not ctime.h.
19476         Correct name of POSIX.1-2001.
19477         * doc/posix-functions/fgetc.texi (fgetc):
19478         * doc/posix-functions/fgets.texi (fgets):
19479         * doc/posix-functions/fread.texi (fread):
19480         * doc/posix-functions/fscanf.texi (fscanf):
19481         * doc/posix-functions/getc.texi (getc):
19482         * doc/posix-functions/getchar.texi (getchar):
19483         * doc/posix-functions/scanf.texi (scanf):
19484         POSIX.1-2001, not POSIX-2001.
19486         doc: move README into manual
19487         * README: Move contents to new file doc/gnulib-readme.texi.
19488         Replace with a one-line summary.
19489         * doc/gnulib.texi (Brief Overview): New section,
19490         with old intro preface.  Include gnulib-readme.texi for contents.
19491         (Philosophy): Rename from "Introduction", since this
19492         section no longer introduces the rest.  Write a new preface.
19493         * doc/gnulib-readme.texi: New file, with the old contents of
19494         README texinfo-ized.  This way, the README info appears
19495         in the online and printed manual.
19497 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
19499         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
19500         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
19501         c_vasprintf() prototype.
19503 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
19505         c-vasprintf: Fix "empty declaration" warning reported by GCC.
19506         * lib/c-vasprintf.h: Remove stray semicolon.
19508 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
19510         gettext: avoid obsolete macro AM_PROG_MKDIR_P
19511         It is obsolete and is planned to be removed from Automake 1.14; see
19512         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
19513         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
19514         (installdirs-data, installdirs-data-yes):
19515         Use $(MKDIR_P), not $(mkdir_p).
19516         * m4/intl.m4 (AM_INTL_SUBDIR):
19517         * m4/po.m4 (AM_PO_SUBDIRS):
19518         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
19520 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19522         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
19523         On this platform, we are not optimizing but we are using
19524         the substitute for extern inlines, so compile as if
19525         C99-style extern inline, or a substitute, is available.
19526         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
19527         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
19528         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
19529         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
19530         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
19531         Declare as ARGP_FS_EI, not as extern.
19532         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
19533         (__option_is_short, _option_is_end, __option_is_end)
19534         [!_LIBC && __USE_EXTERN_INLINES]:
19535         Declare as ARGP_EI, not as extern.
19537 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
19539         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
19540         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
19541         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
19542         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
19543         ...), as the latter is fatal with older Autoconfs.
19544         Problem reported and fix suggested by Eric Blake in thread starting at
19545         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
19547 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
19549         AC_PROG_MKDIR_P: don't workaround if not buggy
19550         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
19551         Define only for Autoconf versions before 2.62.
19552         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
19553         undocumented m4_PACKAGE_VERSION, for consistency with the
19554         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
19555         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
19556         was introduced in 2.62.
19558 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
19560         New 'c-*printf' modules for formatted output in C locale.
19562         New module 'c-vasnprintf'.
19563         * modules/c-vasnprintf: New file.
19564         * lib/c-vasnprintf.c: New file.
19565         * lib/c-vasnprintf.h: New file.
19567         New module 'c-snprintf'.
19568         * modules/c-snprintf: New file.
19569         * modules/c-snprintf-tests: New file.
19570         * lib/c-snprintf.c: New file.
19571         * lib/c-snprintf.h: New file.
19572         * tests/test-c-snprintf.c: New file.
19573         * tests/test-c-snprintf.sh: New file.
19575         New module 'c-vsnprintf'.
19576         * modules/c-vsnprintf: New file.
19577         * modules/c-vsnprintf-tests: New file.
19578         * lib/c-vsnprintf.c: New file.
19579         * lib/c-vsnprintf.h: New file.
19580         * tests/test-c-vsnprintf.c: New file.
19581         * tests/test-c-vsnprintf.sh: New file.
19583         New module 'c-vasprintf'.
19584         * modules/c-vasprintf: New file.
19585         * modules/c-vasprintf-tests: New file.
19586         * lib/c-asprintf.c: New file.
19587         * lib/c-vasprintf.c: New file.
19588         * lib/c-vasprintf.h: New file.
19589         * tests/test-c-vasprintf.c  +: New file.
19590         * tests/test-c-vasprintf.sh: New file.
19592         New module 'c-xvasprintf'.
19593         * modules/c-xvasprintf: New file.
19594         * modules/c-xvasprintf-tests: New file.
19595         * lib/c-xasprintf.c: New file.
19596         * lib/c-xvasprintf.c: New file.
19597         * lib/c-xvasprintf.h: New file.
19598         * tests/test-c-xvasprintf.c: New file.
19599         * tests/test-c-xvasprintf.sh: New file.
19601 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
19603         argp: better 'inline'
19604         Use extern-inline module to declare extern inline functions.
19605         This avoids some bogus warning diagnostics.  Problem discovered
19606         when modifying GNU tar to use the manywarnings module.
19607         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
19608         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
19609         Define based on extern-inline.
19610         * modules/argp (Depends-on): Add extern-inline.
19612 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
19614         filemode, sys_stat: Handle MPX files a la AIX.
19615         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
19616         * lib/sys_stat.in.h (S_ISMPX): New macro.
19617         * tests/test-sys_stat.c: Add tests for MPX files.
19619 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
19621         x-to-1: honor $PERL
19622         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
19623         a chance to use his preferred version of Perl.  This is typically
19624         required by Darwin users whose default /usr/bin/perl does not have all
19625         the libraries required by help2man, and who need to use their MacPorts
19626         installation of Perl instead.
19628 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
19630         gnu-web-doc-update: add all the new files, even in new directories
19631         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
19632         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
19633         Use it.
19634         (main): Don't use cvsutils to get the list of unknown files,
19635         just add all the existing files and directories.
19637 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
19639         gnu-web-doc-update: improve --help
19640         * build-aux/gnu-web-doc-update: Move comments into --help.
19642 2012-12-07  Eric Wong  <normalperson@yhbt.net>
19644         mountlist: recognize more "dummy" file systems
19645         * lib/mountlist.c (ME_DUMMY_0):
19646         Add these dummy FS names to the list:
19647         - "debugfs" virtual filesystem for kernel debugging
19648         - "devpts" PTY slave filesystem
19649         - "devtmpfs" device filesystem on top of tmpfs/ramfs
19650         - "fusectl" control filesystem for FUSE
19651         - "mqueue" enumerates POSIX message queues
19652         - "rpc_pipefs" kernel <-> userspace bridge for NFS
19653         - "sysfs" is for exporting kernel objects
19654         - "devfs" device filesystem for Linux 2.4 and FreeBSD
19656 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
19658         extern-inline: avoid incompatibility with Darwin Libc
19659         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
19660         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
19661         Problem reported by Akim Demaille in
19662         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
19664 2012-12-11  Simon Josefsson  <simon@josefsson.org>
19666         gnupload: Work with GnuPG using gpg-agent (for smartcards).
19667         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
19668         let it handle password prompting.
19670 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
19672         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
19673         * lib/canonicalize.c (canonicalize_filename_mode):
19674         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
19675         fetching the current directory.  Don't overrun the beginning of
19676         rpath if there's no slashes after the MS-Windows drive letter.
19678 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
19680         maint.mk: avoid extra forks
19681         * top/maint.mk (_cfg_mk): The GNU make manual documents that
19682         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
19683         So use that instead of "$(shell test -f FILE && echo FILE)".
19685 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
19687         vasnprintf: fix ASCII_ONLY typo
19688         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19689         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19690         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19691         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
19692         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
19694 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
19696         list, oset, xlist, xoset: fix extern inline issue with C99
19697         This was introduced by my recent changes for 'inline'.
19698         Problem reported for gettext by Daiki Ueno in
19699         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
19700         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
19701         (gl_list_nx_create, gl_list_size, gl_list_node_value)
19702         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
19703         (gl_list_previous_node, gl_list_get_at)
19704         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
19705         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
19706         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
19707         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
19708         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
19709         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
19710         (gl_list_iterator_free, gl_sortedlist_search)
19711         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
19712         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
19713         (gl_sortedlist_remove):
19714         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
19715         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
19716         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
19717         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
19718         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
19719         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
19720         (gl_list_add_at, gl_sortedlist_add):
19721         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
19722         Wrap these extern decls inside "#if 0", because they are implemented
19723         as inline functions, and extern inline is not what's wanted here.
19724         It would simplify these .h files to remove the extern decls entirely,
19725         although a downside would be less-clear separation between
19726         specification and implementation.
19728 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
19730         sys_stat: no 'static inline'
19731         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
19732         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
19734         extern-inline: no 'static inline'
19735         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
19736         Do not require AC_C_INLINE.
19737         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
19738         'static inline', for older compilers.
19740         snippet/warn-on-use: no 'static inline'
19741         * build-aux/snippet/warn-on-use.h:
19742         Remove unnecessary 'inline' in comment.
19744         rbtree-list, rbtreehash-list: no 'static inline'
19745         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
19746         * lib/gl_anytree_list2.h (node_at):
19747         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
19748         (gl_oset_first, add_nodes_to_buckets):
19749         Now static, not static inline.
19751         regex: no 'static inline'
19752         * lib/regex_internal.c (calc_state_hash):
19753         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
19754         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
19755         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
19756         Now static, not static inline.
19757         (inline) [__GNUC__ < 3 && _LIBC]:
19758         Remove macro; no longer needed.
19760         xvasprintf: no 'static inline'
19761         * lib/xvasprintf.c (xstrcat):
19762         Now static, not static inline.
19763         * m4/xvasprintf.m4 (gl_XVASPRINTF):
19764         Do not require AC_C_INLINE.
19766         parse-datetime, parse-duration: no 'static inline'
19767         * lib/parse-datetime.y (to_uchar):
19768         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
19769         (scale_n_add):
19770         Now static, not static inline.
19771         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
19772         * modules/parse-duration (configure.ac):
19773         Do not require AC_C_INLINE.
19775         getaddrinfo: no 'static inline'
19776         * lib/getaddrinfo.c (validate_family):
19777         Now static, not static inline.
19778         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
19779         Do not require AC_C_INLINE.
19781         ftruncate, fts, lstat, openat, raise: no 'static inline'
19782         * lib/ftruncate.c (chsize_nothrow):
19783         * lib/fts.c (opendirat, diropen):
19784         * lib/lstat.c (orig_lstat):
19785         * lib/openat.c (orig_openat):
19786         * lib/raise.c (raise_nothrow):
19787         Now static, not static inline.
19788         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
19789         * m4/fts.m4 (gl_FUNC_FTS_CORE):
19790         * m4/lstat.m4 (gl_PREREQ_LSTAT):
19791         * m4/openat.m4 (gl_PREREQ_OPENAT):
19792         * m4/raise.m4 (gl_PREREQ_RAISE):
19793         Do not require AC_C_INLINE.
19795         fflush, stat: no 'static inline'
19796         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19797         (clear_ungetc_buffer, disable_seek_optimization)
19798         (restore_seek_optimization, update_fpos_cache):
19799         * lib/stat.c (orig_stat):
19800         Now static, not static inline.
19801         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
19802         (update_fpos_cache):
19803         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
19804         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
19805         * m4/stat.m4 (gl_PREREQ_STAT):
19806         Do not require AC_C_INLINE.
19808         error, filevercmp: no 'static inline'
19809         * lib/error.c (is_open, flush_stdout):
19810         * lib/filevercmp.c (order):
19811         Now static, not static inline.
19812         * m4/error.m4 (gl_PREREQ_ERROR):
19813         * modules/filevercmp (configure.ac):
19814         Do not require AC_C_INLINE.
19816         dup, execute, fatal-signal, etc.: no 'static inline'
19817         * lib/dup.c (dup_nothrow):
19818         * lib/execute.c (nonintr_close, nonintr_open):
19819         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
19820         * lib/fopen.c (orig_fopen):
19821         * lib/freadseek.c (freadptrinc):
19822         * lib/freopen.c (orig_freopen):
19823         * lib/fstat.c (orig_fstat, fstat_nothrow):
19824         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
19825         (get_rusage_as_via_iterator):
19826         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
19827         * lib/getdtablesize.c (_setmaxstdio_nothrow):
19828         * lib/isatty.c (_isatty_nothrow):
19829         * lib/open.c (orig_open):
19830         * lib/read.c (read_nothrow):
19831         * lib/sigprocmask.c (signal_nothrow):
19832         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
19833         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
19834         * lib/wait-process.c (unregister_slave_subprocess):
19835         * lib/write.c (write_nothrow):
19836         Now static, not static inline.
19837         * lib/spawn-pipe.c (nonintr_open): Define only if
19838         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
19839         * m4/dup.m4 (gl_PREREQ_DUP):
19840         * m4/execute.m4 (gl_EXECUTE):
19841         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
19842         * m4/fopen.m4 (gl_PREREQ_FOPEN):
19843         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
19844         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
19845         * m4/fstat.m4 (gl_PREREQ_FSTAT):
19846         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
19847         * m4/isatty.m4 (gl_PREREQ_ISATTY):
19848         * m4/open.m4 (gl_PREREQ_OPEN):
19849         * m4/read.m4 (gl_PREREQ_READ):
19850         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
19851         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
19852         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
19853         * m4/wait-process.m4 (gl_WAIT_PROCESS):
19854         * m4/write.m4 (gl_PREREQ_WRITE):
19855         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
19856         Do not require AC_C_INLINE.
19858         c-strtod, memcoll, readutmp: no 'static inline'
19859         * lib/c-strtod.c (c_locale):
19860         * lib/memcoll.c (strcoll_loop):
19861         * lib/readutmp.c (desirable_utmp_entry):
19862         Now static, not static inline.
19863         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
19864         * m4/memcoll.m4 (gl_MEMCOLL):
19865         * m4/readutmp.m4 (gl_READUTMP):
19866         Do not require AC_C_INLINE.
19868         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
19869         * lib/arctwo.c (to_uchar):
19870         * lib/md4.c (set_uint32):
19871         * lib/md5.c (set_uint32):
19872         * lib/sha1.c (set_uint32):
19873         * lib/sha256.c (set_uint32):
19874         * lib/sha512.c (set_uint64):
19875         Now static, not static inline.  This is a bit simpler, and doesn't
19876         affect performance with GCC and default optimization.
19877         * m4/arctwo.m4 (gl_ARCTWO):
19878         * m4/md4.m4 (gl_MD4):
19879         * m4/md5.m4 (gl_MD5):
19880         * m4/sha1.m4 (gl_SHA1):
19881         * m4/sha256.m4 (gl_SHA256):
19882         * m4/sha512.m4 (gl_SHA512):
19883         Do not require AC_C_INLINE.
19885         cond, lock, thread: better 'inline'
19886         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
19887         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
19888         New macros.  Use them instead of static inline, for header functions.
19889         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
19890         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
19891         * lib/glthread/lock.c (gl_waitqueue_init)
19892         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
19893         * lib/glthread/thread.c (get_current_thread_handle):
19894         Change 'static inline' to 'inline'.
19895         * lib/glthread/cond.h, lib/glthread/thread.h:
19896         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19897         * m4/cond.m4 (gl_COND):
19898         * m4/lock.m4 (gl_PREREQ_LOCK):
19899         * m4/thread.m4 (gl_THREAD):
19900         Do not require AC_C_INLINE.
19901         * modules/cond, modules/thread (Depends-on): Add extern-inline.
19903         chdir-long, cycle-check, savewd: better 'inline'
19904         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
19905         (find_non_slash):
19906         * lib/cycle-check.c (is_zero_or_power_of_two):
19907         * lib/savewd.c (savewd_delegating):
19908         Change 'static inline' to 'inline'.
19909         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
19910         Replace all remaining uses of 'static inline' with it.
19911         * lib/savewd.h:
19912         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19913         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
19914         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
19915         * m4/savewd.m4 (gl_SAVEWD):
19916         Do not require AC_C_INLINE.
19917         * modules/savewd (Depends-on): Add extern-inline.
19919         base32, base64: no need for 'inline'
19920         * lib/base32.c (to_uchar, get_8, decode_8):
19921         * lib/base64.c (to_uchar, get_4, decode_4):
19922         Change 'static inline' to 'inline'.
19923         * m4/base32.m4 (gl_PREREQ_BASE32):
19924         * m4/base64.m4 (gl_PREREQ_BASE64):
19925         Do not require AC_C_INLINE.
19927         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
19928         * lib/gl_array_oset.c (gl_array_nx_add_at):
19929         (gl_array_remove_at):
19930         * lib/gl_linkedhash_list.c (hash_resize_after_add)
19931         (add_to_bucket, remove_from_bucket):
19932         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
19933         Change 'static inline' to 'static', as it's simpler to omit
19934         'inline' unless there's a significant performance advantage.
19936         list, oset, xlist, xoset, xsublist: simplify via extern inline
19937         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
19938         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
19939         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
19940         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
19941         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
19942         New macro.  Replace all uses of 'static inline' with it.
19943         [HAVE_INLINE]: Implement functions as *_INLINE functions,
19944         instead of as macros FOO that are defined to static inline
19945         functions FOO_inline.
19946         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
19947         * lib/gl_xsublist.c:
19948         Reimplement from scratch, by defining the corresponding *_INLINE
19949         macro and including the corresponding .h file.  This is simpler.
19950         * modules/list, modules/oset, modules/xlist, modules/xoset:
19951         (Files): Remove m4/gl_list.m4.
19952         (configure.ac): Remove gl_LIST.
19953         * m4/gl_list.m4: Remove.
19954         * modules/list, modules/oset, modules/xlist, modules/xoset:
19955         * modules/xsublist:
19956         (Depends-on): Depend on extern-inline, not inline.
19958         xalloc: better 'inline'
19959         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
19960         New macro.  Replace all uses of 'static inline' with it.
19961         (static_inline): Remove.
19962         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
19963         Let 'extern inline' do the work automatically, instead of doing
19964         it by hand.
19965         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
19966         Remove.  All uses removed.
19967         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
19969         gethrxtime: better 'inline'
19970         * lib/xtime.c: New file.
19971         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
19972         * lib/xtime.h (XTIME_INCLUDE):
19973         New macros.  Replace all uses of 'static inline' with them.
19974         * lib/gethrxtime.c (gethrxtime): Define only if
19975         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
19976         this source file is now always compiled, because of the extern inline.
19977         * lib/gethrxtime.h, lib/xtime.h:
19978         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19979         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
19980         if gethrtime works, as they're not needed in that case.
19981         (gl_XTIME): Do not require AC_C_INLINE.
19982         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
19983         compiled now.  Move the check into gl_GETHRXTIME.
19984         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
19985         (Depends-on): Add extern-inline.
19986         (configure.ac): gethrxtime is always compiled now.
19987         (lib_SOURCES): Add gethrxtime.c.
19989         wctype-h: better 'inline'
19990         * lib/wctype-h.c: New file.
19991         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
19992         New macro.  Replace all uses of 'static inline' with it.
19993         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19994         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
19995         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
19996         (Depends-on): Add extern-inline.
19998         unistd: better 'inline'
19999         * lib/unistd.c: New file.
20000         * lib/unistd.in.h (_GL_UNISTD_INLINE):
20001         New macro.  Replace all uses of 'static inline' with it.
20002         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20003         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
20004         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
20005         (Depends-on): Add extern-inline.
20007         sys_socket: better 'inline'
20008         * lib/sys_socket.c: New file.
20009         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
20010         New macro.  Replace all uses of 'static inline' with it.
20011         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20012         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
20013         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
20014         (Depends-on): Add extern-inline.
20016         stdio: better 'inline'
20017         * lib/stdio.c: New file.
20018         * lib/stdio.in.h (_GL_STDIO_INLINE):
20019         New macro.  Replace all uses of 'static inline' with it.
20020         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20021         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
20022         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
20023         (Depends-on): Add extern-inline.
20025         sigaction: better 'inline'
20026         * lib/sig-handler.c: New file.
20027         * lib/sig-handler.h (SIG_HANDLER_INLINE):
20028         New macro.  Replace all uses of 'static inline' with it.
20029         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20030         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
20031         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
20032         (Depends-on): Add extern-inline.
20034         selinux-h: better 'inline'
20035         * lib/se-context.c, lib/se-selinux.c: New files.
20036         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
20037         * lib/se-context.in.h (SE_CONTEXT_INLINE):
20038         New macro.  Replace all uses of 'static inline' with it.
20039         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20040         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
20041         New macro.  Replace all uses of 'static inline' with it.
20042         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20043         * modules/selinux-h (Files, lib_SOURCES):
20044         Add lib/se-context.c, lib/se-selinux.c.
20045         (Depends-on): Add extern-inline.
20046         (configure.ac): Do not require AC_C_INLINE.
20048         pthread: better 'inline'
20049         * lib/pthread.c: New file.
20050         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
20051         New macro.  Replace all uses of 'static inline' with it.
20052         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20053         * m4/pthread.m4 (gl_PTHREAD_CHECK):
20054         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
20055         * modules/pthread (Files): Add lib/pthread.c.
20056         (Depends-on): Add extern-inline.
20058         math: better 'inline'
20059         * lib/math.c: New file.
20060         * lib/math.in.h (_GL_MATH_INLINE):
20061         New macro.  Replace all uses of 'static inline' with it.
20062         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20063         * m4/math_h.m4 (gl_MATH_H):
20064         Do not require AC_C_INLINE.
20065         * modules/math (Files, lib_SOURCES):
20066         Add lib/math.c.
20067         (Depends-on): Add extern-inline.
20069         count-one-bits: better 'inline'
20070         * lib/count-one-bits.c: New file.
20071         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
20072         New macro.  Replace all uses of 'static inline' with it.
20073         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20074         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
20075         Do not require AC_C_INLINE.
20076         * modules/count-one-bits (Files, lib_SOURCES):
20077         Add lib/count-one-bits.c.
20078         (Depends-on): Add extern-inline.
20080         count-leading-zeros: better 'inline'
20081         * lib/count-leading-zeros.c: New file.
20082         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
20083         New macro.  Replace all uses of 'static inline' with it.
20084         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20085         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
20086         Do not require AC_C_INLINE.
20087         * modules/count-leading-zeros (Files, lib_SOURCES):
20088         Add lib/count-leading-zeros.c.
20089         (Depends-on): Add extern-inline.
20091         bitrotate: better 'inline'
20092         * lib/bitrotate.c: New file.
20093         * lib/bitrotate.h (BITROTATE_INLINE):
20094         New macros.
20095         Replace all uses of 'static inline' with them.
20096         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20097         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
20098         (Depends-on): Add extern-inline.
20099         (configure.ac): Do not require AC_C_INLINE.
20101 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
20103         maint.mk: avoid gratuitous failure
20104         Reported by Stefano Lattarini in
20105         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
20106         * top/maint.mk (public-submodule-commit): Quote more safely.
20108 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
20110         canonicalize, canonicalize-lgpl: support MS-Windows file names
20111         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
20112         for test cases, which it'd be nice to add at some point.
20113         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
20114         * lib/canonicalize.c (canonicalize_filename_mode):
20115         * lib/canonicalize-lgpl.c (__realpath):
20116         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
20117         slash is at the beginning of the file name.  Use ISSLASH, instead
20118         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
20119         the first character with '/'.  Test for
20120         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
20121         with a drive letter.
20122         * lib/canonicalize.c (SLASHES): New macro.
20123         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
20125 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
20127         fts: introduce FTS_VERBATIM
20128         * lib/fts_.h (FTS_VERBATIM): New bit flag.
20129         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
20130         * lib/fts.c (fts_open): Honor it.
20132 2012-11-09  Pádraig Brady  <P@draigBrady.com>
20134         getlogin-tests: allow errno == ENXIO
20135         * tests/test-getlogin.c (main): Skip tests if getlogin fails
20136         with errno == ENXIO (No controlling tty).
20137         getlogin_r-tests: Likewise. Also allow errno == ENOENT
20138         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
20139         with errno == ENOENT.  This was reported to happen in various
20140         situations on GNU/Linux.
20142 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
20144         getlogin-tests: allow errno == ENOENT
20145         * tests/test-getlogin.c (main): Skip tests if getlogin fails
20146         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
20147         when running a test in an Emacs shell buffer.
20149 2012-11-08  Jim Meyering  <jim@meyering.net>
20151         tests/nap.h: avoid warning about unused variable
20152         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
20154         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
20155         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
20156         white space before each of the special-cased file names, to avoid
20157         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
20158         in http://bugs.gnu.org/12830.
20160 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
20162         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
20163         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
20164         fails with errno == EBADF when fd is opened with O_PATH.
20165         Reported by Jim Meyering in
20166         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
20167         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
20168         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
20170 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
20172         test-utimens: speed up by taking shorter naps
20173         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
20174         New functions.
20175         (nap): Use them, to do a better job of guessing the delay.
20176         On Fedora 17 with ext4 atop md atop hard disks, this made
20177         test-utimens run 10x faster, because the test napped for
20178         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
20179         <http://bugs.gnu.org/12820#11>.
20181 2012-11-07  Jim Meyering  <jim@meyering.net>
20183         mountlist.c: fix a compilation failure
20184         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
20185         I introduced while transforming commit v0.0-7683-g613bcb6
20187 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
20189         errno: port to LynxOS 178 2.2.2
20190         Problem reported by Joel Brobecker in
20191         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
20192         * doc/posix-headers/errno.texi (errno.h): Document this.
20193         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
20194         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
20195         Supply a string for EILSEQ.
20196         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
20198 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
20200         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
20201         Linux kernel 2.6.39 introduced O_PATH (see
20202         <http://lwn.net/Articles/433854/>) and this is a better fallback
20203         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
20204         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
20205         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
20206         * lib/fcntl.in.h (O_ACCMODE):
20207         * tests/test-fcntl-h.c (main):
20208         Do not reject O_ACCMODE merely because it has more than the
20209         minimal number of bits, as POSIX allows extensions here.
20211 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
20213         mountlist: do not classify a bind-mounted dir entry as "dummy"
20214         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
20215         the "none"-testing clause.
20216         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
20217         exception for bind-mounted directories.
20219 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
20221         quote: provide a means to escape strings with nul characters
20222         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
20223         (quote, quote_n): Rename formal arguments for consistency with
20224         quotearg.
20226 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
20228         test-raise: don't assume 199 is an invalid signal
20229         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
20231         sh-quote-tests: port to Solaris 9
20232         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
20233         Problem reported by Dagobert Michelsen in
20234         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
20236 2012-10-28  Jim Meyering  <jim@meyering.net>
20238         maint.mk: rename a new configurable variable
20239         * top/maint.mk (_gl_translatable_string_re): Rename from
20240         translation-markers: _gl_ prefix to insulate from user Makefile code,
20241         and the _re suffix to inform that it's a regular expression.
20243 2012-10-26  Eric Blake  <eblake@redhat.com>
20245         maint.mk: let packages tweak sc_po_check pattern
20246         * top/maint.mk (sc_po_check): Add translation-markers, to allow
20247         finding files with other translation markers.
20249 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
20251         euidaccess: speed up 'configure' on GNU hosts
20252         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
20253         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
20254         it's needed only in this case.  Use AC_CHECK_DECLS, not
20255         AC_CHECK_DECLS_ONCE.
20256         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
20257         or AC_REQUIRE for AC_FUNC_GETGROUPS.
20259         * lib/regexec.c (re_search_internal): Fix grammar in comment.
20261 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
20263         fchmodat, fchownat, fstatat: port to non-inlining compilers
20264         Problem reported for FreeBSD 9 by Jim Meyering in
20265         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
20266         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
20267         New files, which define FCHMODAT_INLINE etc.
20268         * lib/fchmodat.c (FCHMODAT_INLINE):
20269         * lib/fchownat.c (FCHOWNAT_INLINE):
20270         * lib/fstatat.c (FSTATAT_INLINE):
20271         Remove, as chmodat.c etc. now do this.
20272         * modules/fchmodat (Files): Add lib/chmodat.c.
20273         * modules/fchownat (Files): Add lib/chownat.c.
20274         * modules/fstatat (Files): Add lib/statat.c.
20276 2012-10-15  Jim Meyering  <jim@meyering.net>
20278         fchmodat.c, fchownat.c: compile-impeding typos
20279         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
20280         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
20281         Introduced in commit v0.0-7636-gd202279.
20283 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
20285         fcntl-h: support GNU flags like O_IGNORE_CTTY
20286         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
20287         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
20288         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
20289         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
20290         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
20291         Define to 0 if not already defined.
20292         * tests/test-fcntl-h.c: Test these new flags.
20294 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
20296         faccessat, etc.: support AT_FDCWD-only use
20297         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
20298         this function only if its first argument is AT_FDCWD.
20299         Emacs wants faccessat for AT_EACCESS but not for any first-arg
20300         values other than AT_FDCWD, so it doesn't want all the openat
20301         machinery with fchdir etc.
20302         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
20303         * modules/fstatat, modules/mkdirat, modules/openat (Files):
20304         * modules/unlinkat (Files):
20305         Remove lib/openat-priv.h, as at-internal supplies this file.
20306         Removing this file here allows us to support programs like Emacs
20307         that avoid at-internal.
20309         faccessat: speed up 'configure' on mainstream hosts
20310         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
20311         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
20312         since it's only on unusual platforms that we need to check for
20313         'access', and it's better not to slow 'configure' down on all
20314         platforms.
20316         faccessat: port to Solaris 10
20317         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
20318         Needed on Solaris 10, which doesn't have AT_EACCESS,
20319         so we need the Gnulib fcntl.h, which defines it.
20321 2012-10-14  Pádraig Brady  <P@draigBrady.com>
20322         canonicalize: fix C89 compilation
20323         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
20324         declarations so C89 is supported.  Also remove the comment
20325         referencing memorty allocation as the suggested feature could
20326         not be implemented as suggested.
20327         Reported by Michael Goffioul.
20329 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
20331         group-member: omit unnecessary dependencies
20332         This is for Emacs, which has its own allocator and where we
20333         don't want to use xalloc.
20334         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
20335         since we no longer use xmalloc.  Do not include stdbool.h, since
20336         the changes below happen to remove the only use of bool.
20337         (GROUPBUF_SIZE): New constant.
20338         (struct group_info): Remove n_groups member.  Add groupbuf member.
20339         This lets us get the groups without using malloc, usually.
20340         (free_group_info, get_group_info): Adjust to this.
20341         (get_group_info): Return the number of groups found, or -1 on error.
20342         Use plain malloc not xmalloc, and treat its failure as if there
20343         are no groups, as the user already loses in case of error.
20344         (group_member): Simplify, based on changes to get_group_info.
20345         * modules/group-member (Depends-on): Remove dependencies on
20346         xalloc and stdbool.  Add dependency on xalloc-oversized.
20348 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
20350         gethrxtime: port to C++
20351         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
20353 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
20355         ptsname: fix macro-name typo
20356         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
20358 2012-10-03  Simon Josefsson  <simon@josefsson.org>
20360         inttostr: Relax license.
20361         * modules/inttostr (License): Change from LGPL to LGPLv2+.
20363 2012-10-03  Eric Blake  <eblake@redhat.com>
20365         ptsname_r: support ptys returned by FreeBSD posix_openpt
20366         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
20367         lives in /dev/pts/.
20369 2012-10-02  Eric Blake  <eblake@redhat.com>
20371         pselect: reject invalid file descriptors
20372         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
20373         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
20374         * modules/pselect (Depends-on): Add dup2.
20375         * doc/posix-functions/pselect.texi (pselect): Document this.
20377         select: reject invalid file descriptors
20378         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
20379         * lib/select.c (rpl_select) [!win32]: Work around it.
20380         * modules/select (Depends-on): Add dup2.
20381         * doc/posix-functions/select.texi (select): Document this.
20383         select: enhance test
20384         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
20385         New functions.
20386         (test_function): Enhance test.
20387         (do_select_bad_fd): Avoid any stale errno values.
20389         ptsname: reject invalid file descriptors
20390         http://www.austingroupbugs.net/view.php?id=503
20391         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
20392         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
20393         * modules/stdlib (Makefile.am): Replace witness.
20394         * lib/stdlib.in.h (ptsname): Allow for replacement.
20395         * modules/ptsname (configure.ac): Trigger replacement.
20396         * doc/posix-functions/ptsname.texi (ptsname): Document this.
20398 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
20400         hash-pjw-bare: new module
20401         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
20402         * lib/hash-pjw-bare.h: Likewise.
20403         * modules/hash-pjw-bare: New file.
20404         * MODULES.html.sh (Misc): Add it.
20406 2012-10-02  Eric Blake  <eblake@redhat.com>
20408         manywarnings: cater to more gcc infelicities
20409         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
20410         -Wuninitialized without -O.
20412 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
20414         select, poll tests: Make setsockopt invocation effective.
20415         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
20416         the bind() call.
20417         * tests/test-select.h (open_server_socket): Likewise.
20419 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
20421         sockets, sys_stat: restore AC_C_INLINE
20422         This undoes the 2012-09-22 patch.
20423         * m4/sockets.m4 (gl_SOCKETS):
20424         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
20425         Restore AC_C_INLINE, since MSVC requires __inline or _inline
20426         and does not support plain 'inline'.  Reported by Bruno Haible in
20427         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
20429 2012-09-30  Bruno Haible  <bruno@clisp.org>
20431         localeconv tests: Avoid test failure on OpenIndiana.
20432         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
20433         skip the 'grouping' and 'mon_grouping' tests.
20434         Reported by Jim Meyering.
20436 2012-09-30  Bruno Haible  <bruno@clisp.org>
20438         havelib: Follow libtool developments.
20439         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
20440         Suggested by Simon Josefsson.
20442 2012-09-29  Jim Meyering  <meyering@redhat.com>
20444         fstatat.c: fix a compile-impeding typo
20445         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
20446         Introduced in commit v0.0-7636-gd202279.
20447         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
20449 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
20451         extern-inline: provide a -Wundef safe config.h
20452         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
20453         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
20454         to produce a -Wundef warning free config.h.
20456 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
20458         hash-pjw: relax license to LGPLv2+
20459         * modules/hash-pjw (License): Relax, with consent of author.
20461 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
20463         maint.mk: fix strict vs. lazy variable issues with RELEASE
20464         * top/maint.mk (_equal): New function.
20465         (member_check): Strip the result to avoid spurious spaces.
20466         (url_dir_list): Do not use ifeq, which is strict, as it will
20467         require RELEASE_TYPE to be defined.
20468         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
20469         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
20470         (announcement_Cc_alpha,announcement_mail_headers_alpha)
20471         (announcement_Cc_beta,announcement_mail_headers_beta)
20472         (announcement_Cc_stable,announcement_mail_headers_stable): these.
20473         (release): Do not depend on $(release-type), as it forces its
20474         evaluation.  Bounce to it.
20476 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
20478         maint.mk: formatting changes
20479         * top/maint.mk: Indent bodies of if's.
20481 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
20483         maint.mk: factor the validation of RELEASE_TYPE
20484         With help from Jim Meyering.
20485         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
20486         * top/maint.mk (_empty, _sp): Move their definition earlier.
20487         (member-check, release-type): New.
20488         Use the latter instead of $(RELEASE_TYPE).
20489         Remove now useless local checks.
20491 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
20493         maint.mk: provide "make upload" to ease uploading
20494         See
20495         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
20496         Do not depend simply on the current $(VERSION), as there may have been
20497         new commits since the tarball generation.  Rather, rely on $(RELEASE),
20498         as "make release-commit" already does.
20500         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
20501         "make TYPE".
20503         * top/maint.mk (upload_command, upload, release): New.
20504         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
20505         (VERSION): first word of $(RELEASE) is always right.
20506         (emit_upload_commands): Adjust.
20507         * top/README-release: Update.
20509 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
20511         maint.mk: silent rules
20512         With help from Stefano Lattarini.
20513         * top/maint.mk (writable-files): Use $(AM_V_GEN).
20514         (announcement): Use $(AM_V_at).
20516 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
20518         localename: port gl_locale_name_thread_unsafe to FreeBSD
20519         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
20520         and use the simpler FreeBSD implementation on Mac OS X as well.
20521         Original idea suggested by Ed Maste in
20522         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
20524 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
20526         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
20527         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
20528         * lib/mbuiter.c, lib/xsize.c: New files.
20529         * lib/binary-io.h (BINARY_IO_INLINE):
20530         * lib/eealloc.h (EEALLOC_INLINE):
20531         * lib/mbfile.h (MBFILE_INLINE):
20532         * lib/mbiter.h (MBITER_INLINE):
20533         * lib/mbuiter.h (MBUITER_INLINE):
20534         * lib/xsize.h (XSIZE_INLINE):
20535         New macros.
20536         Replace all uses of 'static inline' with them.
20537         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20538         * m4/eealloc.m4 (gl_EEALLOC):
20539         * m4/mbfile.m4 (gl_MBFILE):
20540         * m4/mbiter.m4 (gl_MBITER):
20541         * m4/xsize.m4 (gl_XSIZE):
20542         Do not require AC_C_INLINE.
20543         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
20544         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
20545         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
20546         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
20547         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
20548         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
20549         * modules/binary-io, modules/eealloc, modules/mbfile:
20550         * modules/mbiter, modules/mbuiter:
20551         (Depends-on): Add extern-inline.
20553         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
20554         * lib/pipe-filter-aux.c: New file.
20555         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
20556         Replace all uses of 'static inline' with it.
20557         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20558         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
20559         (filter_retcode): No real need for inline here.
20560         * modules/pipe-filter-gi, modules/pipe-filter-ii:
20561         (Files): Add lib/pipe-filter-aux.c.
20562         (Depends-on): Add extern-inline.
20563         (configure.ac): Do not require AC_C_INLINE.
20564         (lib_SOURCES): Add pipe-filter-aux.c.
20566         fdutimensat: omit unnecessary AC_C_INLINE
20567         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
20569         fchmodat, fchownat, fstatat: use extern-inline
20570         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
20571         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
20572         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
20573         New macros.
20574         * lib/openat.h:
20575         Replace all uses of 'static inline' with them.
20576         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20577         * modules/fchmodat, modules/fchownat, modules/fstatat:
20578         * modules/openat-h:
20579         (Depends-on):
20580         Add extern-inline.
20581         (configure.ac): Remove AC_C_INLINE.
20583         acl, mbchar, priv-set: use extern-inline
20584         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
20585         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
20586         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
20587         New macros.
20588         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
20589         Replace all uses of 'static inline' with it.
20590         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20591         * m4/acl.m4 (gl_FUNC_ACL):
20592         * m4/mbchar.m4 (gl_MBCHAR):
20593         * m4/priv-set.m4 (gl_PRIV_SET):
20594         Remove AC_C_INLINE, since 'inline' is no longer used directly.
20595         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
20596         Add extern-inline.
20598         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
20599         * m4/sockets.m4 (gl_SOCKETS):
20600         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
20601         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
20602         environments where it's already guaranteed to work, so we needn't
20603         check for it at 'configure'-time.
20605         tls-tests: omit unnecessary 'inline'
20606         * tests/test-tls.c (perhaps_yield): No longer inline.
20607         Simplicity and portability trump efficiency in test cases.
20609         utimens-tests: avoid unnecessary 'inline'
20610         * modules/fdutimensat-tests (configure.ac):
20611         * modules/futimens-tests (configure.ac):
20612         * modules/utimens-tests (configure.ac):
20613         * modules/utimensat-tests (configure.ac):
20614         Remove AC_C_INLINE.
20615         * tests/test-utimens-common.h (ctime_compare):
20616         No longer inline.  Simplicity and portability trump efficiency here.
20618         misc: don't limit commentary to inline functions
20619         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
20620         * lib/xalloc-oversized.h, lib/xsize.h:
20621         Contrast macros to functions in general, not just to inline functions,
20622         when the commentary does not apply only to inline functions.
20624 2012-09-20  Jim Meyering  <meyering@redhat.com>
20626         non-recursive-gnulib-prefix-hack: new module
20627         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
20628         the file that originated in Bison.
20629         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
20630         largely copied from a snippet that resided in bison's configure.ac.
20631         * modules/non-recursive-gnulib-prefix-hack: New file.
20632         * MODULES.html.sh (Support for maintaining and releasing projects):
20633         Add it.
20635 2012-09-18  Jim Meyering  <meyering@redhat.com>
20637         maint.mk: generalize _gl_tight_scope for non-recursive make
20638         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
20639         that *.h would describe additional .h files in the directory
20640         specified by $(_gl_TS_dir).  I.e., add this...
20641         (_gl_TS_other_headers): New variable.
20643         maint.mk: exempt trailing blanks found in "binary" files
20644         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
20645         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
20646         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20648 2012-09-17  Jim Meyering  <meyering@redhat.com>
20650         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
20651         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
20652         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
20653         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20655 2012-09-17  Jim Meyering  <meyering@redhat.com>
20657         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
20658         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
20659         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
20660         It is not in the same category as "exit (0)" or "exit (1)", and
20661         besides, I know of no symbolic name for that 77.  Reported by
20662         Richard W.M. Jones in
20663         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20665 2012-09-17  Jim Meyering  <meyering@redhat.com>
20667         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
20668         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
20669         all uses of #define, not just those that start in column 1.
20670         Richard W.M. Jones reported a false positive in
20671         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20673 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
20675         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
20676         * lib/localcharset.c (locale_charset) [DARWIN7]:
20677         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
20678         as these two values are incompatible.  Problem reported by Max Horn.
20679         For more discussion, please see
20680         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
20682         doc: document sticky-EOF issue
20683         * doc/posix-functions/fgetc.texi (fgetc):
20684         * doc/posix-functions/fgets.texi (fgets):
20685         * doc/posix-functions/fread.texi (fread):
20686         * doc/posix-functions/fscanf.texi (fscanf):
20687         * doc/posix-functions/getc.texi (getc):
20688         * doc/posix-functions/getchar.texi (getchar):
20689         * doc/posix-functions/scanf.texi (scanf):
20690         Mention that glibc and default Solaris do not conform to
20691         C99 and POSIX-2001 or later, with respect to how getchar
20692         etc. behave when feof reports nonzero.
20694 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
20696         poll: fix poll(0, NULL, msec)
20697         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
20698         but nfd is 0.  In that case poll should behave like select.
20700 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
20701             Paolo Bonzini  <bonzini@gnu.org>
20703         poll: fix for systems that can't recv() on a non-socket
20704         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
20705         is readable.  In this case POLLHUP will not be supported.
20706         * doc/posix-functions/poll.texi: Document this.
20708 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
20710         poll/select: document portability problems not fixed by Gnulib.
20711         * doc/posix-functions/poll.texi: poll does not work well on
20712         pipes under Windows.  It has the same limitations as select on
20713         BeOS.
20714         * doc/posix-functions/select.texi: select does not work well
20715         on pipes under Windows.
20717 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
20719         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
20720         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
20721         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
20722         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
20724 2012-09-06  Eric Blake  <eblake@redhat.com>
20726         net_if: give more details about the bug being fixed
20727         * doc/posix-headers/net_if.texi: Add clarification.
20729 2012-09-05  Eric Blake  <eblake@redhat.com>
20731         net_if: new module
20732         * modules/net_if: New module, borrowing ideas from netinet_in.
20733         * m4/net_if_h.m4: New file.
20734         * lib/net_if.in.h: Likewise.
20735         * doc/posix-headers/net_if.texi (net/if.h): Document it.
20736         * MODULES.html.sh (lacking POSIX:2008): Likewise.
20737         * tests/test-net_if.c: Make function checks conditional.
20738         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
20740 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
20742         readutmp: fix non-portable UT_PID use
20743         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
20744         Use `UT_PID (u) > 0' as absolute condition.
20746 2012-09-04  Jim Meyering  <meyering@redhat.com>
20748         fts: reduce two or more trailing spaces to just one, usually
20749         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
20750         or more slashes, trim all but the final one.  But if a name consists
20751         solely of two slashes, don't modify it.  If it consists solely of
20752         three or more slashes, strip all but one.
20754         This is part of the solution to a minor problem with rm:
20755         it would print a bogus ELOOP diagnostic when failing to remove
20756         the slash-decorated name of a symlink-to-directory:
20758             $ mkdir d && ln -s d s && env rm -r s/
20759             rm: cannot remove 's': Too many levels of symbolic links
20761         With the change below and a trivial don't-trim-trailing-slashes
20762         adjustment to remove.c, it does this:
20764             $ env rm -r s/
20765             rm: cannot remove 's/': Not a directory
20767         Improved by: Eric Blake
20769         fts: when there is no risk of overlap, use memcpy, not memmove
20770         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
20772 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
20774         stdbool: be more compatible with mixed C/C++ compiles
20775         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
20776         Define to bool, true, false, respectively, as GCC's builtin
20777         stdbool.h does.  Problem reported by Michael Goffioul in
20778         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
20780 2012-08-28  Jim Meyering  <meyering@redhat.com>
20782         revert last change: it was not needed
20783         * tests/test-vc-list-files-git.sh: There's already a test for
20784         a working git, just below.
20786 2012-08-28  Jim Meyering  <meyering@redhat.com>
20788         tests: test-vc-list-files-git.sh: skip if git is not available
20789         * tests/test-vc-list-files-git.sh: Skip this test when git is
20790         not available.
20792 2012-08-26  Bruno Haible  <bruno@clisp.org>
20794         gnulib-tool: Remove no-op option --no-changelog.
20795         * gnulib-tool (func_usage): Don't mention --no-changelog.
20796         (do_changelog): Remove variable.
20797         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20799 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20801         doc: remove fdl-1.2.texi
20802         It is no longer used or maintained, and its use of @acronym
20803         is problematic.  See the thread containing
20804         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
20805         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
20806         * doc/old-licenses/fdl-1.2.texi: Remove.
20808         execinfo: port to FreeBSD
20809         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
20810         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
20811         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
20812         * modules/execinfo (Link): Add $(LIB_EXECINFO).
20814 2012-08-23  Jim Meyering  <meyering@redhat.com>
20816         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
20817         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
20818         to placate gcc's -Wold-style-declaration.
20820 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20822         doc: do not use @acronym
20823         * doc/inet_ntoa.texi (inet_ntoa):
20824         * doc/parse-datetime.texi (Seconds since the Epoch)
20825         (Specifying time zone rules):
20826         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
20827         Don't use @acronym.  Problem reported by John Darlington in
20828         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
20830 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20832         stdnoreturn: port to newer GCCs
20833         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
20834         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
20835         Problem reported by Jim Meyering in
20836         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
20837         Also, rename the 'test' function to a void a clash with the
20838         already-supplied 'main' function; this fixes a bug that incorrectly
20839         rejected GCC 4.7.1's <stdnoreturn.h>.
20840         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
20841         Document GCC problem.
20843 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
20845         pipe-filter: fix comment typo
20846         * lib/pipe-filter.h: Mention correct function.
20848 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
20850         execinfo: new module
20851         This is for Emacs.  Currently, it provides a no-effect stub
20852         on all platforms where it does not already work.
20853         It already works on glibc-based systems, and on Solaris 11.
20854         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
20855         New files.
20856         * doc/glibc-headers/execinfo.texi (execinfo.h):
20857         * MODULES.html.sh (Misc): Document it.
20859 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20861         extern-inline: support old GCC 'inline'
20862         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
20863         if available.  This applies to GCC versions 2.7 through 4.2, or
20864         when newer GCC is using -fgnu89-inline.  The goal is to address
20865         some of the performance issues mentioned by Bruno Haible in
20866         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
20868 2012-08-20  Eric Blake  <eblake@redhat.com>
20870         maint.mk: avoid redundant file name in message
20871         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
20872         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
20873         (sc_makefile_path_separator_check): Remove bogus $(ME).
20875 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
20877         timer-time: fix link order when static linking on glibc
20878         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
20879         _after_ -lrt so that it's significant.
20881 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
20883         timespec: omit unnecessary AC_C_INLINE
20884         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
20886         stat-time: omit unnecessary AC_C_INLINE
20887         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
20888         Do not require AC_C_INLINE.
20890         ignore-value: omit unnecessary AC_C_INLINE
20891         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
20893         sys_select: avoid 'static inline'
20894         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
20896         mktime: avoid 'static inline'
20897         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
20898         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
20900 2012-08-19  Bruno Haible  <bruno@clisp.org>
20902         gnulib-tool: Improve coding style.
20903         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
20904         func_emit_lib_Makefile_am.
20905         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20907 2012-08-19  Bruno Haible  <bruno@clisp.org>
20909         gnulib-tool: Fix indentation.
20910         * gnulib-tool (func_import): Fix indentation.
20912 2012-08-19  Bruno Haible  <bruno@clisp.org>
20914         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
20915         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
20916         on the list of removed files.
20918 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
20920         test-parse-datetime: avoid glibc leap-second glitch
20921         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
20922         with the 2012 rules.  Problem reported by Bruce Dubbs in
20923         <http://bugs.gnu.org/12206>.
20925 2012-08-14  Bruno Haible  <bruno@clisp.org>
20927         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
20928         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
20929         from argument.
20930         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20932 2012-08-14  Eric Blake  <eblake@redhat.com>
20934         ldexp: relax license
20935         * modules/ldexp (License): Trivial relax, since the module only
20936         provides a permissively licensed m4 file.
20938 2012-08-13  Bruno Haible  <bruno@clisp.org>
20940         gnulib-tool: Fix persistence of --witness-c-macro option.
20941         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
20942         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20944 2012-08-11  Eric Blake  <eblake@redhat.com>
20946         count-leading-zeros: use a lookup table on non-gcc compilers
20947         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
20948         alternate implementation, suggested by Jim Meyering.
20950 2012-08-10  Eric Blake  <eblake@redhat.com>
20952         count-leading-zeros: new module
20953         * modules/count-leading-zeros: New module.
20954         * m4/count-leading-zeros.m4: New file.
20955         * lib/count-leading-zeros.h: Likewise.
20956         * modules/count-leading-zeros-tests: New test.
20957         * tests/test-count-leading-zeros.c: New file.
20958         * MODULES.html.sh (Integer arithmetic functions): Document it.
20960 2012-08-07  Simon Josefsson  <simon@josefsson.org>
20961             Jim Meyering  <meyering@redhat.com>
20963         maintainer-makefile: Fix syntax error with dash.
20964         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
20965         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
20967 2012-08-05  Jim Meyering  <meyering@redhat.com>
20969         extern-inline: also ignore -Wmissing-declarations
20970         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
20971         required with gcc-4.8.0-to-be.
20973         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
20974         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
20975         for /error ?([^,]*)/.  This avoids false-positives for strings like
20976         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
20978 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
20980         gnumakefile: better interaction with Automake-NG
20981         * modules/gnumakefile [Makefile.am]: The makefiles generated by
20982         Automake-NG always contain a definition of VPATH, even in non-VPATH
20983         builds (its value being simply '.' in that case).  So, in the
20984         'clean-GNUmakefile' rule, to determine whether running under a
20985         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
20986         '$(VPATH)' expands to the empty string.
20988 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
20990         base64: Use extern C scope in header file, for C++.
20991         * lib/base64.h: Add C++ namespace protection.
20993 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
20995         stat-time, timespec, u64: support naive out-of-dir builds
20996         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
20997         Use '#include "foo.h"', not '#include <foo.h>', when including
20998         one's own interface.  This works better when configuring with
20999         out-of-directory builds, since packages need not add an
21000         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
21002 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
21004         utimens: use extern-inline
21005         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
21006         * lib/utimens.h: Add copyright notice, since this is now large enough
21007         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21008         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
21009         * modules/utimens (Depends-on): Add extern-inline.
21011         u64: use extern-inline
21012         * lib/u64.c: New file.
21013         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21014         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
21015         * modules/u64 (Files): Add lib/u64.c.
21016         (Depends-on): Add extern-inline.
21017         (configure.ac): No need to require AC_C_INLINE, since extern-inline
21018         does that now.
21019         (lib_SOURCES): Add u64.c.
21021         timespec: use extern-inline
21022         * lib/timespec.c: New file.
21023         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21024         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
21025         * modules/timespec (Files): Add lib/timespec.c.
21026         (Depends-on): Add extern-inline.
21027         (lib_SOURCES): Add timespec.c.
21029         stat-time: use extern-inline
21030         * lib/stat-time.c: New file.
21031         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21032         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
21033         * modules/stat-time (Files): Add lib/stat-time.c.
21034         (Depends-on): Add extern-inline.
21035         (lib_SOURCES): Add stat-time.c.
21037         extern-inline: new module
21038         * modules/extern-inline, m4/extern-inline.m4: New files.
21039         This is for better support of 'extern inline' a la ISO C99,
21040         with a portable alternative on compilers that do not support
21041         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
21042         of the Emacs executable, when compiled with debugging disabled,
21043         which is a typical way that Emacs is built while developing.
21045 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
21047         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
21048         * build-aux/do-release-commit-and-tag: Move variable definitions
21049         together.
21050         ($branch): Instead of defaulting to "master", default to the current
21051         branch (as gnu-web-doc-update does).
21052         (help): Display the current values of the option arguments.
21053         * top/maint.mk (release-commit): New.
21054         * top/README-release: Simplify the corresponding step.
21056 2012-07-30  Eric Blake  <eblake@redhat.com>
21058         passfd: fix comment on recvfd
21059         * lib/passfd.c (recvfd): Fix comment.
21060         Reported by Jann Horn <jannhorn@googlemail.com>.
21062 2012-07-30  Jim Meyering  <meyering@redhat.com>
21064         maint.mk: avoid a sub-shell
21065         * top/maint.mk (release-prep): Remove unneeded sub-shell.
21067 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21069         maint.mk: use silent-rules support from Automake
21070         * top/maint.mk (news-check, vc-diff-check, announcement)
21071         (no-submodule-changes, alpha beta stable, release-prep)
21072         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
21074 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21076         maint.mk: provide a web-manual-update target
21077         * top/maint.mk: here.
21078         * top/README-release: Use it to simplify the web manual update step.
21080 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21082         README-release: shorten the circuit to post a news
21083         * top/README-release: Point directly to the news submission form.
21085 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21087         gnu-web-doc-update: fix --help
21088         * build-aux/gnu-web-doc-update: The information "top level" was written
21089         twice.
21091 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21093         maint.mk: absolute VPATH issue
21094         * top/maint.mk (release-prep): Help Git find .git/.
21095         From Jim Meyering.
21097 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
21099         gitlog-to-changelog: fix previous change
21100         * build-aux/gitlog-to-changelog: Fix condition.
21101         Add missing ";".
21103 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
21105         gitlog-to-changelog: don't expect .git to be in $srcdir
21106         Reported by Bruno Haible.
21107         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
21108         * build-aux/gitlog-to-changelog (&git_dir_option): New.
21109         Use it.
21111 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
21113         maint.mk: absolute VPATH build fix
21114         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
21115         $(srcdir) is not a parent of $(builddir).
21117 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
21119         clean-temp: Fix memory leak.
21120         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
21121         'files' members of tmpdir.
21123 2012-07-27  Jim Meyering  <meyering@redhat.com>
21125         maint.mk: new rule: refresh-gnulib-patches
21126         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
21127         Use this rule to refresh them.
21128         * top/maint.mk (refresh-gnulib-patches): New rule.
21130 2012-07-24  Bruno Haible  <bruno@clisp.org>
21132         gnulib-tool: Fix handling of inctests variable.
21133         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
21134         Reported by Nick Bowler <nbowler@elliptictech.com>.
21136 2012-07-22  Bruno Haible  <bruno@clisp.org>
21138         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
21139         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
21140         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
21141         Remove exemption for getpass.h.
21142         Suggested by Eric Blake.
21144 2012-07-20  Eric Blake  <eblake@redhat.com>
21146         verify: document conflict with -Wnested-externs
21147         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
21149         maint.mk: forbid exit(-1)
21150         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
21152 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
21154         fsusage: port back to Solaris
21155         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
21156         error (fsd not declared) on Solaris 10.  Reported privately by
21157         Andrew Borodin.
21159 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
21161         gnu-web-doc-update: fix error messages
21162         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
21164         gnu-web-doc-update: check the requirements.
21165         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
21166         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
21167         * build-aux/bootstrap (find_tool): Comment change.
21169 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
21171         maint.mk: minor simplication.
21172         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
21173         for default values.
21175 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
21177         gitlog-to-changelog: VPATH build issues
21178         If builddir is not a subdirectory of srcdir, running git from it will
21179         fail.
21180         * build-aux/gitlog-to-changelog (--srcdir): New option.
21182 2012-07-15  Bruno Haible  <bruno@clisp.org>
21184         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
21185         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
21186         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
21187         Remove exemption for fpending.h.
21188         Suggested by Eric Blake.
21190 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
21192         pthread_sigmask: fix bug on FreeBSD 9
21193         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
21194         Include string.h.
21195         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
21196         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
21197         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
21198         but pthread_sigmask (1729, NULL, NULL) returns zero.
21199         See <http://bugs.gnu.org/11884>.
21200         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
21201         by inspecting whether the main call changed the old mask.
21203 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
21205         README-release: make it more legible
21206         * top/README-release: Improve typography slightly.
21208 2012-07-15  Jim Meyering  <meyering@redhat.com>
21210         maint: require that each sc_... command start with "@"
21211         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
21212         "make sc_maint" helps us avoid this nit.
21214 2012-07-15  Jim Meyering  <meyering@redhat.com>
21216         maint.mk: add leading "@" to quiet new "make syntax-check" rule
21217         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
21219 2012-07-13  Eric Blake  <eblake@redhat.com>
21221         maint.mk: new syntax check for HAVE_DECL checks
21222         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
21223         * cfg.mk
21224         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
21225         Exempt some false positives.
21226         Based on a report by Karel Zak.
21228         argp: make HAVE_DECL usage consistent
21229         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
21230         macros, not whether they are defined.
21231         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
21232         convention with other declaration checks.
21233         Reported by Karel Zak, with suggestions from Paul Eggert.
21235         stat-time: relax license to LGPLv2+
21236         * modules/stat-time (License): Relax, with consent of all authors.
21238         strndup: fix m4 usage error
21239         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
21240         defined, to either 0 or 1.
21241         Reported by Karel Zak.
21243 2012-07-11  Jim Meyering  <meyering@redhat.com>
21245         maint: enable the sc_avoid_if_before_free syntax-check rule
21246         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
21247         (if_before_free_offenders_): Define.
21248         (if_before_free_basename_re_): Define.
21249         Exempt current files with useless if-before-free.
21251 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
21253         gettext: do not assume '#define ... defined ...' behavior
21254         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
21255         Do not use '#define FOO ... defined BAR ...', as the C standard says
21256         it's not portable to expect that this works after macro expansion.
21257         Problem reported for gzip by Steven M. Schweda in
21258         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
21260 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
21262         getloadavg: clean out old Emacs and Autoconf cruft
21263         See Glenn Morris in <http://bugs.gnu.org/11905>.
21264         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
21265         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
21266         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
21267         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
21269 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
21271         bootstrap: let warn be like tests/init.sh's warn_
21272         Reported by Jim Meyering.
21273         * build-aux/bootstrap (warn): Remove, replaced by...
21274         (warnf_, warn_): these.
21275         Adjust callers.
21276         Shorten messages that no longer fit in 80 columns.
21278 2012-07-09  Bruno Haible  <bruno@clisp.org>
21280         getopt: Simplify after Emacs changed.
21281         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
21282         (gl_GETOPT_IFELSE): Remove macro.
21284 2012-07-09  Jim Meyering  <meyering@redhat.com>
21286         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
21287         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
21289         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
21290         Bugs in both of those conspired to make the
21291         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
21292         _sc_search_regexp's handling of non-empty $in_files would filter
21293         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
21294         choice of in_files value meant there would be no match in most
21295         projects, due to the presence of two or more Makefile.in files.
21296         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
21297         Fix a bug in how a non-empty $$in_files was processed:
21298         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
21299         in spite of the name, it's a regexp, not a list of file names.
21301 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
21303         getloadavg, getopt: fix commentary re configure.in
21304         Autoconf is deprecating the name 'configure.in', so change it to
21305         to the new name 'configure.ac' in a couple of places.
21306         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
21307         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
21308         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
21309         Emacs has renamed it to configure.ac, and it no longer refers
21310         to these macros anyway.
21312         timespec: mark functions with const attributes
21313         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
21314         Mark with _GL_ATTRIBUTE_CONST.
21316 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
21318         canonicalize[-lgpl]: handle "guessing" values when cross-building
21319         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
21320         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
21321         matches "*yes" instead of just "yes".  Regression introduced in commit
21322         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
21324 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
21325             Bruno Haible  <bruno@clisp.org>
21327         canonicalize: make the right guess when cross-compiling to GNU
21328         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
21329         determine whether cross-compiling to glibc systems, so as to
21330         include GNU/Hurd.
21332 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
21334         timespec-sub: avoid duplicate include
21335         * lib/timespec-sub.c: Do not include <config.h> twice.
21336         Reported by Juanma Barranquero.
21338 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
21340         bootstrap: use a more consistent error reporting scheme
21341         * build-aux/bootstrap (warn, die): New.
21342         Use them.
21344 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
21346         sys_time: allow too-wide tv_sec
21347         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
21348         timeval even if tv_sec is wider than time_t.  This allows
21349         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
21350         as without this patch gnulib replaces struct timeval
21351         and OpenBSD futimes therefore has a type mismatch.
21352         * doc/posix-headers/sys_time.texi: Mention this.
21354         pthread: check for both pthread_create and pthread_join
21355         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
21356         alter the check so that it tests for both pthread_create and
21357         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
21358         Suggested by Bruno Haible and Richard Yao in
21359         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
21361         parse-datetime: doc tuneup
21362         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
21363         spacing issues.
21365 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
21367         do-release-commit-and-tag: fix the previous commit
21368         * build-aux/do-release-commit-and-tag: Actually the test was right,
21369         but the comment and the error message were misleading.
21370         Fix comment, and improve error message.
21371         Perform check first, so that NEWS is not modified uselessly.
21373         do-release-commit-and-tag: fix typo
21374         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
21375         _not_ start with a stub.
21377 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
21379         pthread: check for pthread_create, not pthread_join
21380         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
21381         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
21382         pthread_join in libc.  I hope this removes the need for all the
21383         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
21384         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
21386 2012-07-04  Jim Meyering  <meyering@redhat.com>
21388         parse-datetime: fix failure to diagnose invalid input
21389         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
21390         rather than diagnosing the invalid input.  Now it reports this:
21391         date: invalid date '\260'
21392         * lib/parse-datetime.y (to_uchar): Define.
21393         (yylex): Don't sign-extend "other" bytes.
21394         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
21395         Thanks to Bruno Haible for the patch to this file.
21396         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
21397         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
21399 2012-07-03  Jim Meyering  <meyering@redhat.com>
21401         bootstrap: do not require now-removed build-aux/missing
21402         Now that build-aux/missing is, er, missing, bootstrap would
21403         silently fail.
21404         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
21405         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
21406         no longer part of gnulib.
21407         Diagnose the failure.
21409 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21411         alloca: add support for HP NonStop TNS/E native
21412         * lib/alloca.in.h (alloca): Support the new host.
21413         From a suggestion by Joachim Schmitz in
21414         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
21416 2012-07-02  Pádraig Brady  <P@draigBrady.com>
21418         fsusage: remove code not needed on non GNU/Linux systems.
21420         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
21421         Don't include headers no longer needed in this case.
21422         * lib/fsusage.c [STAT_STATVFS &&
21423         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
21424         STAT_STATFS2_FRSIZE to exclude code not used in this case.
21426 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
21428         fsusage: include files needed for glibc 2.6 fallback
21429         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
21430         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
21431         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
21432         Problem reported by Ludovic Courtès in
21433         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
21435         fsusage: avoid needless check on GNU/Linux
21436         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
21437         on GNU/Linux systems, since it can't possibly work.
21439 2012-07-01  Bruno Haible  <bruno@clisp.org>
21441         log: Fix an autoconf >= 2.64 warning.
21442         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
21443         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21445 2012-06-28  Bruno Haible  <bruno@clisp.org>
21447         log10f: Fix possible configuration problem.
21448         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
21449         $LOGF_LIBM.
21450         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21452 2012-06-28  Bruno Haible  <bruno@clisp.org>
21454         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
21455         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
21456         not gl_cv_func_unlink_works.
21457         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21459 2012-06-27  Eric Blake  <eblake@redhat.com>
21461         config: drop scripts that automake says are not independent
21462         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
21463         * build-aux/elisp-comp: Delete.
21464         * build-aux/missing: Likewise.
21465         * build-aux/ylwrap: Likewise.
21466         * modules/elisp-comp: Likewise.
21467         * MODULES.html.sh: Drop mention of elisp-comp.
21468         * NEWS: Mention this.
21470 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
21472         root-uid: new module
21473         This is for portability to Tandem's NonStop Kernel.
21474         * lib/root-uid.h, modules/root-uid: New files.
21475         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
21476         * lib/write-any-file.c, tests/test-sethostname2.c:
21477         Include "root-uid.h".
21478         * lib/euidaccess.c (euidaccess):
21479         * lib/pt_chown.c (main):
21480         * lib/unlinkdir.c (cannot_unlink_dir):
21481         * lib/write-any-file.c (can_write_any_file):
21482         * m4/mknod.m4 (gl_FUNC_MKNOD):
21483         * tests/test-sethostname2.c (geteuid, main):
21484         Don't assume ROOT_UID == 0.
21485         * modules/euidaccess (Depends-on):
21486         * modules/pt_chown (Depends-on):
21487         * modules/sethostname-tests (Depends-on):
21488         * modules/unlinkdir (Depends-on):
21489         * modules/write-any-file (Depends-on):
21490         Add root-uid.
21492         regex: use locale-independent comparison for codeset name
21493         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
21494         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
21495         for codeset name.
21496         * lib/regex_internal.h: Do not include <strings.h>, since we
21497         no longer use strcasecmp.
21498         * modules/regex (Depends-on): Remove strcase.
21500 2012-06-23  Bruno Haible  <bruno@clisp.org>
21502         getopt-posix: No longer guarantee that option processing is resettable.
21503         * doc/posix-functions/getopt.texi: Drop description of problem with
21504         internal state. Fix info about mingw and msvc9.
21505         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
21506         option processing by getopt(). Run three test programs instead of one.
21507         Simplify cross-compilation guess.
21508         * NEWS: Mention the change.
21509         Reported by Rich Felker <dalias@aerifal.cx>.
21511 2012-06-26  Bruno Haible  <bruno@clisp.org>
21513         argp, regex: Ensure strcasecmp gets declared.
21514         * lib/argp-help.c: Include <strings.h>.
21515         * lib/regex_internal.h: Likewise.
21516         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
21518 2012-06-24  Bruno Haible  <bruno@clisp.org>
21520         ptsname_r: Make it consistent with ptsname on AIX.
21521         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
21522         implementation as for OSF/1.
21523         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
21524         a pty master.
21526         ptsname_r: Make it consistent with ptsname on OSF/1.
21527         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
21528         OSF/1.
21530 2012-06-24  Bruno Haible  <bruno@clisp.org>
21532         ttyname_r: Fix result on OSF/1, Solaris.
21533         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
21535 2012-06-24  Bruno Haible  <bruno@clisp.org>
21537         ptsname_r: Add support for Solaris.
21538         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
21539         Solaris.
21541         ptsname_r: Fix test failure on native Windows.
21542         * modules/ptsname_r (Depends-on): Add isatty.
21544         ptsname_r: Fix test failures on IRIX, Solaris.
21545         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
21546         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
21547         accordingly.
21548         * lib/ptsname_r.c: Include <fcntl.h>.
21549         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
21550         set errno if fd is invalid.
21551         * tests/test-isatty.c (main): Update comments.
21553 2012-06-24  Bruno Haible  <bruno@clisp.org>
21555         ptsname test: Extend test.
21556         * tests/test-ptsname.c: Include <errno.h>.
21557         (main): Test behaviour with invalid file descriptor.
21559 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
21561         time: fix obsolete comment
21562         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
21563         reference to HAVE_STRUCT_TIMESPEC in comment.
21565 2012-06-23  Bruno Haible  <bruno@clisp.org>
21567         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
21568         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
21569         does not handle abbreviated long options with equivalent
21570         disambiguations, set gl_replace_getopt to yes.
21571         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
21573 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
21575         time_r: fix typo that always overrode localtime_r decl
21576         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
21577         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
21578         not in a standard include.
21580 2012-06-22  Bruno Haible  <bruno@clisp.org>
21582         Write "Mac OS X" instead of "MacOS X".
21583         * README: Write "Mac OS X" instead of "MacOS X".
21584         * build-aux/bootstrap: Likewise.
21585         * build-aux/install-reloc: Likewise.
21586         * lib/acl-internal.h: Likewise.
21587         * lib/acl_entries.c: Likewise.
21588         * lib/argp-ba.c: Likewise.
21589         * lib/argp-pv.c: Likewise.
21590         * lib/config.charset: Likewise.
21591         * lib/copy-acl.c: Likewise.
21592         * lib/csharpexec.c: Likewise.
21593         * lib/euidaccess.c: Likewise.
21594         * lib/fbufmode.c: Likewise.
21595         * lib/fflush.c: Likewise.
21596         * lib/file-has-acl.c: Likewise.
21597         * lib/filemode.h: Likewise.
21598         * lib/fpurge.c: Likewise.
21599         * lib/freadable.c: Likewise.
21600         * lib/freadahead.c: Likewise.
21601         * lib/freading.c: Likewise.
21602         * lib/freadptr.c: Likewise.
21603         * lib/freadseek.c: Likewise.
21604         * lib/fseeko.c: Likewise.
21605         * lib/fseterr.c: Likewise.
21606         * lib/fsusage.c: Likewise.
21607         * lib/fwritable.c: Likewise.
21608         * lib/fwriting.c: Likewise.
21609         * lib/get-rusage-as.c: Likewise.
21610         * lib/get-rusage-data.c: Likewise.
21611         * lib/getdomainname.c: Likewise.
21612         * lib/idpriv-drop.c: Likewise.
21613         * lib/idpriv-droptemp.c: Likewise.
21614         * lib/localcharset.c: Likewise.
21615         * lib/locale.in.h: Likewise.
21616         * lib/localename.c: Likewise.
21617         * lib/mbsrtowcs-state.c: Likewise.
21618         * lib/nproc.c: Likewise.
21619         * lib/passfd.c: Likewise.
21620         * lib/posix_openpt.c: Likewise.
21621         * lib/printf-parse.c: Likewise.
21622         * lib/progreloc.c: Likewise.
21623         * lib/safe-read.h: Likewise.
21624         * lib/safe-write.h: Likewise.
21625         * lib/sched.in.h: Likewise.
21626         * lib/set-mode-acl.c: Likewise.
21627         * lib/signal.in.h: Likewise.
21628         * lib/stdint.in.h: Likewise.
21629         * lib/stdio-impl.h: Likewise.
21630         * lib/stdlib.in.h: Likewise.
21631         * lib/strtod.c: Likewise.
21632         * lib/sys_select.in.h: Likewise.
21633         * lib/tcgetsid.c: Likewise.
21634         * lib/unistd.in.h: Likewise.
21635         * lib/unlockpt.c: Likewise.
21636         * lib/vasnprintf.c: Likewise.
21637         * lib/vma-iter.c: Likewise.
21638         * lib/wcsrtombs-state.c: Likewise.
21639         * m4/acl.m4: Likewise.
21640         * m4/acosl.m4: Likewise.
21641         * m4/asinl.m4: Likewise.
21642         * m4/atanl.m4: Likewise.
21643         * m4/c-stack.m4: Likewise.
21644         * m4/cosl.m4: Likewise.
21645         * m4/expl.m4: Likewise.
21646         * m4/extensions.m4: Likewise.
21647         * m4/fdatasync.m4: Likewise.
21648         * m4/fmal.m4: Likewise.
21649         * m4/frexp.m4: Likewise.
21650         * m4/frexpf.m4: Likewise.
21651         * m4/frexpl.m4: Likewise.
21652         * m4/fsusage.m4: Likewise.
21653         * m4/getdomainname.m4: Likewise.
21654         * m4/getloadavg.m4: Likewise.
21655         * m4/getopt.m4: Likewise.
21656         * m4/gettext.m4: Likewise.
21657         * m4/gnulib-common.m4: Likewise.
21658         * m4/intdiv0.m4: Likewise.
21659         * m4/intlmacosx.m4: Likewise.
21660         * m4/largefile.m4: Likewise.
21661         * m4/ldexpl.m4: Likewise.
21662         * m4/link-follow.m4: Likewise.
21663         * m4/locale-ar.m4: Likewise.
21664         * m4/locale-fr.m4: Likewise.
21665         * m4/locale-ja.m4: Likewise.
21666         * m4/locale-tr.m4: Likewise.
21667         * m4/locale-zh.m4: Likewise.
21668         * m4/locale_h.m4: Likewise.
21669         * m4/lock.m4: Likewise.
21670         * m4/logl.m4: Likewise.
21671         * m4/mathfunc.m4: Likewise.
21672         * m4/minus-zero.m4: Likewise.
21673         * m4/mktime.m4: Likewise.
21674         * m4/mmap-anon.m4: Likewise.
21675         * m4/multiarch.m4: Likewise.
21676         * m4/nanosleep.m4: Likewise.
21677         * m4/nocrash.m4: Likewise.
21678         * m4/poll.m4: Likewise.
21679         * m4/printf-frexpl.m4: Likewise.
21680         * m4/printf.m4: Likewise.
21681         * m4/signbit.m4: Likewise.
21682         * m4/sinl.m4: Likewise.
21683         * m4/sqrtl.m4: Likewise.
21684         * m4/strerror_r.m4: Likewise.
21685         * m4/tanl.m4: Likewise.
21686         * m4/threadlib.m4: Likewise.
21687         * m4/ttyname_r.m4: Likewise.
21688         * m4/unlink.m4: Likewise.
21689         * m4/visibility.m4: Likewise.
21690         * m4/wcwidth.m4: Likewise.
21691         * tests/minus-zero.h: Likewise.
21692         * tests/test-alloca-opt.c: Likewise.
21693         * tests/test-copy-acl.sh: Likewise.
21694         * tests/test-copy-file.sh: Likewise.
21695         * tests/test-fdatasync.c: Likewise.
21696         * tests/test-file-has-acl.sh: Likewise.
21697         * tests/test-flock.c: Likewise.
21698         * tests/test-fsync.c: Likewise.
21699         * tests/test-localename.c: Likewise.
21700         * tests/test-malloca.c: Likewise.
21701         * tests/test-nonblocking-pipe.h: Likewise.
21702         * tests/test-nonblocking-socket.h: Likewise.
21703         * tests/test-openpty.c: Likewise.
21704         * tests/test-posix_openpt.c: Likewise.
21705         * tests/test-ptsname.c: Likewise.
21706         * tests/test-ptsname_r.c: Likewise.
21707         * tests/test-sameacls.c: Likewise.
21708         * tests/test-select.h: Likewise.
21709         * tests/test-set-mode-acl.sh: Likewise.
21710         * tests/test-snprintf-posix.h: Likewise.
21711         * tests/test-sprintf-posix.h: Likewise.
21712         * tests/test-strtod.c: Likewise.
21713         * tests/test-time.c: Likewise.
21714         * tests/test-vasnprintf-posix.c: Likewise.
21715         * tests/test-vasprintf-posix.c: Likewise.
21716         * doc/acl-resources.txt: Likewise.
21717         * doc/**/*.texi: Likewise.
21718         Reported by Max Horn <max@quendi.de>.
21720 2012-06-22  Bruno Haible  <bruno@clisp.org>
21722         grantpt: Relax requirement regarding invalid file descriptors.
21723         * lib/grantpt.c: Don't include <fcntl.h>.
21724         (grantpt): Don't verify the validity of the file descriptor.
21725         * modules/grantpt (Depends-on): Remove fcntl-h.
21726         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
21727         file descriptors.
21728         * doc/posix-functions/grantpt.texi: Document more platforms on which
21729         grantpt succeeds for invalid file descriptors.
21730         Reported by Rich Felker <dalias@aerifal.cx>.
21732 2012-06-22  Bruno Haible  <bruno@clisp.org>
21734         fbufmode test: Don't test unportable behaviour.
21735         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
21736         (main): Invoke it three times.
21737         Reported by Szabolcs Nagy <nsz@port70.net>
21738         and Rich Felker <dalias@aerifal.cx>.
21740 2012-06-21  Bruno Haible  <bruno@clisp.org>
21742         gnulib-tool: Refactor inctests variable.
21743         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
21744         (func_modules_transitive_closure,
21745         func_modules_transitive_closure_separately,
21746         func_import, func_create_testdir): Update.
21748         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
21749         * gnulib-tool: Accept option --without-tests.
21750         (func_usage): Document --without-tests option. Rearrange.
21751         (inctests): Normalize according to the mode.
21752         * NEWS: Mention the change.
21753         Suggested by Simon Josefsson.
21755 2012-06-21  Bruce Korb  <bkorb@gnu.org>
21757         parse-duration test: Avoid spurious output.
21758         * tests/test-parse-duration.sh: Reindent with leading tabs.
21760 2012-06-21  Jim Meyering  <meyering@redhat.com>
21762         maint: disable the strncpy prohibition
21763         * cfg.mk: Do not prohibit strncpy here.
21765 2012-06-21  Bruno Haible  <bruno@clisp.org>
21767         nonblocking: Avoid compilation error on mingw64.
21768         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
21769         fscanf.
21770         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
21771         * modules/vfscanf (configure.ac): Likewise.
21772         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
21773         definition only if stdio.h has prepared it.
21774         Reported by Daniel P. Berrange <berrange@redhat.com>.
21776 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
21778         gnulib-tool: Use readlink if it is available.
21779         * gnulib-tool (func_readlink): Choose function more appropriately.
21781 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
21783         posixtm-tests: port to buggy compiler
21784         Problem reported by Simon Josefsson in
21785         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
21786         * modules/posixtm-tests (Depends-on): Add stdint.
21787         * tests/test-posixtm.c (struct posixtm_test.t_expected):
21788         Now of type int_least64_t, not int64_t, both because that's
21789         what INT64_C returns and because int_least64_t works even
21790         on 72-bit hosts.
21791         (T): Use INT64_C on constants outside the traditional int range,
21792         to work around compiler bug noted by Simon.
21794         mktime: fix integer overflow in 'configure'-time test
21795         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
21796         after integer overflow.  Problem reported by Rich Felker in
21797         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
21798         Also, don't look for further instances of a bug if we've already
21799         found one instance; this helps 'configure' run faster.
21801 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
21803         tmpfile, clean-temp: Fix invocation of GetVersionEx.
21804         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
21805         GetVersionEx correctly.
21806         * lib/clean-temp.c (supports_delete_on_close): Likewise.
21808 2012-06-20  Bruno Haible  <bruno@clisp.org>
21810         fdopen: Allow implementations that don't reject invalid fd arguments.
21811         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
21812         succeeds.
21813         Reported by Rich Felker <dalias@aerifal.cx>.
21815 2012-06-20  Simon Josefsson  <simon@josefsson.org>
21817         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
21818         bring in LIBINTL.
21820 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
21822         init.sh: do not rely on autoupated PWD
21823         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
21824         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
21825         Although Nelson's bug was not necessarily fixed by this patch,
21826         it seems wise to make the change for safety.
21827         * tests/init.sh (path_prepend_): Do not rely on PWD updating
21828         automagically after 'cd'; this is not reliable on older shells.
21829         (setup_): Fail if we cannot cd to temporary directory.
21831 2012-06-19  Bruno Haible  <bruno@clisp.org>
21833         stat, fstat: Avoid warnings on mingw64.
21834         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
21835         redefining.
21836         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
21837         Reported by Daniel P. Berrange <berrange@redhat.com>.
21839 2012-06-19  Bruno Haible  <bruno@clisp.org>
21841         stdioext: Add support for musl libc.
21843         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
21844         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
21846         * m4/fseterr.m4: New file.
21847         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
21848         function exists.
21849         * modules/fseterr (Files): Add m4/fseterr.m4.
21850         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
21851         __fseterr does not exist.
21852         (Makefile.am): Remove fseterr.c from lib_SOURCES.
21854         * lib/freadable.h: Update comment.
21856         * lib/fwritable.h: Update comment.
21858         * lib/freading.h: Update comment.
21860         * lib/fwriting.h: Update comment.
21862         * m4/freadahead.m4: New file.
21863         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
21864         that function exists.
21865         * modules/freadahead (Files): Add m4/freadahead.m4.
21866         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
21867         __freadahead does not exist.
21868         (Makefile.am): Remove freadahead.c from lib_SOURCES.
21870         * m4/freadptr.m4: New file.
21871         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
21872         function exists.
21873         * modules/freadptr (Files): Add m4/freadptr.m4.
21874         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
21875         __freadptr does not exist.
21876         (Makefile.am): Remove freadptr.c from lib_SOURCES.
21878         * m4/freadseek.m4: New file.
21879         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
21880         exists.
21881         * modules/freadseek (Files): Add m4/freadseek.m4.
21882         (configure.ac): Invoke gl_FUNC_FREADSEEK.
21884         * lib/fpurge.c (fpurge): Update comment.
21886         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
21888 2012-06-19  Bruno Haible  <bruno@clisp.org>
21890         *printf-posix: Put more info into config.log.
21891         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
21892         exit code into config.log.
21894 2012-06-19  Bruno Haible  <bruno@clisp.org>
21896         getopt-gnu: Fix exit code overflow in autoconf test.
21897         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
21898         to keep them below < 128.
21900 2012-06-17  Jim Meyering  <meyering@redhat.com>
21902         maint.mk: fix typo in code to derive GPG key at release time
21903         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
21905 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
21907         regex: avoid warning when pointers are not long
21908         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
21909         and uintptr_t, not long, for portability to hosts where pointers and
21910         long have different sizes.  Issue noted by Daniel P. Berrange in
21911         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
21912         and fix suggested by Bruno Haible in
21913         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
21915 2012-06-17  Bruno Haible  <bruno@clisp.org>
21917         dummy: Relicense into the public domain.
21918         * modules/dummy (License): Set to "public domain".
21919         Suggested by Reuben Thomas.
21921 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
21923         announce-gen: VPATH issues
21924         * build-aux/announce-gen (--srcdir): New option, used to trim the
21925         $srcdir part of the path from $builddir to NEWS.
21926         * top/maint.mk (announcement): Adjust.
21928 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
21930         gnu-web-doc-update: VPATH builds
21931         * build-aux/gnu-web-doc-update (--builddir): New option.
21932         Revamp the handling of options.
21933         Prefer $(...) to `...`.
21934         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
21935         the template, and it is GNU mktemp specific.
21936         Prefer set -e to long series of &&.
21937         Restore the initial git branch, not "master".
21938         Properly initialize submodules (don't rely only on bootstrap).
21939         Do not reconfigure blindly, use config.status.
21940         * top/README-release: Update instructions for gnu-web-doc-update.
21942 2012-06-11  Jim Meyering  <meyering@redhat.com>
21944         maint.mk: revert most of the previous change re "all these"
21945         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
21946         For rationale, see the discussion at
21947         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
21949 2012-06-10  Karl Berry  <karl@gnu.org>
21951         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
21953         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
21955 2012-06-10  Bruce Korb  <bkorb@gnu.org>
21957         parse-duration: Relicense under LGPLv2+.
21958         * modules/parse-duration (License): Change to LGPLv2+.
21960 2012-06-10  Jim Meyering  <meyering@redhat.com>
21962         maint.mk: prohibit common grammar error: "all these"
21963         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
21964         the list of prohibited word sequences.  It should be "all of these".
21965         * lib/tempname.c (__gen_tempname): Fix one of them.
21967 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
21969         do-release-commit-and-tag: support VPATH builds
21970         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
21971         (noteworthy): Defined earlier to factor its value.
21972         (noteworthy_stub): New.
21973         Use it to factor.
21974         (help_version): Split into...
21975         (help, version): these.
21976         Adjust the option processing part.
21977         Support "--option=value" in addition to "--option value".
21978         (builddir): New.
21979         (--builddir): New option.
21980         * top/README-release: Document this.
21981         Reword slightly so that the reader cannot understand that he
21982         has to do these steps before calling do-release-commit-and-tag.
21984 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
21986         readme-release: also require announce-gen and maintainer-makefile
21987         * modules/readme-release (Depends-on): here.
21988         * modules/announce-gen, modules/do-release-commit-and-tag,
21989         modules/gnu-web-doc-update, modules/maintainer-makefile
21990         (Description): Point to readme-release.
21992 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
21994         maint.mk: fix VPATH issues.
21995         * top/maint.mk (news-check): GNU Make understand $< very well.
21996         (release-prep): NEWS is in $(srcdir).
21998 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
22000         readme-release: require the promoted modules.
22001         * modules/readme-release (Depends-on): Add
22002         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
22003         in this text.
22005 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
22006             Bruno Haible  <bruno@clisp.org>
22008         error, strerror-override: Support mingw64 from Fedora 17.
22009         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
22010         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
22011         EINPROGRESS.
22012         * lib/strerror-override.h (strerror_override): Test it.
22013         * lib/strerror-override.c (strerror_override): Likewise.
22014         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
22016 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
22017             Bruno Haible  <bruno@clisp.org>
22019         error, strerror-override: Support mingw64 from Fedora 17.
22020         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
22021         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
22022         * lib/strerror-override.h (strerror_override): Test it.
22023         * lib/strerror-override.c (strerror_override): Likewise.
22025 2012-06-03  Bruno Haible  <bruno@clisp.org>
22027         error, strerror-override: Support new errno values from POSIX:2008.
22028         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
22029         ENOTRECOVERABLE.
22030         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
22031         platforms.
22032         * lib/strerror-override.c (strerror_override): Conditionalize the
22033         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
22034         * lib/strerror-override.h (strerror_override): Declare also if
22035         GNULIB_defined_EOWNERDEAD is defined.
22036         * tests/test-errno.c (e130, e131): New variables.
22037         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
22038         ENOTRECOVERABLE.
22039         Reported by Paolo Bonzini.
22041 2012-05-31  Jim Meyering  <meyering@redhat.com>
22043         savewd: add missing dependency on sys_wait module
22044         * modules/savewd (Depends-on): Add sys_wait, needed at least
22045         for MSVC.  Report and suggested change by Michael Goffioul.
22047 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
22049         system-quote-tests: port to CentOS 5
22050         Problem reported by Tom G. Christensen in
22051         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
22052         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
22054 2012-05-29  Jim Meyering  <meyering@redhat.com>
22056         maint: fix typos in comments and ChangeLog
22057         Culprits identified and fixed mostly automatically using these commands:
22058         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
22059         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
22060         using http://github.com/lyda/misspell-check
22061         * ChangeLog: Fix typos.
22062         * doc/solaris-versions: Likewise.
22063         * lib/regexec.c (re_search_stub): Likewise.
22064         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22066 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
22068         manywarnings: remove duplicate -Wmultichar entry
22069         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
22070         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
22071         so keep the entry marked as documented.
22073 2012-05-27  Karl Berry  <karl@gnu.org>
22075         * config/srclist.txt (mktime.c): remove last libc sync,
22076         perhaps just temporarily.
22078 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
22080         regex: don't assume uint64_t or uint32_t
22081         * lib/regcomp.c (init_word_char): Don't assume that the types
22082         uint64_t and uint32_t exist.  The C standard doesn't guarantee
22083         them, and on some 32-bit compilers there is no uint64_t.
22084         Problem reported by Gianluigi Tiesi in
22085         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
22087 2012-05-25  Jim Meyering  <meyering@redhat.com>
22089         maint.mk: add strncpy-prohibiting syntax-check rule
22090         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
22092 2012-05-24  Jim Meyering  <meyering@redhat.com>
22094         maint.mk: compute $(gpg_key_ID) more portably
22095         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
22096         That use of sed is not portable to some fringe systems.
22097         Reported by Paul Eggert in
22098         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
22100 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
22102         mktime: sync from glibc
22103         * config/srclist.txt: Uncomment mktime.c.
22104         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
22105         First, indent with tabs, since glibc uses tabs and doesn't want to
22106         change and we'd rather be identical to glibc.  Also, two small
22107         coding changes:
22108         (isdst_differ): Use &&, not &, as && is the usual style.
22109         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
22110         for clarity.
22112 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
22114         announce-gen: du -h is more portable than du --human
22115         * build-aux/announce-gen (sizes): Invoke du with -h instead
22116         of --human.  Accept leading white space in its output.
22118 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
22120         announce-gen: Improve diagnostics.
22121         * build-aux/announce-gen: When parsing command line options,
22122         prefer "announce-gen: option --release-type requires an argument"
22123         to "Option release-type requires an argument".
22125 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
22127         maint.mk: gpg_key_ID: use sed more portably
22128         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
22129         the closing brace.
22130         (refresh-po): Fuse two sed invocations into one.
22132 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
22134         gitlog-to-changelog: support the log message format used in Bison.
22135         * build-aux/gitlog-to-changelog: Support --strip-tab and
22136         --strip-cherry-picked.
22138 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
22140         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
22141         the rest of the current time slice to another thread in the current
22142         process. So if the thread that feeds the file decscriptor we're
22143         polling is not in the current process, we get busy-waiting.
22144         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
22145         Patch from Theodore Leblond.
22146         * lib/select.c: Split polling out of the loop that sets the output
22147         fd_sets.  Check for zero result and loop if the wait timeout is
22148         infinite.
22150 2012-05-21  Simon Josefsson  <simon@josefsson.org>
22152         select: Fix build error on IRIX 6.5.
22153         * lib/select.c: Include stddef.h for NULL.
22155 2012-05-21  Simon Josefsson  <simon@josefsson.org>
22157         gc: fix libgcrypt detection on older machines.
22158         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
22159         copyright years because the file has been distributed every year
22160         since it was created.
22162 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
22164         crypto: fix bug in large buffer handling
22165         Problem reported by Serge Belyshev for glibc in
22166         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
22167         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
22168         * lib/md4.c (md4_process_block):
22169         * lib/md5.c (md5_process_block):
22170         * lib/sha1.c (sha1_process_block):
22171         * lib/sha256.c (sha256_process_block):
22172         Don't assume the buffer length is less than 2**32.
22173         * lib/sha512.c (sha512_process_block): Likewise.
22174         Here, the bug is present only in the rare case where the host does
22175         not support uint64_t or where size_t is wider than 64 bits.
22176         Use u64size to work around the problems.
22177         * lib/u64.h (u64size): New macro.
22179 2012-05-15  Pádraig Brady  <P@draigBrady.com>
22181         fsusage: fix block size returned on older Linux 2.6
22183         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
22184         which is available since Linux 2.6.
22185         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
22186         when the member is available so it can be used as a fallback.
22187         * doc/posix-functions/statvfs.texi: Mention the hang issue
22188         on Linux < 2.6.36.
22190 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22192         bootstrap: suppress stderr chatter
22193         * build-aux/bootstrap (insert_sorted_if_absent, main program):
22194         Omit unnecessary chatter to stderr.  The main program chatter
22195         was there only inadvertantly.
22197         bootstrap: .gitignore files created by autopoint, libtool
22198         I ran into this problem when bootstrapping the latest diffutils.
22199         After './bootstrap', 'git status' reported lots of untracked files
22200         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
22201         autopoint and do not need to be version-controlled.
22202         * build-aux/bootstrap: Put into .gitignore the files that
22203         autopoint and libtool create, by keeping track of files that exist
22204         after but not before these programs are run.
22205         (version_controlled_file): Move up.  2nd arg is now full file
22206         name, not base name; this is more convenient.  Put CVS at the end,
22207         as it's now somewhat deprecated.
22209 2012-05-14  Jim Meyering  <meyering@redhat.com>
22211         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
22212         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
22213         definition.  Reported by Bruno Haible.
22215 2012-05-13  Bruno Haible  <bruno@clisp.org>
22216             Paul Eggert  <eggert@cs.ucla.edu>
22218         binary-io: Define set_binary_mode function.
22219         * lib/binary-io.h (set_binary_mode): New function.
22220         (SET_BINARY): Define in terms of set_binary_mode.
22221         * modules/binary-io (configure.ac): Require AC_C_INLINE.
22222         * tests/test-binary-io.c (main): Accept an argument, and test either
22223         set_binary_mode or SET_BINARY depending on the argument.
22224         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
22225         argument. Clean up also t-bin-out0.tmp.
22227 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
22229         bootstrap: take advantage of POSIX shell features
22231         The 'bootstrap' script offered by Gnulib script already uses POSIX
22232         shell features (like $((...)) arithmetic expansions) that are not
22233         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
22234         means that bootstrap must already be run using a proper POSIX shell,
22235         which will thus provide more features, like ${var#pattern} parameter
22236         expansion or inversion of a command exit status with '!'.  We can
22237         thus use these features to improve the clarity and the performances
22238         of the bootstrap script.
22240         Suggested by Eric Blake.
22242         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
22243         of sed/expr plus command substitutions, to save some forks.  While
22244         we are at it, prefer the POSIX $(...) form of command substitution,
22245         rather than the legacy form `...` (since the former is visually
22246         clearer and interacts better with quoting), and prefer the idiom:
22247           "if ! CMD; then ACTION ..."
22248         over the idiom:
22249           "if CMD; then :; else ACTION ..."
22250         which was required by legacy Bourne shells not supporting '!'.
22252 2012-05-12  Bruno Haible  <bruno@clisp.org>
22254         system-quote: Add more comments.
22255         * lib/system-quote.h: Add more comments about wilcards and limitations.
22256         Suggested by Eli Zaretskii <eliz@gnu.org>.
22258         sh-quote, system-quote: Add comments about wildcards.
22259         * lib/sh-quote.h: Clarify what happens with wildcard characters.
22260         * lib/system-quote.h: Likewise.
22261         Reported by Eli Zaretskii <eliz@gnu.org>.
22263 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
22265         fsusage: check for GNU/Linux statvfs problem dynamically
22266         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
22267         Define STAT_STATFS2_BSIZE too, since in this case the code now
22268         checks dynamically whether statvfs is reliable, falling back on
22269         Linux-style statfs otherwise.
22270         (statvfs_works): New function, for dynamically testing statvfs.
22271         (get_fs_usage) [STAT_STATVFS]: Use it.
22272         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
22273         statvfs on GNU/Linux hosts, since it's now done dynamically.
22275 2012-05-10  Bruno Haible  <bruno@clisp.org>
22277         system-quote, execute, spawn-pipe: Escape '?' on Windows.
22278         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
22279         '?' character.
22280         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
22281         * tests/test-system-quote-main.c (check_all): Check also strings like
22282         "??????????".
22283         Reported by Eli Zaretskii <eliz@gnu.org>.
22285 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
22287         _Noreturn: port config.h to gcc -Wundef
22288         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
22289         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
22290         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
22292 2012-05-10  Bruno Haible  <bruno@clisp.org>
22294         system-quote: Refactor.
22295         * lib/system-quote.h (system_quote_copy): Fix comment.
22296         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
22297         New functions, extracted from system_quote_copy.
22298         (system_quote_length, system_quote_copy): Use these functions.
22299         Reported by Paul Eggert.
22301 2012-05-08  Bruno Haible  <bruno@clisp.org>
22303         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
22304         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
22306 2012-05-08  Bruno Haible  <bruno@clisp.org>
22308         Tests for module 'system-quote'.
22309         * modules/system-quote-tests: New file.
22310         * tests/test-system-quote.sh: New file.
22311         * tests/test-system-quote-main.c: New file.
22312         * tests/test-system-quote-child.c: New file.
22314         New module 'system-quote'.
22315         * lib/system-quote.h: New file.
22316         * lib/system-quote.c: New file.
22317         * modules/system-quote: New file.
22319 2012-05-08  Bruno Haible  <bruno@clisp.org>
22321         sh-quote: Make C++ safe and allow multiple inclusion.
22322         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
22323         declarations in extern "C".
22325 2012-05-08  Bruno Haible  <bruno@clisp.org>
22327         sh-quote tests: Make tests stricter.
22328         * tests/test-sh-quote.c (check_one): Check the return value of
22329         shell_quote_copy.
22330         (main): Check a string with a CR character. Check a string that
22331         contains UCHAR_MAX.
22333 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
22335         warnings.m4: provide a means to specify the program to compile.
22336         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
22337         (gl_WARN_ADD): here.
22338         Use gl_AS_VAR_APPEND.
22339         Support an argument to specify the program to compile.
22340         (gl_WARN_ADD): Accept an argument to specify the program to compile.
22341         AC_SUBST the WARN_CFLAGS when they are used.
22342         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
22343         leave this to gl_WARN_ADD.
22345 2012-05-08  Eric Blake  <eblake@redhat.com>
22347         doc: recommendations on gettext version
22348         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
22349         choice between versions.
22350         * DEPENDENCIES (gettext): Cover both approaches.
22352 2012-05-08  Jim Meyering  <meyering@redhat.com>
22354         init.sh: explain why EXEEXT support uses aliases rather than functions
22355         * tests/init.sh: Add a comment.
22357         init.sh: don't let bash aliases interfere with tests
22358         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
22359         is bash.  This avoids problems for those who alias standard commands to
22360         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
22361         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
22363 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
22365         stdint: be more consistent with glibc, SunOS libc
22366         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
22367         (gl_int_fast16_t, gl_uint_fast16_t)
22368         (gl_int_fast32_t, gl_uint_fast32_t)
22369         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
22370         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
22371         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
22372         Be consistent with glibc by default, and with SunOS 5.10 and later
22373         if __sun is defined.  This lessens the likelihood of clashes if
22374         code compiled for older hosts is combined with code compiled for
22375         newer ones.  Problem reported by Niels Möller in
22376         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
22378 2012-05-07  Eric Blake  <eblake@redhat.com>
22380         isatty: relax license to LGPLv2+
22381         * modules/isatty (License): Relax license.
22383 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22385         stat-size: comment fix
22386         * lib/stat-size.h: Remove obsolete comment about indenting.
22388 2012-05-06  Bruno Haible  <bruno@clisp.org>
22390         Tests for module 'sh-quote'.
22391         * modules/sh-quote-tests: New file.
22392         * tests/test-sh-quote.c: New file.
22394 2012-05-06  Bruno Haible  <bruno@clisp.org>
22396         sh-quote: Improve shell_quote_argv's signature.
22397         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
22398         * lib/sh-quote.c (shell_quote_argv): Likewise.
22400 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22402         stdint: document issues with int_fast8_t etc.
22403         * doc/posix-headers/stdint.texi (stdint.h): Say that other
22404         stdint.h substitutes may define these types differently.  See
22405         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
22407 2012-05-05  Bruno Haible  <bruno@clisp.org>
22409         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
22410         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
22411         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
22412         or 'guessing no (mishandles large arguments)'.
22414 2012-05-05  Bruno Haible  <bruno@clisp.org>
22416         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
22417         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
22418         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
22419         set gl_cv_func_link_follows_symlink to "guessing no".
22421 2012-05-05  Bruno Haible  <bruno@clisp.org>
22423         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
22424         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
22425         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
22426         "guessing no".
22427         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
22429 2012-05-05  Bruno Haible  <bruno@clisp.org>
22431         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
22432         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
22433         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
22434         set gl_cv_struct_dirent_d_ino to "guessing yes".
22436 2012-05-05  Bruno Haible  <bruno@clisp.org>
22438         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
22439         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
22440         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
22441         "guessing yes".
22443 2012-05-05  Bruno Haible  <bruno@clisp.org>
22445         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
22446         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
22447         compiling to a glibc system, set gl_cv_func_signbit and
22448         gl_cv_func_signbit_gcc to "guessing yes".
22450 2012-05-05  Bruno Haible  <bruno@clisp.org>
22452         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
22453         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
22454         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
22455         to "guessing yes".
22456         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
22457         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
22459 2012-05-05  Bruno Haible  <bruno@clisp.org>
22461         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
22462         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
22463         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
22464         gl_cv_func_realpath_works to "guessing yes".
22466 2012-05-05  Bruno Haible  <bruno@clisp.org>
22468         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
22469         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
22470         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
22472 2012-05-04  Bruno Haible  <bruno@clisp.org>
22474         Tweak last commit.
22475         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
22476         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22478 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
22480         unistd_h: make it easier to avoid sys_types_h
22481         This is useful for Emacs, which has its own method of porting to
22482         Windows, and which therefore does not need the sys_types_h module.
22483         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
22484         code moved here from gl_SYS_TYPES_H.
22485         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
22486         using the code directly.
22487         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
22488         gl_SYS_TYPES_H.
22489         * modules/sys_types (Files):
22490         * modules/unistd (Files): Add m4/off_t.m4.
22492 2012-05-03  Bruno Haible  <bruno@clisp.org>
22494         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
22495         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
22496         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
22497         "guessing yes" or "guessing no".
22498         (gl_FUNC_LSTAT): Update.
22499         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
22500         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
22501         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
22503 2012-05-03  Bruno Haible  <bruno@clisp.org>
22505         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
22506         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
22507         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
22508         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
22509         cross-compiling, choose the first alternative on glibc systems.
22510         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
22512 2012-05-03  Bruno Haible  <bruno@clisp.org>
22514         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
22515         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
22516         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
22518 2012-05-03  Bruno Haible  <bruno@clisp.org>
22520         chown: Avoid "guessing no" when cross-compiling to glibc systems.
22521         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
22523 2012-05-03  Bruno Haible  <bruno@clisp.org>
22525         Avoid "guessing no" guesses when cross-compiling to glibc systems.
22526         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
22527         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
22528         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
22529         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
22530         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
22531         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
22532         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
22533         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
22534         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
22535         compiling to glibc systems, set gl_cv_func_chown_slash_works,
22536         gl_cv_func_chown_ctime_works to "guessing yes".
22537         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
22538         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
22539         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
22540         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
22541         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
22542         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
22543         compiling to glibc systems, set gl_cv_func_open_directory_works to
22544         "guessing yes".
22545         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
22546         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
22547         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
22548         "guessing yes".
22549         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
22550         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
22551         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
22552         compiling to glibc systems, set gl_cv_func_floorf_ieee to
22553         "guessing yes".
22554         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
22555         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
22556         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
22557         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
22558         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
22559         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
22560         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
22561         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
22562         "guessing yes".
22563         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
22564         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
22565         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
22566         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
22567         "guessing yes".
22568         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
22569         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
22570         "guessing yes".
22571         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
22572         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
22573         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
22574         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
22575         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
22576         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
22577         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
22578         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
22579         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
22580         compiling to glibc systems, set gl_cv_func_log10f_ieee to
22581         "guessing yes".
22582         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
22583         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
22584         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
22585         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
22586         "guessing yes".
22587         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
22588         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
22589         "guessing yes".
22590         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
22591         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
22592         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
22593         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
22594         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
22595         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
22596         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
22597         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
22598         compiling to glibc systems, set gl_cv_func_mkfifo_works to
22599         "guessing yes".
22600         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
22601         compiling to glibc systems, set gl_cv_func_mknod_works to
22602         "guessing yes".
22603         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
22604         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
22605         "guessing yes".
22606         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
22607         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
22608         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
22609         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
22610         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
22611         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
22612         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
22613         compiling to glibc systems, set gl_cv_func_svid_putenv to
22614         "guessing yes".
22615         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
22616         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
22617         "guessing yes".
22618         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
22619         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
22620         "guessing yes".
22621         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
22622         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
22623         to "guessing yes".
22624         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
22625         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
22626         to "guessing yes".
22627         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
22628         compiling to glibc systems, set gl_cv_func_rmdir_works to
22629         "guessing yes".
22630         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
22631         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
22632         gl_cv_func_unlink_parent_fails to "guessing yes".
22633         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
22634         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
22635         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
22636         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
22637         gl_cv_func_rename_dest_works to "guessing yes".
22638         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
22639         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
22640         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
22641         compiling to glibc systems, set gl_cv_func_roundf_ieee to
22642         "guessing yes".
22643         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
22644         compiling to glibc systems, set gl_cv_func_roundl_ieee to
22645         "guessing yes".
22646         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
22647         compiling to glibc systems, set gl_cv_func_setenv_works to
22648         "guessing yes".
22649         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
22650         compiling to glibc systems, set gl_cv_func_unsetenv_works to
22651         "guessing yes".
22652         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
22653         compiling to glibc systems, set gl_cv_func_sleep_works to
22654         "guessing yes".
22655         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
22656         compiling to glibc systems, set gl_cv_func_stat_file_slash to
22657         "guessing yes".
22658         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
22659         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
22660         "guessing yes".
22661         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
22662         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
22663         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
22664         compiling to glibc systems, set gl_cv_func_truncf_ieee to
22665         "guessing yes".
22666         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
22667         compiling to glibc systems, set gl_cv_func_truncl_ieee to
22668         "guessing yes".
22669         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
22670         compiling to glibc systems, set gl_cv_func_usleep_works to
22671         "guessing yes".
22672         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
22673         compiling to glibc systems, set gl_cv_func_futimesat_works to
22674         "guessing yes".
22676 2012-05-03  Bruno Haible  <bruno@clisp.org>
22678         Say "guessing yes" or "guessing no" when cross-compiling.
22679         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
22680         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
22681         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
22682         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
22683         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
22684         am_cv_func_working_getline to "guessing yes" or "guessing no".
22685         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
22686         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
22687         (gl_FUNC_MEMMEM): When cross-compiling, set
22688         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
22689         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
22690         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
22691         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
22692         set gl_cv_func_strcasestr_works_always to "guessing yes" or
22693         "guessing no".
22694         (gl_FUNC_STRCASESTR): When cross-compiling, set
22695         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
22696         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
22697         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
22698         (gl_FUNC_STRSTR): When cross-compiling, set
22699         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
22700         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
22701         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
22702         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
22703         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
22705 2012-05-01  Bruno Haible  <bruno@clisp.org>
22707         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
22708         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
22709         * build-aux/reloc-ldflags: Likewise.
22710         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
22712 2012-05-01  Bruno Haible  <bruno@clisp.org>
22714         gnulib-tool: Remove transitional code.
22715         * gnulib-tool: Don't warn about --import with 0 arguments any more.
22716         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
22718 2012-05-01  Bruno Haible  <bruno@clisp.org>
22720         getcwd: Fix misindentation.
22721         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
22723 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
22725         exclude: process exclude and include directives in order
22726         This restores the pre-2009 behavior, and is part of a fix of a
22727         grep bug reported by Quentin Arce in
22728         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
22729         * lib/exclude.c (struct exclude): Remove 'tail' member.
22730         (new_exclude_segment): Prepend the new segment instead of appending.
22731         Return void, since that's now more convenient.
22732         (file_pattern_matches): Renamed from excluded_file_pattern_p.
22733         (file_name_matches): Renamed from excluded_file_name_p.
22734         (file_pattern_matches, file_name_matches):
22735         Return true if the pattern matches, not if it excludes.
22736         All callers changed.
22737         (excluded_file_name): Process the list in reverse order;
22738         since the list is now reversed this restores the pre-2009 behavior.
22739         (add_exclude): Adjust to new reversed-order list.  Use local var
22740         rather than macro, for clarity.
22741         * tests/test-exclude7.sh: Adjust to corrected behavior.
22743         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
22744         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
22745         it's not possible here.  Handle the case of \ at end of pattern
22746         without dumping core.
22747         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
22749         _Noreturn: future-proof non-GNU and non-MSVC compilers
22750         * build-aux/snippet/_Noreturn.h (_Noreturn):
22751         * m4/gnulib-common.m4 (gl_COMMON_BODY):
22752         Do not define _Noreturn if __STDC_VERSION__ indicates this is
22753         C11 or later.  This is more likely to work with random future C
22754         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
22755         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
22757         exclude: handle wildcards with FNM_EXTMATCH
22758         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
22759         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
22760         comment that "has wildcards" really means "has or may have
22761         wildcards".  Simplify by avoiding the need to call strcspn.
22763 2012-04-29  Bruno Haible  <bruno@clisp.org>
22765         gnulib-tool: Fix list of authors.
22766         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
22768 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
22770         bootstrap: support Automake-NG in $buildreq
22771         * bootstrap (check_versions): Handle automake and aclocal from
22772         Automake-NG specially.  They can be specified as respectively
22773         the "automake-ng" and "aclocal-ng" requirements.
22775 2012-04-25  Eric Blake  <eblake@redhat.com>
22777         bootstrap: only force latest Makefile.in.in for gettext module
22778         * build-aux/bootstrap (with_gettext): Only install latest
22779         Makefile.in.in for projects requesting bleeding edge gettext.
22781 2012-04-22  Bruno Haible  <bruno@clisp.org>
22783         doc: Mention reason for replacement on glibc/Linux systems.
22784         * doc/posix-functions/dprintf.texi: Mention the problem with special
22785         'long double' values.
22786         * doc/posix-functions/fprintf.texi: Likewise.
22787         * doc/posix-functions/printf.texi: Likewise.
22788         * doc/posix-functions/snprintf.texi: Likewise.
22789         * doc/posix-functions/sprintf.texi: Likewise.
22790         * doc/posix-functions/vdprintf.texi: Likewise.
22791         * doc/posix-functions/vfprintf.texi: Likewise.
22792         * doc/posix-functions/vprintf.texi: Likewise.
22793         * doc/posix-functions/vsnprintf.texi: Likewise.
22794         * doc/posix-functions/vsprintf.texi: Likewise.
22795         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
22796         platforms with F_DUPFD_CLOEXEC problems.
22797         * doc/posix-functions/glob.texi: Mention which platforms are affected
22798         by the problem with symbolic links.
22799         * doc/posix-functions/linkat.texi: Mention the problem with
22800         AT_SYMLINK_FOLLOW on Linux.
22802 2012-04-22  Bruno Haible  <bruno@clisp.org>
22804         pwrite: Don't replace on all platforms.
22805         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
22807 2012-04-22  Bruno Haible  <bruno@clisp.org>
22809         rint* tests: Avoid gcc warnings.
22810         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
22811         * tests/test-rintf.c (INFINITY, NAN): Likewise.
22812         * tests/test-rintl.c (INFINITY, NAN): Likewise.
22814 2012-04-21  Bruno Haible  <bruno@clisp.org>
22816         users.txt: Update.
22817         * users.txt: Add freedink, wdiff. Update URLs for projects that have
22818         switched from CVS to git, bzr, or svn.
22820 2012-04-21  Bruno Haible  <bruno@clisp.org>
22822         Large File Support for native Windows platforms.
22824         * m4/largefile.m4 (gl_LARGEFILE): New macro.
22825         * modules/largefile (configure.ac): Require gl_LARGEFILE.
22827         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
22828         type.
22829         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
22830         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
22831         * doc/posix-headers/sys_types.texi: Mention the effect of the
22832         'largefile' module.
22834         * lib/fcntl.in.h: Add comments about off_t.
22835         * modules/fcntl-h (Depends-on): Add sys_types.
22837         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
22838         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
22839         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
22840         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
22841         * modules/unistd (Depends-on): Add sys_types.
22842         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
22844         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
22845         instead of lseek.
22846         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
22847         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
22848         * modules/lseek (Depends-on): Add sys_types.
22850         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
22851         msvc-nothrow.h.
22852         (SetFileSize): New function.
22853         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
22854         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
22855         if Large File Support is requested.
22856         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
22857         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
22859         * lib/stdio.in.h: Add comments about off_t.
22860         * modules/stdio (Depends-on): Add sys_types.
22862         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
22863         instead of ftello.
22864         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
22865         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
22866         (gl_PREREQ_FTELLO): New macro.
22867         * modules/ftello (Depends-on): Add sys_types.
22868         (configure.ac): Incoke gl_PREREQ_FTELLO.
22870         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
22871         instead of fseeko.
22872         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
22873         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
22874         (gl_PREREQ_FSEEKO): New macro.
22875         * modules/fseeko (Depends-on): Add sys_types.
22876         (configure.ac): Invoke gl_PREREQ_FSEEKO.
22878         * lib/sys_stat.in.h: Add comments about off_t.
22879         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
22880         64-bit integer for st_size in 'struct stat'.
22881         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
22882         Define _GL_WINDOWS_64_BIT_ST_SIZE.
22883         * modules/sys_stat (Depends-on): Add sys_types.
22884         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
22886         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
22887         instead of stat or _stat.
22889         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
22890         'struct _stati64' instead of fstat and 'struct stat'.
22891         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
22892         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
22894         Reported by Ray Satiro <raysatiro@yahoo.com>.
22896 2012-04-19  Eric Blake  <eblake@redhat.com>
22898         bootstrap: accommodate older libtool
22899         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
22900         Reported by Daniel P. Berrange.
22902 2012-04-19  Jim Meyering  <meyering@redhat.com>
22904         announce-gen: avoid failure due to lack of Digest::SHA1
22905         Even with the preferred Digest::SHA available, this script
22906         would fail when the backup module, Digest::SHA1, was not installed.
22907         * build-aux/announce-gen: Quote the conditional use of "use".
22908         Reported by Reuben Thomas in:
22909         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
22911         bootstrap: don't let a user's CDPATH setting affect this script
22912         When CDPATH is set, cd will sometimes generate output.
22913         When "cd" is run in a subshell whose output matters, that
22914         surprising-to-some output can cause malfunction.
22915         Unsetting CDPATH turns off this shell "feature."
22916         * build-aux/bootstrap (CDPATH): Unset.
22917         Reported by Reuben Thomas in:
22918         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
22919         and inspired by his patch here:
22920         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
22922 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
22923         and Jim Meyering  <meyering@redhat.com>
22925         maint.mk: catch "see @xref{}" and similar
22926         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
22927         prohibit "See also @xref{", "Also see @pxref{", and similar.
22929 2012-04-16  Jim Meyering  <meyering@redhat.com>
22931         bootstrap: really use gnulib's po/Makefile.in.in
22932         * build-aux/bootstrap: Correct the source file name in previous change.
22933         Reported by Akim Demaille.
22935         configmake: correct minor inconsistency in Makefile rule
22936         * modules/configmake (Makefile.am): All other rules like this one
22937         run the final "mv -f ..." in the same backslash-continued command
22938         as the one that does everything else.  This one put the mv -f ...
22939         command on a separate, non-backslash-continued line.
22940         Make it like the others.
22942         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
22943         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
22944         the one from gettext.  Reported by Akim Demaille.
22946 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
22948         Fix recursion of install-* into po directories.
22949         Bison's install-pdf bug reported by Hans Aberg at
22950         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
22951         * build-aux/po/Makefile.in.in (install-dvi, install-html)
22952         (install-info, install-pdf, install-ps): New targets.
22954 2012-04-16  Jim Meyering  <meyering@redhat.com>
22956         maint: avoid spurious "make sc_maint" failure
22957         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
22958         exempt all *.class file names, for lib/javaversion.class.
22960 2012-04-15  Bruno Haible  <bruno@clisp.org>
22962         lseek: Make configure test independent of environment.
22963         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
22964         Windows, we know that lseek() on pipes is broken; skip the runtime
22965         test.
22967 2012-04-14  Bruno Haible  <bruno@clisp.org>
22969         stat: Bypass buggy override in mingw64.
22970         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
22971         * lib/stat.c (stat) [mingw64]: Define to _stat.
22972         * doc/posix-functions/stat.texi: Mention mingw64 bug.
22974 2012-04-14  Bruno Haible  <bruno@clisp.org>
22976         pathmax: Fix compilation error on MSVC 9.
22977         * modules/pathmax (Depends-on): Add unistd.
22979 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
22981         README: document pointer comparison assumption
22982         * README (Portability guidelines): Document assumption about
22983         pointer comparisons, in response to a recent bug-gnulib comment by
22984         Jeffrey Kegler.
22986 2012-04-12  Bruno Haible  <bruno@clisp.org>
22988         Tests for module 'getrusage'.
22989         * modules/getrusage-tests: New file.
22990         * tests/test-getrusage.c: New file.
22992         New module 'getrusage'.
22993         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
22994         warn-on-use.h.
22995         (getrusage): New declaration.
22996         * lib/getrusage.c: New file.
22997         * m4/getrusage.m4: New file.
22998         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
22999         is declared.
23000         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
23001         HAVE_GETRUSAGE.
23002         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
23003         snippet/c++defs, snippet/warn-on-use.
23004         (Makefile.am): Update generation of sys/resource.h. Substitute
23005         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
23006         * modules/getrusage: New file.
23007         * doc/posix-functions/getrusage.texi: Mention the new module.
23009 2012-04-12  Bruno Haible  <bruno@clisp.org>
23011         Tests for module 'sys_resource'.
23012         * modules/sys_resource-tests: New file.
23013         * tests/test-sys_resource.c: New file.
23015         New module 'sys_resource'.
23016         * lib/sys_resource.in.h: New file.
23017         * m4/sys_resource_h.m4: New file.
23018         * modules/sys_resource: New file.
23019         * doc/posix-headers/sys_resource.texi: Mention the new module.
23021 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
23023         ioctl: Fix compilation error on mingw.
23024         * lib/ioctl.c: Include <windows.h>.
23025         Also reported by Ray Satiro <raysatiro@yahoo.com>.
23027 2012-04-04  Jim Meyering  <meyering@redhat.com>
23029         regex: correct #pragma guard expression
23030         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
23031         not 4.3.  Correct its cpp guard expression.
23033 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
23035         regex: remove unnecessary type punning
23036         Problem reported by Vladimir Serbinenko in
23037         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
23038         * lib/regex.h (struct re_pattern_buffer): Change the type of
23039         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
23040         Fix comment to match code.
23041         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
23042         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
23043         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
23044         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
23045         (set_regs):
23046         Omit no-longer-necessary casts.
23048 2012-04-03  Bruno Haible  <bruno@clisp.org>
23050         Tests for module 'ilogbl'.
23051         * modules/ilogbl-tests: New file.
23052         * tests/test-ilogbl.c: New file.
23054         New module 'ilogbl'.
23055         * lib/math.in.h (ilogbl): New declaration.
23056         * lib/ilogbl.c: New file.
23057         * m4/ilogbl.m4: New file.
23058         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
23059         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
23060         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
23061         Split sed invocation, to avoid the limit of 100 substitutions of
23062         HP-UX 'sed'.
23063         * modules/ilogbl: New file.
23064         * tests/test-math-c++.cc: Check the declaration of ilogbl.
23065         * doc/posix-functions/ilogbl.texi: Mention the new module.
23067 2012-04-03  Bruno Haible  <bruno@clisp.org>
23069         Tests for module 'ilogbf'.
23070         * modules/ilogbf-tests: New file.
23071         * tests/test-ilogbf.c: New file.
23073         New module 'ilogbf'.
23074         * lib/math.in.h (ilogbf): New declaration.
23075         * lib/ilogbf.c: New file.
23076         * m4/ilogbf.m4: New file.
23077         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
23078         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
23079         REPLACE_ILOGBF.
23080         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
23081         REPLACE_ILOGBF.
23082         * modules/ilogbf: New file.
23083         * tests/test-math-c++.cc: Check the declaration of ilogbf.
23084         * doc/posix-functions/ilogbf.texi: Mention the new module.
23086 2012-04-03  Bruno Haible  <bruno@clisp.org>
23088         Tests for module 'ilogb'.
23089         * modules/ilogb-tests: New file.
23090         * tests/test-ilogb.c: New file.
23091         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
23092         tests/test-logb-ieee.h.
23094         New module 'ilogb'.
23095         * lib/math.in.h (ilogb): New declaration.
23096         * lib/ilogb.c: New file.
23097         * m4/ilogb.m4: New file.
23098         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
23099         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
23100         REPLACE_ILOGB.
23101         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
23102         REPLACE_ILOGB.
23103         * modules/ilogb: New file.
23104         * tests/test-math-c++.cc: Check the declaration of ilogb.
23105         * doc/posix-functions/ilogb.texi: Mention the new module.
23107 2012-04-03  Bruno Haible  <bruno@clisp.org>
23109         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
23110         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
23111         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
23112         (main): Check their values.
23113         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
23114         problem.
23116 2012-04-03  Bruno Haible  <bruno@clisp.org>
23118         Tests for module 'logbl-ieee'.
23119         * modules/logbl-ieee-tests: New file.
23120         * tests/test-logbl-ieee.c: New file.
23122         New module 'logbl-ieee'.
23123         * modules/logbl-ieee: New file.
23125         Tests for module 'logb-ieee'.
23126         * modules/logb-ieee-tests: New file.
23127         * tests/test-logb-ieee.c: New file.
23129         New module 'logb-ieee'.
23130         * modules/logb-ieee: New file.
23132         Tests for module 'logbf-ieee'.
23133         * modules/logbf-ieee-tests: New file.
23134         * tests/test-logbf-ieee.c: New file.
23135         * tests/test-logb-ieee.h: New file.
23137         New module 'logbf-ieee'.
23138         * modules/logbf-ieee: New file.
23140 2012-04-03  Bruno Haible  <bruno@clisp.org>
23142         Tests for module 'logbl'.
23143         * modules/logbl-tests: New file.
23144         * tests/test-logbl.c: New file.
23146         New module 'logbl'.
23147         * lib/math.in.h (logbl): New declaration.
23148         * lib/logbl.c: New file.
23149         * m4/logbl.m4: New file.
23150         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
23151         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
23152         REPLACE_LOGBL.
23153         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
23154         REPLACE_LOGBL.
23155         * modules/logbl: New file.
23156         * tests/test-math-c++.cc: Check the declaration of logbl.
23157         * doc/posix-functions/logbl.texi: Mention the new module.
23159 2012-04-02  Bruno Haible  <bruno@clisp.org>
23161         Tests for module 'logbf'.
23162         * modules/logbf-tests: New file.
23163         * tests/test-logbf.c: New file.
23165         New module 'logbf'.
23166         * lib/math.in.h (logbf): New declaration.
23167         * lib/logbf.c: New file.
23168         * m4/logbf.m4: New file.
23169         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
23170         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
23171         REPLACE_LOGBF.
23172         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
23173         REPLACE_LOGBF.
23174         * modules/logbf: New file.
23175         * tests/test-math-c++.cc: Check the declaration of logbf.
23176         * doc/posix-functions/logbf.texi: Mention the new module.
23178 2012-04-02  Bruno Haible  <bruno@clisp.org>
23180         logb tests: More tests.
23181         * tests/test-logb.h: New file, based on tests/test-logb.c and
23182         tests/test-frexp.h.
23183         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
23184         (main): Just invoke test_function.
23185         * modules/logb-tests (Files): Add tests/test-logb.h,
23186         tests/minus-zero.h, tests/randomd.c.
23187         (Makefile.am): Add randomd.c to test_logb_SOURCES.
23189         logb: Provide replacement and workarounds.
23190         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
23191         is 1.
23192         * lib/logb.c: New file.
23193         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
23194         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
23195         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
23196         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
23197         * modules/logb (Files): Add lib/logb.c.
23198         (Depends-on): Add isfinite, frexp, isnand.
23199         (configure.ac): Compile the replacement code logb.c if needed.
23200         * tests/test-math-c++.cc: Check the declaration of logb.
23201         * doc/posix-functions/logb.texi: Mention the replacement and the bug
23202         with subnormal numbers.
23204 2012-04-02  Bruno Haible  <bruno@clisp.org>
23206         log10* tests: Speed up.
23207         * tests/test-log10.h (test_function): Reduce amount of random numbers
23208         to test.
23210 2012-04-01  Bruno Haible  <bruno@clisp.org>
23212         logf-ieee: Fix test whether logf works.
23213         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
23215 2012-04-01  Bruno Haible  <bruno@clisp.org>
23217         log10l: Work around log10l-ieee test failure on IRIX 6.5.
23218         * lib/log10l.c: Include <float.h>
23219         (log10l): On IRIX, normalize the +Infinity value.
23220         * modules/log10l (Depends-on): Add 'float'.
23221         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
23222         +Infinity.
23224         log10f-ieee: Work around test failure on NetBSD 5.1.
23225         * m4/log10f-ieee.m4: New file.
23226         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
23227         test whether log10f works with a negative argument. Replace it if not.
23228         * lib/log10f.c (log10f): For negative arguments, return NaN.
23229         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
23230         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
23231         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
23233         log10f-ieee: Work around test failure on Solaris 9.
23234         * modules/log10f-ieee (Depends-on): Add log10-ieee.
23235         (configure.ac): Require gl_FUNC_LOG10F.
23237         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
23238         * m4/log10-ieee.m4: New file.
23239         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
23240         whether log10 works with a negative argument. Replace it if not.
23241         * lib/log10.c (log10): For negative arguments, return NaN.
23242         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
23243         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
23244         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
23246         Tests for module 'log10l-ieee'.
23247         * modules/log10l-ieee-tests: New file.
23248         * tests/test-log10l-ieee.c: New file.
23250         New module 'log10l-ieee'.
23251         * modules/log10l-ieee: New file.
23253         Tests for module 'log10-ieee'.
23254         * modules/log10-ieee-tests: New file.
23255         * tests/test-log10-ieee.c: New file.
23257         New module 'log10-ieee'.
23258         * modules/log10-ieee: New file.
23260         Tests for module 'log10f-ieee'.
23261         * modules/log10f-ieee-tests: New file.
23262         * tests/test-log10f-ieee.c: New file.
23263         * tests/test-log10-ieee.h: New file.
23265         New module 'log10f-ieee'.
23266         * modules/log10f-ieee: New file.
23268 2012-04-01  Bruno Haible  <bruno@clisp.org>
23270         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
23271         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
23272         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
23273         workaround.
23274         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
23275         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
23276         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
23277         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
23278         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
23279         (Depends-on): Update conditions.
23280         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
23281         IRIX 6.5, OSF/1 5.1 problems.
23283 2012-04-01  Bruno Haible  <bruno@clisp.org>
23285         log10f: Work around OSF/1 5.1 bug.
23286         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
23287         * lib/log10f.c (log10f): If logf exists, use it and provide just the
23288         workaround.
23289         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
23290         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
23291         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
23292         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
23293         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
23294         (Depends-on): Update conditions.
23295         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
23297 2012-04-01  Bruno Haible  <bruno@clisp.org>
23299         log10: Work around OSF/1 5.1 bug.
23300         * lib/math.in.h (log10): New declaration.
23301         * lib/log10.c: New file.
23302         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
23303         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
23304         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
23305         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
23306         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
23307         * modules/log10 (Files): Add lib/log10.c.
23308         (Depends-on): Add math.
23309         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
23310         * tests/test-math-c++.cc: Check the declaration of log10.
23311         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
23313 2012-03-31  Bruno Haible  <bruno@clisp.org>
23315         log10l tests: More tests.
23316         * modules/log10l-tests (Files): Add tests/test-log10l.h,
23317         tests/minus-zero.h, tests/randoml.c.
23318         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
23319         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
23320         (main): Invoke test_function.
23322         log10f tests: More tests.
23323         * modules/log10f-tests (Files): Add tests/test-log10.h,
23324         tests/minus-zero.h, tests/randomf.c.
23325         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
23326         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
23327         (main): Invoke test_function.
23329         log10 tests: More tests.
23330         * tests/test-log10.h: New file.
23331         * modules/log10-tests (Files): Add tests/test-log10.h,
23332         tests/minus-zero.h, tests/randomd.c.
23333         (Makefile.am): Add randomd.c to test_log10_SOURCES.
23334         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
23335         (main): Invoke test_function.
23337 2012-03-31  Simon Josefsson  <simon@josefsson.org>
23339         fflush: Fix syntax error.
23340         * lib/fflush.c: Include unused-parameter.h, needed for
23341         _GL_UNUSED_PARAMETER.
23342         * modules/fflush (Depends-on): Add snippet/unused-parameter.
23344 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
23346         regex: pacify GCC when compiling GRUB
23347         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
23348         a diagnostic.  Reported by Vladimir Serbinenko in
23349         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
23351 2012-03-29  Eric Blake  <eblake@redhat.com>
23353         stdio: don't assume gets any more
23354         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
23355         support.
23356         * modules/stdio (Makefile.am): Likewise.
23357         * lib/stdio-read.c (gets): Likewise.
23358         * tests/test-stdio-c++.cc: Likewise.
23359         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
23360         * lib/stdio.in.h (gets): Make warning occur in more places.
23361         * doc/posix-functions/gets.texi (gets): Update documentation.
23362         Reported by Christer Solskogen.
23364         maint.mk: fix syntax checks without exclusions
23365         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
23366         Reported by Daniel P. Berrange.
23368         strerror_r: avoid compiler warning
23369         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
23370         level.
23372         fflush: avoid compiler warning
23373         * lib/fflush.c (update_fpos_cache): Mark variables that are
23374         potentially unused.
23376 2012-03-25  Bruno Haible  <bruno@clisp.org>
23378         Tests for module 'localeconv'.
23379         * modules/localeconv-tests: New file.
23380         * tests/test-localeconv.c: New file.
23382         New module 'localeconv'.
23383         * lib/locale.in.h (localeconv): New declaration.
23384         * lib/localeconv.c: New file.
23385         * m4/localeconv.m4: New file.
23386         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
23387         REPLACE_LOCALECONV.
23388         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
23389         REPLACE_LOCALECONV.
23390         * modules/localeconv: New file.
23391         * modules/nl_langinfo (Depends-on): Add localeconv.
23392         * modules/human (Depends-on): Likewise.
23393         * doc/posix-functions/localeconv.texi: Mention the new module.
23395 2012-03-25  Bruno Haible  <bruno@clisp.org>
23397         locale: Provide a complete 'struct lconv'.
23398         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
23399         'struct lconv' does not contain int_p_cs_precedes.
23400         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
23401         * doc/posix-headers/locale.texi: Update.
23403         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
23404         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
23405         * doc/posix-headers/locale.texi: Update.
23407         locale: Provide a working 'struct lconv'.
23408         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
23409         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
23410         'struct lconv' does not even contain decimal_point.
23411         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
23412         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
23413         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
23414         * doc/posix-headers/locale.texi: Mention the problems with
23415         'struct lconv'.
23416         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
23418 2012-03-24  Bruno Haible  <bruno@clisp.org>
23420         Enable common subexpression optimization in GCC.
23421         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
23422         macros.
23423         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
23424         GCC attribute 'const'.
23425         (uc_locale_language): Declare with GCC attribute 'pure'.
23426         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
23427         with GCC attribute 'const'.
23428         * lib/unictype.in.h (uc_is_general_category_withtable,
23429         uc_combining_class, uc_combining_class_name,
23430         uc_combining_class_long_name, uc_bidi_class_name,
23431         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
23432         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
23433         uc_decimal_value, uc_digit_value, uc_numeric_value,
23434         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
23435         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
23436         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
23437         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
23438         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
23439         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
23440         Declare with GCC attribute 'const'.
23441         (uc_general_category_name, uc_general_category_long_name,
23442         uc_general_category_byname, uc_general_category,
23443         uc_is_general_category, uc_combining_class_byname,
23444         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
23445         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
23446         Declare with GCC attribute 'pure'.
23447         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
23448         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
23449         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
23450         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
23451         with GCC attribute 'pure'.
23452         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
23453         'const'.
23454         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
23455         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
23456         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
23457         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
23458         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
23459         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
23460         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
23461         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
23462         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
23463         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
23464         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
23465         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
23466         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
23467         GCC attribute 'pure'.
23468         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
23469         'const'.
23470         * lib/uniwidth.in.h (uc_width): Simplify declaration.
23471         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
23472         u32_strwidth): Declare with GCC attribute 'pure'.
23474         Enable common subexpression optimization in GCC.
23475         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23476         (alphasort): Declare with GCC attribute 'pure'.
23477         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23478         (atoll): Declare with GCC attribute 'pure'.
23479         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
23480         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
23481         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
23482         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23483         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
23484         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
23485         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
23487 2012-03-24  Bruno Haible  <bruno@clisp.org>
23489         gnulib-tool: Avoid unintended error output from 'cmp'.
23490         * gnulib-tool (func_add_file, func_update_file, func_import): Use
23491         "cmp -s", not "cmp > /dev/null".
23493 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
23495         gnulib-tool: fix imprecise comments w.r.t. an automake bug
23497         It's not just Automake versions < 1.9b that creates an empty
23498         pkgdatadir at installation time if pkgdata_DATA is specified
23499         to empty; modern automake versions do this as well, at least
23500         until automake 1.11.4 (not yet released at the moment of writing,
23501         but soon to appear).  That behaviour was generally considered a
23502         feature rather than a bug, at least until this discussion:
23503         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
23505         See also automake bugs #10997 and #11030.
23507         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
23508         reference to relevant automake bug numbers.
23509         (func_emit_tests_Makefile_am): Likewise.
23511 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
23513         announce-gen: use Digest::SHA when possible
23514         * build-aux/announce-gen: Use Digest::SHA when possible, falling
23515         back to Digest::SHA1 if necessary.
23517 2012-03-20  Jim Meyering  <meyering@redhat.com>
23519         tests: avoid gcc warnings about argv vs. const initializers
23520         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
23521         warnings about discarding 'const' qualifier from pointer target type.
23522         * tests/test-posix_spawn2.c (main): Likewise.
23524 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
23526         README-release: simplify slightly
23527         * top/README-release: Run "git checkout master" only once.
23529 2012-03-15  Mark Wielaard  <mark@klomp.org>
23531         git-merge-changelog: add specific example on how to use with hg.
23532         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
23534 2012-03-18  Mark Wielaard  <mark@klomp.org>
23536         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
23538 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
23540         git-version-gen: don't let "prefix" envvar cause trouble
23541         * build-aux/git-version-gen (prefix): Initialize properly,
23542         so as not to use a value specified via the environment.
23543         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
23545 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
23547         regex: diagnose too-large repeat counts in EREs
23548         Previously, the code did not diagnose the too-large repeat count
23549         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
23550         as if it were 'b\{1000000000}', which is unexpected.
23551         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
23552         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
23553         is a reasonable one for this problem.  Another option would be to
23554         create a new REG_OVERFLOW error for repeat counts that are too large.
23555         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
23556         count is too large, so that the caller can distinguish the two cases.
23557         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
23558         "Too large" return code, and that repeat counts are one example of this.
23560 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
23562         doc: some glibc x32 integer width issues
23563         * doc/posix-headers/sys_types.texi (sys/types.h):
23564         * doc/posix-headers/time.texi (time.h):
23565         Mention that glibc x32 does not conform to POSIX in a couple of
23566         areas related to integer widths.
23568 2012-03-15  Bruno Haible  <bruno@clisp.org>
23570         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
23571         * lib/fma.c (VOLATILE): New macro.
23572         (FUNC): Use it to work around a GCC compiler bug.
23574 2012-03-13  Bruno Haible  <bruno@clisp.org>
23576         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23577         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
23578         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
23579         REPLACE_HYPOTL to 1.
23580         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
23582 2012-03-13  Bruno Haible  <bruno@clisp.org>
23584         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23585         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
23586         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
23587         REPLACE_REMAINDERL to 1.
23588         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
23589         bug.
23591 2012-03-13  Bruno Haible  <bruno@clisp.org>
23593         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23594         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
23595         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
23596         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
23597         too big rounding errors.
23598         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
23599         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
23600         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
23601         (Depends-on): Update conditions.
23602         * tests/test-sqrtl.c (my_ldexpl): New function.
23603         (main): Add test of a particular value.
23604         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
23606 2012-03-13  Pádraig Brady  <P@draigBrady.com>
23608         doc: Update timer_* platform portability notes.
23609         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
23610         that always return ENOSYS.
23611         * doc/posix-functions/timer_delete.texi: Likewise.
23612         * doc/posix-functions/timer_gettime.texi: Likewise.
23613         * doc/posix-functions/timer_settime.texi: Likewise.
23615 2012-03-13  Bruno Haible  <bruno@clisp.org>
23617         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23618         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
23619         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
23620         REPLACE_CBRTL to 1.
23621         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
23623 2012-03-13  Bruno Haible  <bruno@clisp.org>
23625         remainderl: Avoid compilation error on AIX >= 5.2.
23626         * lib/math.in.h (remainderl): Undefine macro from the system header.
23628 2012-03-13  Bruno Haible  <bruno@clisp.org>
23630         Avoid compilation errors with MSVC option -fp:strict.
23631         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
23632         * lib/cbrtf.c: Likewise.
23633         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
23635 2012-03-12  Bruno Haible  <bruno@clisp.org>
23637         uninorm: Don't crash in out-of-memory conditions.
23638         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
23639         gracefully.
23640         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
23641         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
23643 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
23645         quote: fix syntax-check
23646         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
23647         also exports quote_quoting_options.
23649 2012-03-12  Simon Josefsson  <simon@josefsson.org>
23651         Collapse list of copyright years to ranges.  See
23652         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
23653         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
23654         build-aux/csharpexec.sh.in, build-aux/gnupload,
23655         build-aux/install-reloc, build-aux/javacomp.sh.in,
23656         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
23657         build-aux/move-if-change, build-aux/reloc-ldflags,
23658         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
23660 2012-03-11  Bruno Haible  <bruno@clisp.org>
23662         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
23663         * m4/log2f-ieee.m4: New file.
23664         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
23665         whether log2f works with a minus zero argument. Replace it if not.
23666         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
23667         (Depends-on): Add log2-ieee.
23668         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
23669         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
23671         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
23672         * m4/log2-ieee.m4: New file.
23673         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
23674         whether log2 works with a minus zero argument. Replace it if not.
23675         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
23676         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
23677         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
23679         Tests for module 'log2l-ieee'.
23680         * modules/log2l-ieee-tests: New file.
23681         * tests/test-log2l-ieee.c: New file.
23683         New module 'log2l-ieee'.
23684         * modules/log2l-ieee: New file.
23686         Tests for module 'log2-ieee'.
23687         * modules/log2-ieee-tests: New file.
23688         * tests/test-log2-ieee.c: New file.
23690         New module 'log2-ieee'.
23691         * modules/log2-ieee: New file.
23693         Tests for module 'log2f-ieee'.
23694         * modules/log2f-ieee-tests: New file.
23695         * tests/test-log2f-ieee.c: New file.
23696         * tests/test-log2-ieee.h: New file.
23698         New module 'log2f-ieee'.
23699         * modules/log2f-ieee: New file.
23701 2012-03-11  Bruno Haible  <bruno@clisp.org>
23703         Tests for module 'log2l'.
23704         * modules/log2l-tests: New file.
23705         * tests/test-log2l.c: New file.
23707         New module 'log2l'.
23708         * lib/math.in.h (log2l): New declaration.
23709         * lib/log2l.c: New file.
23710         * m4/log2l.m4: New file.
23711         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
23712         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
23713         REPLACE_LOG2L.
23714         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
23715         REPLACE_LOG2L.
23716         * modules/log2l: New file.
23717         * tests/test-math-c++.cc: Check the declaration of log2l.
23718         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
23719         and OSF/1 problems.
23721 2012-03-11  Bruno Haible  <bruno@clisp.org>
23723         Tests for module 'log2f'.
23724         * modules/log2f-tests: New file.
23725         * tests/test-log2f.c: New file.
23727         New module 'log2f'.
23728         * lib/math.in.h (log2f): New declaration.
23729         * lib/log2f.c: New file.
23730         * m4/log2f.m4: New file.
23731         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
23732         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
23733         REPLACE_LOG2F.
23734         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
23735         REPLACE_LOG2F.
23736         * modules/log2f: New file.
23737         * tests/test-math-c++.cc: Check the declaration of log2f.
23738         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
23739         and OSF/1 and Cygwin problems.
23741 2012-03-11  Bruno Haible  <bruno@clisp.org>
23743         Tests for module 'log2'.
23744         * modules/log2-tests: New file.
23745         * tests/test-log2.c: New file.
23746         * tests/test-log2.h: New file.
23748         New module 'log2'.
23749         * lib/math.in.h (log2): New declaration.
23750         * lib/log2.c: New file.
23751         * m4/log2.m4: New file.
23752         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
23753         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
23754         REPLACE_LOG2.
23755         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
23756         REPLACE_LOG2.
23757         * modules/log2: New file.
23758         * tests/test-math-c++.cc: Check the declaration of log2.
23759         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
23760         and OSF/1 and Cygwin problems.
23762 2012-03-11  Bruno Haible  <bruno@clisp.org>
23764         exp2* tests: More tests.
23765         * tests/test-exp2.h (test_function): Test all integral arguments that
23766         don't need to overflow or denormalized numbers.
23767         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
23768         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
23769         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
23771 2012-03-10  Bruno Haible  <bruno@clisp.org>
23773         log1pl-ieee: Work around test failure on AIX 7.1.
23774         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
23776         log1pl-ieee: Work around test failure on IRIX 6.5.
23777         * m4/log1pl-ieee.m4: New file.
23778         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
23779         test whether log1pl works with a minus zero argument. Replace it if
23780         not.
23781         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
23782         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
23783         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
23784         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
23785         (Depends-on): Update conditions.
23786         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
23787         m4/signbit.m4.
23788         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
23789         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
23791         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
23792         * m4/log1pf-ieee.m4: New file.
23793         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
23794         test whether log1pf works with a minus zero argument. Replace it if
23795         not.
23796         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
23797         m4/signbit.m4.
23798         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
23799         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
23801         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
23802         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
23803         (configure.ac): Require gl_FUNC_LOG1PF.
23805         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
23806         * m4/log1p-ieee.m4: New file.
23807         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
23808         whether log1p works with a minus zero argument. Replace it if not.
23809         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
23810         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
23811         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
23812         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
23813         (Depends-on): Update conditions.
23814         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
23815         m4/signbit.m4.
23816         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
23817         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
23819         Tests for module 'log1pl-ieee'.
23820         * modules/log1pl-ieee-tests: New file.
23821         * tests/test-log1pl-ieee.c: New file.
23823         New module 'log1pl-ieee'.
23824         * modules/log1pl-ieee: New file.
23826         Tests for module 'log1p-ieee'.
23827         * modules/log1p-ieee-tests: New file.
23828         * tests/test-log1p-ieee.c: New file.
23830         New module 'log1p-ieee'.
23831         * modules/log1p-ieee: New file.
23833         Tests for module 'log1pf-ieee'.
23834         * modules/log1pf-ieee-tests: New file.
23835         * tests/test-log1pf-ieee.c: New file.
23836         * tests/test-log1p-ieee.h: New file.
23838         New module 'log1pf-ieee'.
23839         * modules/log1pf-ieee: New file.
23841 2012-03-10  Bruno Haible  <bruno@clisp.org>
23843         Tests for module 'log1pl'.
23844         * modules/log1pl-tests: New file.
23845         * tests/test-log1pl.c: New file.
23847         New module 'log1pl'.
23848         * lib/math.in.h (log1pl): New declaration.
23849         * lib/log1pl.c: New file.
23850         * m4/log1pl.m4: New file.
23851         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
23852         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
23853         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
23854         * modules/log1pl: New file.
23855         * tests/test-math-c++.cc: Check the declaration of log1pl.
23856         * doc/posix-functions/log1pl.texi: Mention the new module.
23858 2012-03-10  Bruno Haible  <bruno@clisp.org>
23860         Tests for module 'log1pf'.
23861         * modules/log1pf-tests: New file.
23862         * tests/test-log1pf.c: New file.
23864         New module 'log1pf'.
23865         * lib/math.in.h (log1pf): New declaration.
23866         * lib/log1pf.c: New file.
23867         * m4/log1pf.m4: New file.
23868         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
23869         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
23870         REPLACE_LOG1PF.
23871         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
23872         REPLACE_LOG1PF.
23873         * modules/log1pf: New file.
23874         * tests/test-math-c++.cc: Check the declaration of log1pf.
23875         * doc/posix-functions/log1pf.texi: Mention the new module.
23877 2012-03-10  Bruno Haible  <bruno@clisp.org>
23879         log1p tests: More tests.
23880         * tests/test-log1p.h: New file.
23881         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
23882         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
23883         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
23884         (main): Invoke test_function.
23886         log1p: Provide replacement for Minix and MSVC.
23887         * lib/math.in.h (log1p): New declaration.
23888         * lib/log1p.c: New file.
23889         * m4/log1p.m4: New file.
23890         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
23891         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
23892         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
23893         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
23894         (Depends-on): Add math, isnand, log, round.
23895         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
23896         HAVE_LOG1P is 0.
23897         * tests/test-math-c++.cc: Check the declaration of log1p.
23898         * doc/posix-functions/log1p.texi: Mention the replacement.
23900 2012-03-10  Bruno Haible  <bruno@clisp.org>
23902         math tests: Small simplification.
23903         * tests/test-exp.h (test_function): Use the same err_bound for
23904         'double' on platforms with sizeof (long double) == sizeof (double)
23905         than on platforms with sizeof (long double) > sizeof (double).
23906         * tests/test-exp2.h (test_function): Likewise.
23907         * tests/test-expm1.h (test_function): Likewise.
23908         * tests/test-log.h (test_function): Likewise.
23910 2012-03-10  Bruno Haible  <bruno@clisp.org>
23912         Fix some comments.
23913         * lib/expl.c: Fix an ambiguous comment.
23914         * lib/expm1.c: Likewise.
23915         * lib/expm1l.c: Likewise.
23916         * lib/exp2.c: Likewise.
23917         * lib/exp2l.c: Likewise.
23919 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
23921         regex: allow inclusion of <regex.h> before <limits.h>
23922         Without this patch, portable programs had to include <limits.h> before
23923         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
23924         I ran into this problem with a test version of GNU grep on Solaris 8.
23925         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
23926         This is done conditionally so that this change can be merged
23927         back to glibc.
23928         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
23929         using the included regex.
23931         fts: depend on fdopendir
23932         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
23933         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
23934         problem was introduced when fdopendir was split out.
23936 2012-03-10  Bruno Haible  <bruno@clisp.org>
23938         Remove unused variables.
23939         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
23940         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
23942 2012-03-10  Bruno Haible  <bruno@clisp.org>
23944         isnanf-nolibm: Fix last commit.
23945         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
23947         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
23948         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
23950 2012-03-10  Bruno Haible  <bruno@clisp.org>
23952         logf-ieee: Work around test failure on NetBSD 5.1.
23953         * m4/logf-ieee.m4: New file.
23954         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
23955         whether logf works with a negative argument. Replace it if not.
23956         * lib/logf.c (logf): For negative arguments, return NaN.
23957         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
23958         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
23959         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
23961         logf-ieee: Work around test failure on Solaris 9.
23962         * modules/logf-ieee (Depends-on): Add log-ieee.
23963         (configure.ac): Require gl_FUNC_LOGF.
23965         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
23966         * m4/log-ieee.m4: New file.
23967         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
23968         log works with a negative argument. Replace it if not.
23969         * lib/log.c (log): For negative arguments, return NaN.
23970         * modules/log-ieee (Files): Add m4/log-ieee.m4.
23971         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
23972         * doc/posix-functions/log.texi: Mention the log-ieee module.
23974         Tests for module 'logl-ieee'.
23975         * modules/logl-ieee-tests: New file.
23976         * tests/test-logl-ieee.c: New file.
23978         New module 'logl-ieee'.
23979         * modules/logl-ieee: New file.
23981         Tests for module 'log-ieee'.
23982         * modules/log-ieee-tests: New file.
23983         * tests/test-log-ieee.c: New file.
23985         New module 'log-ieee'.
23986         * modules/log-ieee: New file.
23988         Tests for module 'logf-ieee'.
23989         * modules/logf-ieee-tests: New file.
23990         * tests/test-logf-ieee.c: New file.
23991         * tests/test-log-ieee.h: New file.
23993         New module 'logf-ieee'.
23994         * modules/logf-ieee: New file.
23996 2012-03-10  Bruno Haible  <bruno@clisp.org>
23998         log: Fix bug introduced on 2012-03-09.
23999         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
24001 2012-03-10  Pádraig Brady  <P@draigBrady.com>
24003         timer-time: link explicitly with pthreads on glibc
24004         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
24005         to support static linking, when newer glibc is
24006         detected, as that contains pthread emulation of
24007         POSIX timer functions where required.
24008         * modules/timer-time: Depend on threadlib to
24009         pull in the appropriate library to link.
24011 2012-03-10  Bruno Haible  <bruno@clisp.org>
24013         log* tests: More tests.
24014         * tests/test-log.h: New file.
24015         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
24016         (main): Invoke test_function.
24017         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
24018         (main): Invoke test_function.
24019         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
24020         (main): Invoke test_function.
24021         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
24022         tests/randomd.c.
24023         (Makefile.am): Add randomd.c to test_log_SOURCES.
24024         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
24025         tests/randomf.c.
24026         (Makefile.am): Add randomf.c to test_logf_SOURCES.
24027         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
24028         tests/randoml.c.
24029         (Depends-on): Add 'float'.
24030         (Makefile.am): Add randoml.c to test_logl_SOURCES.
24032 2012-03-09  Bruno Haible  <bruno@clisp.org>
24034         logl: Work around OSF/1 5.1 bug.
24035         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
24036         * lib/logl.c (logl): If logl exists, use it and provide just the
24037         workaround.
24038         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
24039         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
24040         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
24041         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
24042         * modules/logl (configure.ac): Consider REPLACE_LOGL.
24043         (Depends-on): Update conditions.
24044         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
24046 2012-03-09  Bruno Haible  <bruno@clisp.org>
24048         logf: Work around OSF/1 5.1 bug.
24049         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
24050         * lib/logf.c (logf): If logf exists, use it and provide just the
24051         workaround.
24052         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
24053         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
24054         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
24055         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
24056         * modules/logf (configure.ac): Consider REPLACE_LOGF.
24057         (Depends-on): Update conditions.
24058         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
24060 2012-03-09  Bruno Haible  <bruno@clisp.org>
24062         log: Work around OSF/1 5.1 bug.
24063         * lib/math.in.h (log): New declaration.
24064         * lib/log.c: New file.
24065         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
24066         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
24067         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
24068         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
24069         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
24070         * modules/log (Files): Add lib/log.c.
24071         (Depends-on): Add math.
24072         (configure.ac): If REPLACE_LOG is 1, compile an override.
24073         * tests/test-math-c++.cc: Check the declaration of log.
24074         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
24076 2012-03-09  Jim Meyering  <meyering@redhat.com>
24078         readtokens.c: adjust wording in a comment
24079         * lib/readtokens.c: Insert omitted "that" in a comment.
24081 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
24083         modechange: add notations +40, 00440, etc.
24084         * lib/modechange.c (mode_compile): Support new notations
24085         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
24087 2012-03-08  Bruno Haible  <bruno@clisp.org>
24089         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
24090         * m4/exp2l-ieee.m4: New file.
24091         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
24092         test whether exp2l works with a NaN argument and with a negative
24093         infinity argument. Replace it if not.
24094         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
24095         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
24096         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
24097         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
24098         (Depends-on): Update conditions.
24099         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
24100         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
24101         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
24103         Tests for module 'exp2l-ieee'.
24104         * modules/exp2l-ieee-tests: New file.
24105         * tests/test-exp2l-ieee.c: New file.
24107         New module 'exp2l-ieee'.
24108         * modules/exp2l-ieee: New file.
24110         Tests for module 'exp2-ieee'.
24111         * modules/exp2-ieee-tests: New file.
24112         * tests/test-exp2-ieee.c: New file.
24114         New module 'exp2-ieee'.
24115         * modules/exp2-ieee: New file.
24117         Tests for module 'exp2f-ieee'.
24118         * modules/exp2f-ieee-tests: New file.
24119         * tests/test-exp2f-ieee.c: New file.
24120         * tests/test-exp2-ieee.h: New file.
24122         New module 'exp2f-ieee'.
24123         * modules/exp2f-ieee: New file.
24125 2012-03-08  Bruno Haible  <bruno@clisp.org>
24127         Tests for module 'exp2l'.
24128         * modules/exp2l-tests: New file.
24129         * tests/test-exp2l.c: New file.
24131         New module 'exp2l'.
24132         * lib/math.in.h (exp2l): New declaration.
24133         * lib/exp2l.c: New file.
24134         * lib/expl-table.c: New file, extracted from lib/expl.c.
24135         * lib/expl.c (gl_expl_table): New declaration.
24136         (expl): Remove expl_table. Update reference.
24137         * m4/exp2l.m4: New file.
24138         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
24139         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
24140         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
24141         * modules/exp2l: New file.
24142         * modules/expl (Files): Add lib/expl-table.c.
24143         (configure.ac): Compile also expl-table.c.
24144         * tests/test-math-c++.cc: Check the declaration of exp2l.
24145         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
24146         problem.
24148 2012-03-08  Bruno Haible  <bruno@clisp.org>
24150         Tests for module 'exp2f'.
24151         * modules/exp2f-tests: New file.
24152         * tests/test-exp2f.c: New file.
24154         New module 'exp2f'.
24155         * lib/math.in.h (exp2f): New declaration.
24156         * lib/exp2f.c: New file.
24157         * m4/exp2f.m4: New file.
24158         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
24159         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
24160         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
24161         * modules/exp2f: New file.
24162         * tests/test-math-c++.cc: Check the declaration of exp2f.
24163         * doc/posix-functions/exp2f.texi: Mention the new module and the
24164         IRIX problem.
24166 2012-03-08  Bruno Haible  <bruno@clisp.org>
24168         Tests for module 'exp2'.
24169         * modules/exp2-tests: New file.
24170         * tests/test-exp2.c: New file.
24171         * tests/test-exp2.h: New file.
24173         New module 'exp2'.
24174         * lib/math.in.h (exp2): New declaration.
24175         * lib/exp2.c: New file.
24176         * m4/exp2.m4: New file.
24177         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
24178         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
24179         REPLACE_EXP2.
24180         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
24181         REPLACE_EXP2.
24182         * modules/exp2: New file.
24183         * tests/test-math-c++.cc: Check the declaration of exp2.
24184         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
24185         and OpenBSD problems.
24187 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
24189         savedir: fix comment typo
24190         * lib/savedir.c (savedirstream): Fix typo in comment.
24192 2012-03-08  Bruno Haible  <bruno@clisp.org>
24194         test-readtokens.c: use const; remove unwarranted cast
24195         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
24197 2012-03-08  Bruno Haible  <bruno@clisp.org>
24199         fmal: Avoid compilation error on AIX.
24200         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
24201         AIX 5.2..7.1.
24203 2012-03-08  Bruno Haible  <bruno@clisp.org>
24205         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
24206         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
24207         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
24208         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
24209         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
24210         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
24211         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
24213 2012-03-08  Bruno Haible  <bruno@clisp.org>
24215         remainderf: Override buggy system function on IRIX 6.5.
24216         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
24217         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
24218         when it exists.
24219         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
24221 2012-03-08  Jim Meyering  <meyering@redhat.com>
24223         test-readtokens.c: avoid const-related compilation warnings
24224         * tests/test-readtokens.c: Avoid const-related compilation warnings.
24226 2012-03-07  Jim Meyering  <meyering@redhat.com>
24227             Bruno Haible  <bruno@clisp.org>
24229         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
24230         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
24231         tests/randomd.c.
24232         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
24233         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
24234         tests/randoml.c.
24235         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
24237 2012-03-07  Bruno Haible  <bruno@clisp.org>
24239         expm1l: Avoid compilation error on AIX.
24240         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
24241         AIX 5.2..7.1.
24243 2012-03-07  Bruno Haible  <bruno@clisp.org>
24245         expm1l: Don't override undeclared system function on IRIX 6.5.
24246         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
24247         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
24248         it exists. Set HAVE_DECL_EXPM1L.
24249         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
24250         HAVE_EXPM1L.
24251         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
24252         HAVE_EXPM1L.
24253         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
24255 2012-03-07  Bruno Haible  <bruno@clisp.org>
24257         remainderl: Don't override undeclared system function on IRIX 6.5.
24258         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
24259         HAVE_REMAINDERL.
24260         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
24261         declared when it exists. Set HAVE_DECL_REMAINDERL.
24262         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
24263         not HAVE_REMAINDERL.
24264         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
24265         HAVE_REMAINDERL.
24266         * doc/posix-functions/remainderl.texi: Mention missing declaration
24267         problem.
24269 2012-03-07  Bruno Haible  <bruno@clisp.org>
24271         rintf: Don't override undeclared system function on IRIX 6.5.
24272         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
24273         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
24274         exists. Set HAVE_DECL_RINTF.
24275         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
24276         HAVE_RINTF.
24277         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
24278         HAVE_RINTF.
24279         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
24281 2012-03-07  Bruno Haible  <bruno@clisp.org>
24283         roundl: Avoid compilation error on AIX.
24284         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
24285         AIX 5.2..7.1.
24287 2012-03-07  Bruno Haible  <bruno@clisp.org>
24289         roundl: Don't override undeclared system function on IRIX 6.5.
24290         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
24291         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
24292         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
24293         * modules/roundl (configure.ac): For replacement code, test
24294         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
24295         (Depends-on): Update conditions.
24296         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
24298 2012-03-07  Bruno Haible  <bruno@clisp.org>
24300         roundf: Don't override undeclared system function on IRIX 6.5.
24301         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
24302         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
24303         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
24304         * modules/roundf (configure.ac): For replacement code, test
24305         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
24306         (Depends-on): Update conditions.
24307         * modules/roundf-ieee (Depends-on): Update conditions.
24308         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
24310 2012-03-07  Bruno Haible  <bruno@clisp.org>
24312         round: Don't override undeclared system function on IRIX 6.5.
24313         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
24314         argument.
24315         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
24316         also when it is not declared. Set HAVE_ROUND. For replacement code,
24317         test HAVE_ROUND, not HAVE_DECL_ROUND.
24318         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
24319         not HAVE_DECL_ROUND.
24320         (Depends-on): Update conditions.
24321         * modules/round-ieee (Depends-on): Update conditions.
24322         * doc/posix-functions/round.texi: Mention the IRIX problem.
24324 2012-03-07  Bruno Haible  <bruno@clisp.org>
24326         copysignf: Don't override undeclared system function on IRIX 6.5.
24327         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
24328         HAVE_COPYSIGNF.
24329         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
24330         declared when it exists. Set HAVE_DECL_COPYSIGNF.
24331         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
24332         not HAVE_COPYSIGNF.
24333         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
24334         HAVE_COPYSIGNF.
24335         * doc/posix-functions/copysignf.texi: Mention missing declaration
24336         problem.
24338 2012-03-07  Jim Meyering  <meyering@redhat.com>
24340         readtokens: add tests
24341         * modules/readtokens-tests: New file.
24342         * tests/test-readtokens.c: New file.
24344 2012-03-07  Jim Meyering  <meyering@redhat.com>
24346         quotearg: the module must now include quote.h
24347         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
24348         So must the module.
24349         * modules/quotearg (Files): Add quote.h.
24351 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
24353         readtokens: avoid core dumps with unusual calling patterns
24354         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
24355         * lib/readtokens.c: Include limits.h.
24356         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
24357         (readtoken): Don't cache the delimiters; the cache code was buggy
24358         if !delim && saved_delim, or if the new n_delim differs from the old.
24359         Also, it wasn't thread-safe.
24361 2012-03-07  Bruno Haible  <bruno@clisp.org>
24363         quote: Adhere to common module description layout.
24364         * modules/quote (Makefile.am): Add back empty section.
24366 2012-03-06  Akim Demaille  <demaille@gostai.com>
24368         quote: fuse into quotearg
24369         This patch is made for the benefit of Bison.
24370         quote does not leave the choice of the quoting style to the user.
24371         quoting_style provides poor customizability, yet quoting_options,
24372         which is very rich, is hidden inside quotearg.c.  So in order to
24373         allow quote customization, move its implementation to quotearg.c.
24374         * lib/quote.c: Remove.
24375         * modules/quote: Adjust.
24376         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
24377         warning: provide all the members of literal structs.
24378         (quote_quoting_options): New.
24379         (quote, quote_n): Import implementation from quote.c.
24380         * lib/quote.h: Import the comments from quote.c.
24381         (quote_quoting_options): New.
24383 2012-03-06  Bruno Haible  <bruno@clisp.org>
24385         Tests for module 'expm1l-ieee'.
24386         * modules/expm1l-ieee-tests: New file.
24387         * tests/test-expm1l-ieee.c: New file.
24389         New module 'expm1l-ieee'.
24390         * modules/expm1l-ieee: New file.
24392         Tests for module 'expm1f-ieee'.
24393         * modules/expm1f-ieee-tests: New file.
24394         * tests/test-expm1f-ieee.c: New file.
24396         New module 'expm1f-ieee'.
24397         * modules/expm1f-ieee: New file.
24399         Tests for module 'expm1-ieee'.
24400         * modules/expm1-ieee-tests: New file.
24401         * tests/test-expm1-ieee.c: New file.
24402         * tests/test-expm1-ieee.h: New file.
24404         New module 'expm1-ieee'.
24405         * modules/expm1-ieee: New file.
24406         * m4/expm1-ieee.m4: New file.
24407         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
24408         whether expm1 works with a minus zero argument. Replace it if not.
24409         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
24410         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
24411         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
24412         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
24413         (Depends-on): Update conditions.
24414         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
24415         AIX problem.
24417 2012-03-06  Bruno Haible  <bruno@clisp.org>
24419         Work around expm1f bug on IRIX 6.5.
24420         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
24421         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
24422         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
24423         not work.
24424         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
24425         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
24426         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
24427         (Depends-on): Update conditions.
24428         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
24430 2012-03-06  Bruno Haible  <bruno@clisp.org>
24432         Tests for module 'expm1l'.
24433         * modules/expm1l-tests: New file.
24434         * tests/test-expm1l.c: New file.
24436         New module 'expm1l'.
24437         * lib/math.in.h (expm1l): New declaration.
24438         * lib/expm1l.c: New file.
24439         * m4/expm1l.m4: New file.
24440         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
24441         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
24442         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
24443         * modules/expm1l: New file.
24444         * tests/test-math-c++.cc: Check the declaration of expm1l.
24445         * doc/posix-functions/expm1l.texi: Mention the new module.
24447 2012-03-06  Bruno Haible  <bruno@clisp.org>
24449         Tests for module 'expm1f'.
24450         * modules/expm1f-tests: New file.
24451         * tests/test-expm1f.c: New file.
24453         New module 'expm1f'.
24454         * lib/math.in.h (expm1f): New declaration.
24455         * lib/expm1f.c: New file.
24456         * m4/expm1f.m4: New file.
24457         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
24458         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
24459         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
24460         * modules/expm1f: New file.
24461         * tests/test-math-c++.cc: Check the declaration of expm1f.
24462         * doc/posix-functions/expm1f.texi: Mention the new module.
24464 2012-03-06  Bruno Haible  <bruno@clisp.org>
24466         Tests for module 'expm1'.
24467         * modules/expm1-tests: New file.
24468         * tests/test-expm1.c: New file.
24469         * tests/test-expm1.h: New file.
24471         New module 'expm1'.
24472         * lib/math.in.h (expm1): New declaration.
24473         * lib/expm1.c: New file.
24474         * m4/expm1.m4: New file.
24475         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
24476         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
24477         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
24478         * modules/expm1: New file.
24479         * tests/test-math-c++.cc: Check the declaration of expm1.
24480         * doc/posix-functions/expm1.texi: Mention the new module.
24482 2012-03-06  Bruno Haible  <bruno@clisp.org>
24484         math: Ensure declarations of math functions.
24485         * modules/acosf (Depends-on): Add 'extensions'.
24486         * modules/asinf (Depends-on): Likewise.
24487         * modules/atan2f (Depends-on): Likewise.
24488         * modules/atanf (Depends-on): Likewise.
24489         * modules/cbrt (Depends-on): Likewise.
24490         * modules/cbrtf (Depends-on): Likewise.
24491         * modules/cbrtl (Depends-on): Likewise.
24492         * modules/copysignf (Depends-on): Likewise.
24493         * modules/copysignl (Depends-on): Likewise.
24494         * modules/cosf (Depends-on): Likewise.
24495         * modules/coshf (Depends-on): Likewise.
24496         * modules/expf (Depends-on): Likewise.
24497         * modules/fabsf (Depends-on): Likewise.
24498         * modules/fabsl (Depends-on): Likewise.
24499         * modules/fmaf (Depends-on): Likewise.
24500         * modules/fmal (Depends-on): Likewise.
24501         * modules/fmodf (Depends-on): Likewise.
24502         * modules/fmodl (Depends-on): Likewise.
24503         * modules/frexpf (Depends-on): Likewise.
24504         * modules/frexpl (Depends-on): Likewise.
24505         * modules/hypot (Depends-on): Likewise.
24506         * modules/hypotf (Depends-on): Likewise.
24507         * modules/hypotl (Depends-on): Likewise.
24508         * modules/ldexpf (Depends-on): Likewise.
24509         * modules/ldexpl (Depends-on): Likewise.
24510         * modules/log10f (Depends-on): Likewise.
24511         * modules/log10l (Depends-on): Likewise.
24512         * modules/log1p (Depends-on): Likewise.
24513         * modules/logb (Depends-on): Likewise.
24514         * modules/logf (Depends-on): Likewise.
24515         * modules/modff (Depends-on): Likewise.
24516         * modules/modfl (Depends-on): Likewise.
24517         * modules/powf (Depends-on): Likewise.
24518         * modules/remainderf (Depends-on): Likewise.
24519         * modules/remainderl (Depends-on): Likewise.
24520         * modules/rintf (Depends-on): Likewise.
24521         * modules/rintl (Depends-on): Likewise.
24522         * modules/sinf (Depends-on): Likewise.
24523         * modules/sinhf (Depends-on): Likewise.
24524         * modules/sqrtf (Depends-on): Likewise.
24525         * modules/tanf (Depends-on): Likewise.
24526         * modules/tanhf (Depends-on): Likewise.
24527         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
24528         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
24529         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
24530         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
24531         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
24532         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
24533         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
24534         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
24535         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
24536         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
24537         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
24538         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
24539         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
24540         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
24541         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
24542         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
24543         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
24544         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
24545         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
24546         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
24547         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
24548         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
24549         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
24550         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
24551         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
24552         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
24553         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
24554         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
24555         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
24556         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
24557         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
24558         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
24559         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
24560         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
24561         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
24562         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
24563         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
24564         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
24565         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
24566         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
24567         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
24569 2012-03-06  Bruno Haible  <bruno@clisp.org>
24571         math: Update module names in warnings.
24572         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
24573         tanl): Use specific module name in warn-on-use warning.
24575 2012-03-06  Bruno Haible  <bruno@clisp.org>
24577         expl: Simplify computation.
24578         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
24580 2012-03-05  Bruno Haible  <bruno@clisp.org>
24582         exp* tests: More tests.
24583         * tests/test-exp.h: New file.
24584         * tests/test-exp.c: Include <float.h> and test-exp.h.
24585         (main): Invoke test_function.
24586         * tests/test-expf.c: Include <float.h> and test-exp.h.
24587         (main): Invoke test_function.
24588         * tests/test-expl.c: Include <float.h> and test-exp.h.
24589         (main): Invoke test_function.
24590         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
24591         (Makefile.am): Add randomd.c to test_exp_SOURCES.
24592         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
24593         (Makefile.am): Add randomf.c to test_expf_SOURCES.
24594         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
24595         (Depends-on): Add 'float'.
24596         (Makefile.am): Add randoml.c to test_expl_SOURCES.
24598         expl: Fix precision of computed result.
24599         * lib/expl.c: Completely rewritten.
24600         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
24601         (Maintainer): Add me.
24602         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
24604 2012-03-05  Bruno Haible  <bruno@clisp.org>
24606         cbrt* tests: More tests.
24607         * tests/test-cbrt.h: New file.
24608         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
24609         (main): Invoke test_function.
24610         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
24611         (main): Invoke test_function.
24612         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
24613         (main): Invoke test_function.
24614         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
24615         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
24616         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
24617         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
24618         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
24619         (Depends-on): Add 'float'.
24620         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
24622 2012-03-05  Bruno Haible  <bruno@clisp.org>
24624         hypot* tests: More tests.
24625         * tests/test-hypot.h: New file, partially extracted from
24626         tests/test-hypotl.c.
24627         * tests/test-hypot.c: Include test-hypot.h.
24628         (main): Invoke test_function.
24629         * tests/test-hypotf.c: Include test-hypot.h.
24630         (main): Invoke test_function.
24631         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
24632         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
24633         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
24634         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
24635         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
24636         tests/randomf.c.
24637         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
24638         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
24639         tests/randoml.c.
24640         (Depends-on): Add 'fpucw', 'float'.
24641         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
24643 2012-03-05  Bruno Haible  <bruno@clisp.org>
24645         fpucw: Doc about FreeBSD.
24646         * lib/fpucw.h: Mention FreeBSD in comments.
24648 2012-03-04  Bruno Haible  <bruno@clisp.org>
24650         sqrt* tests: More tests.
24651         * tests/test-sqrt.h: New file.
24652         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
24653         (main): Invoke test_function.
24654         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
24655         (main): Invoke test_function.
24656         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
24657         (main): Invoke test_function.
24658         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
24659         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
24660         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
24661         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
24662         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
24663         (Depends-on): Add 'float'.
24664         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
24666 2012-03-04  Bruno Haible  <bruno@clisp.org>
24668         remainder* tests: More tests.
24669         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
24670         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
24671         (main): Invoke test_function.
24672         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
24673         (main): Invoke test_function.
24674         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
24675         (main): Invoke test_function.
24676         * modules/remainder-tests (Files): Add tests/test-remainder.h,
24677         tests/randomd.c.
24678         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
24679         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
24680         tests/randomf.c.
24681         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
24682         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
24683         tests/randoml.c.
24684         (Depends-on): Add 'float'.
24685         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
24687 2012-03-04  Bruno Haible  <bruno@clisp.org>
24689         remainder, remainderf, remainderl: Fix computation for large quotients.
24690         * lib/remainder.c: Completely rewritten.
24691         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
24692         USE_FLOAT.
24693         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
24694         USE_LONG_DOUBLE.
24695         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
24696         isnand, isinf. Remove round, fma.
24697         * modules/remainderf (Files): Add lib/remainder.c.
24698         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
24699         Remove roundf, fmaf.
24700         * modules/remainderl (Files): Add lib/remainder.c.
24701         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
24702         isinf. Remove roundl, fmal.
24703         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
24704         REMAINDER_LIBM.
24705         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
24706         REMAINDERF_LIBM.
24707         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
24708         REMAINDERL_LIBM.
24710 2012-03-04  Bruno Haible  <bruno@clisp.org>
24712         fmod* tests: More tests.
24713         * tests/test-fmod.h (my_ldexp): New function.
24714         (test_function): Reduce amount of random numbers to test. Add tests
24715         of very large quotients x / y.
24716         * tests/test-fmod.c (MAX_EXP): New macro.
24717         * tests/test-fmodf.c (MAX_EXP): Likewise.
24718         * tests/test-fmodl.c (MAX_EXP): Likewise.
24720 2012-03-04  Bruno Haible  <bruno@clisp.org>
24722         fmod, fmodl: Fix computation for large quotients x / y.
24723         * lib/fmod.c: Completely rewritten.
24724         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
24725         USE_LONG_DOUBLE.
24726         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
24727         isnand. Remove fma.
24728         * modules/fmodl (Files): Add lib/fmod.c.
24729         (Depends-on): Add float, isfinite, signbit, fabsl,
24730         frexpl, ldexpl, isnanl. Remove fma.
24731         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
24732         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
24734 2012-03-03  Bruno Haible  <bruno@clisp.org>
24736         fmod* tests: More tests.
24737         * tests/test-fmod.h: New file.
24738         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
24739         (main): Invoke test_function.
24740         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
24741         (main): Invoke test_function.
24742         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
24743         (main): Invoke test_function.
24744         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
24745         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
24746         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
24747         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
24748         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
24749         (Depends-on): Add 'float'.
24750         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
24752 2012-03-03  Bruno Haible  <bruno@clisp.org>
24754         rint* tests: More tests.
24755         * tests/test-rint.h: New file, partially extracted from
24756         tests/test-rintl.c.
24757         * tests/test-rint.c: Include test-rint.h.
24758         (main): Invoke test_function.
24759         * tests/test-rintf.c: Include test-rint.h.
24760         (main): Invoke test_function.
24761         * tests/test-rintl.c: Include test-rint.h.
24762         (main): Invoke test_function.
24763         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
24764         (Makefile.am): Add randomd.c to test_rint_SOURCES.
24765         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
24766         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
24767         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
24768         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
24770 2012-03-03  Bruno Haible  <bruno@clisp.org>
24772         modf* tests: More tests.
24773         * tests/test-modf.h: New file.
24774         * tests/test-modf.c: Include <float.h> and test-modf.h.
24775         (main): Invoke test_function.
24776         * tests/test-modff.c: Include <float.h> and test-modf.h.
24777         (main): Invoke test_function.
24778         * tests/test-modfl.c: Include <float.h> and test-modf.h.
24779         (main): Invoke test_function.
24780         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
24781         (Makefile.am): Add randomd.c to test_modf_SOURCES.
24782         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
24783         (Makefile.am): Add randomf.c to test_modff_SOURCES.
24784         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
24785         (Depends-on): Add 'float'.
24786         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
24788 2012-03-03  Bruno Haible  <bruno@clisp.org>
24790         fabs* tests: More tests.
24791         * tests/test-fabs.h: New file, partially extracted from
24792         tests/test-fabsl.c.
24793         * tests/test-fabs.c (RANDOM): New macro.
24794         * tests/test-fabsf.c (RANDOM): New macro.
24795         * tests/test-fabsl.c (RANDOM): New macro.
24796         * modules/fabs-tests (Files): Add tests/randomd.c.
24797         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
24798         * modules/fabsf-tests (Files): Add tests/randomf.c.
24799         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
24800         * modules/fabsl-tests (Files): Add tests/randoml.c.
24801         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
24803 2012-03-03  Bruno Haible  <bruno@clisp.org>
24805         ldexp* tests: More tests.
24806         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
24807         * tests/test-ldexp.c (RANDOM): New macro.
24808         * tests/test-ldexpf.c (RANDOM): New macro.
24809         * tests/test-ldexpl.c (RANDOM): New macro.
24810         * modules/ldexp-tests (Files): Add tests/randomd.c.
24811         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
24812         * modules/ldexpf-tests (Files): Add tests/randomf.c.
24813         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
24814         * modules/ldexpl-tests (Files): Add tests/randoml.c.
24815         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
24817 2012-03-03  Bruno Haible  <bruno@clisp.org>
24819         frexp* tests: More tests.
24820         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
24821         * tests/test-frexp.c (RANDOM): New macro.
24822         * tests/test-frexpf.c (RANDOM): New macro.
24823         * tests/test-frexpl.c (RANDOM): New macro.
24824         * modules/frexp-tests (Files): Add tests/randomd.c.
24825         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
24826         * modules/frexpf-tests (Files): Add tests/randomf.c.
24827         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
24828         * modules/frexpl-tests (Files): Add tests/randoml.c.
24829         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
24831 2012-03-03  Bruno Haible  <bruno@clisp.org>
24833         Support for pseudo-random numbers in tests.
24834         * tests/randomf.c: New file.
24835         * tests/randomd.c: New file.
24836         * tests/randoml.c: New file.
24837         * tests/macros.h (randomf, randomd, randoml): New declarations.
24839 2012-03-03  Bruno Haible  <bruno@clisp.org>
24841         frexp* tests: Refactor.
24842         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
24843         * tests/test-frexp.c: Include and use it.
24844         * tests/test-frexpf.c: Likewise.
24845         * tests/test-frexpl.c: Likewise.
24846         * modules/frexp-tests (Files): Add tests/test-frexp.h.
24847         * modules/frexpf-tests (Files): Likewise.
24848         * modules/frexpl-tests (Files): Likewise.
24850 2012-03-02  Jim Meyering  <meyering@redhat.com>
24852         maint: don't specify XZ_OPT=-9ev in dist-related rule
24853         Using xz's -9 option is warranted only if you have a very large
24854         tarball (see xz's documentation for the sizes vs. presets), and
24855         requires 64MiB of memory at decompression time.
24856         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
24857         Automake's default of just "-e" is fine.  Override on a
24858         per-package basis by setting XZ_OPT e.g., in cfg.mk.
24860 2012-03-01  Eric Blake  <eblake@redhat.com>
24862         maint.mk: allow announcement for non-gnulib project
24863         * maint.mk (announcement): Skip gnulib version if not used.
24865 2012-03-01  Jim Meyering  <meyering@redhat.com>
24867         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
24868         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
24869         envvar settings cannot interfere.  Otherwise, setting envvars like
24870         prohibit=foo require=bar, etc. would cause spurious test failures.
24872 2012-03-01  Eric Blake  <eblake@redhat.com>
24874         maint.mk: add per-line exclusions to prohibitions
24875         * maint.mk (_sc_search_regexp): Add $exclude parameter.
24876         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
24877         (sc_const_long_option): Use it.
24879 2012-03-01  Bruno Haible  <bruno@clisp.org>
24881         Tests for module 'expl-ieee'.
24882         * modules/expl-ieee-tests: New file.
24883         * tests/test-expl-ieee.c: New file.
24885         New module 'expl-ieee'.
24886         * modules/expl-ieee: New file.
24888         Tests for module 'exp-ieee'.
24889         * modules/exp-ieee-tests: New file.
24890         * tests/test-exp-ieee.c: New file.
24892         New module 'exp-ieee'.
24893         * modules/exp-ieee: New file.
24895         Tests for module 'expf-ieee'.
24896         * modules/expf-ieee-tests: New file.
24897         * tests/test-expf-ieee.c: New file.
24898         * tests/test-exp-ieee.h: New file.
24900         New module 'expf-ieee'.
24901         * modules/expf-ieee: New file.
24903 2012-02-29  Bruno Haible  <bruno@clisp.org>
24905         cbrtl-ieee: Work around test failure on IRIX 6.5.
24906         * m4/cbrtl-ieee.m4: New file.
24907         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
24908         test whether cbrtl works with a minus zero argument. Replace it if not.
24909         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
24910         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
24911         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
24912         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
24913         (Depends-on): Update conditions.
24914         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
24915         m4/signbit.m4.
24916         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
24917         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
24918         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
24920         Tests for module 'cbrtl-ieee'.
24921         * modules/cbrtl-ieee-tests: New file.
24922         * tests/test-cbrtl-ieee.c: New file.
24924         New module 'cbrtl-ieee'.
24925         * modules/cbrtl-ieee: New file.
24927         Tests for module 'cbrt-ieee'.
24928         * modules/cbrt-ieee-tests: New file.
24929         * tests/test-cbrt-ieee.c: New file.
24931         New module 'cbrt-ieee'.
24932         * modules/cbrt-ieee: New file.
24934         Tests for module 'cbrtf-ieee'.
24935         * modules/cbrtf-ieee-tests: New file.
24936         * tests/test-cbrtf-ieee.c: New file.
24937         * tests/test-cbrt-ieee.h: New file.
24939         New module 'cbrtf-ieee'.
24940         * modules/cbrtf-ieee: New file.
24942 2012-02-29  Bruno Haible  <bruno@clisp.org>
24944         cbrtf: Work around bug in IRIX 6.5 system function.
24945         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
24946         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
24947         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
24948         work.
24949         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
24950         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
24951         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
24952         (Depends-on): Update conditions.
24953         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
24955 2012-02-29  Bruno Haible  <bruno@clisp.org>
24957         Tests for module 'cbrtl'.
24958         * modules/cbrtl-tests: New file.
24959         * tests/test-cbrtl.c: New file.
24961         New module 'cbrtl'.
24962         * lib/math.in.h (cbrtl): New declaration.
24963         * lib/cbrtl.c: New file.
24964         * m4/cbrtl.m4: New file.
24965         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
24966         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
24967         HAVE_DECL_CBRTL.
24968         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
24969         HAVE_DECL_CBRTL.
24970         * modules/cbrtl: New file.
24971         * tests/test-math-c++.cc: Check the declaration of cbrtl.
24972         * doc/posix-functions/cbrtl.texi: Mention the new module.
24974 2012-02-29  Bruno Haible  <bruno@clisp.org>
24976         Tests for module 'cbrtf'.
24977         * modules/cbrtf-tests: New file.
24978         * tests/test-cbrtf.c: New file.
24980         New module 'cbrtf'.
24981         * lib/math.in.h (cbrtf): New declaration.
24982         * lib/cbrtf.c: New file.
24983         * m4/cbrtf.m4: New file.
24984         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
24985         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
24986         HAVE_DECL_CBRTF.
24987         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
24988         HAVE_DECL_CBRTF.
24989         * modules/cbrtf: New file.
24990         * tests/test-math-c++.cc: Check the declaration of cbrtf.
24991         * doc/posix-functions/cbrtf.texi: Mention the new module.
24993 2012-02-29  Bruno Haible  <bruno@clisp.org>
24995         cbrt: Provide replacement on MSVC and Minix.
24996         * lib/math.in.h (cbrt): New declaration.
24997         * lib/cbrt.c: New file.
24998         * m4/cbrt.m4: New file.
24999         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
25000         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
25001         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
25002         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
25003         (Depends-on): Add dependencies.
25004         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
25005         * tests/test-math-c++.cc: Check the declaration of cbrt.
25006         * doc/posix-functions/cbrt.texi: Mention that the module provides a
25007         replacement.
25009 2012-02-29  Bruno Haible  <bruno@clisp.org>
25011         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
25012         * m4/hypotl-ieee.m4: New file.
25013         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
25014         test whether hypotl works with mixed NaN and Infinity arguments.
25015         Replace it if not.
25016         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
25017         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
25018         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
25019         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
25020         (Depends-on): Update conditions.
25021         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
25022         (Depends-on): Add hypot-ieee.
25023         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
25024         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
25026         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
25027         * m4/hypotf-ieee.m4: New file.
25028         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
25029         test whether hypotf works with mixed NaN and Infinity arguments.
25030         Replace it if not.
25031         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
25032         (Depends-on): Add hypot-ieee.
25033         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
25034         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
25036         hypot-ieee: Work around test failure on OSF/1 and native Windows.
25037         * lib/math.in.h (hypot): New declaration.
25038         * lib/hypot.c: New file.
25039         * m4/hypot-ieee.m4: New file.
25040         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
25041         whether hypot works with mixed NaN and Infinity arguments. Replace it
25042         if not.
25043         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
25044         REPLACE_HYPOT.
25045         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
25046         * modules/hypot (Files): Add lib/hypot.c.
25047         (Depends-on): Add dependencies.
25048         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
25049         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
25050         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
25051         * tests/test-math-c++.cc: Check the declaration of hypot.
25052         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
25054         Tests for module 'hypotl-ieee'.
25055         * modules/hypotl-ieee-tests: New file.
25056         * tests/test-hypotl-ieee.c: New file.
25058         New module 'hypotl-ieee'.
25059         * modules/hypotl-ieee: New file.
25061         Tests for module 'hypot-ieee'.
25062         * modules/hypot-ieee-tests: New file.
25063         * tests/test-hypot-ieee.c: New file.
25065         New module 'hypot-ieee'.
25066         * modules/hypot-ieee: New file.
25068         Tests for module 'hypotf-ieee'.
25069         * modules/hypotf-ieee-tests: New file.
25070         * tests/test-hypotf-ieee.c: New file.
25071         * tests/test-hypot-ieee.h: New file.
25073         New module 'hypotf-ieee'.
25074         * modules/hypotf-ieee: New file.
25076 2012-02-29  Bruno Haible  <bruno@clisp.org>
25078         Remove unused variables.
25079         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
25080         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
25081         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
25082         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
25084 2012-02-29  Eric Blake  <eblake@redhat.com>
25086         termios: fix pid_t always, not just for tcgetsid
25087         * doc/posix-headers/termios.texi (termios.h): Mention problem.
25088         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
25089         just when building tcgetsid.
25091 2012-02-29  Bruno Haible  <bruno@clisp.org>
25093         Tests for module 'hypotl'.
25094         * modules/hypotl-tests: New file.
25095         * tests/test-hypotl.c: New file.
25097         New module 'hypotl'.
25098         * lib/math.in.h (hypotl): New declaration.
25099         * lib/hypotl.c: New file.
25100         * m4/hypotl.m4: New file.
25101         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
25102         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
25103         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
25104         * modules/hypotl: New file.
25105         * tests/test-math-c++.cc: Check the hypotl declaration.
25106         * doc/posix-functions/hypotl.texi: Mention the new module.
25108 2012-02-29  Eric Blake  <eblake@redhat.com>
25110         tcgetsid: fix cygwin header bug
25111         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
25113         docs: update cygwin progress
25114         * doc/posix-functions/llround.texi (llround): Added in cygwin
25115         1.7.8.
25116         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
25117         * doc/glibc-functions/program_invocation_name.texi
25118         (program_invocation_name): Likewise.
25119         * doc/glibc-functions/program_invocation_short_name.texi
25120         (program_invocation_short_name): Likewise.
25121         * doc/glibc-functions/madvise.texi (madvise): Likewise.
25122         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
25123         Likewise.
25124         * doc/posix-functions/pthread_spin_destroy.texi
25125         (pthread_spin_destroy): Added in cygwin 1.7.10.
25126         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
25127         Likewise.
25128         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
25129         Likewise.
25130         * doc/posix-functions/pthread_spin_trylock.texi
25131         (pthread_spin_trylock): Likewise.
25132         * doc/posix-functions/pthread_spin_unlock.texi
25133         (pthread_spin_unlock): Likewise.
25134         * doc/posix-functions/pthread_setschedprio.texi
25135         (pthread_setschedprio): Likewise.
25136         * doc/posix-functions/pthread_attr_getstack.texi
25137         (pthread_attr_getstack): Likewise.
25138         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
25139         (pthread_attr_getstackaddr): Likewise.
25140         * doc/glibc-functions/pthread_getattr_np.texi
25141         (pthread_getattr_np): Likewise.
25142         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
25143         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
25144         * doc/posix-functions/clock_settime.texi (clock_settime):
25145         Likewise.
25146         * doc/posix-functions/pthread_attr_getguardsize.texi
25147         (pthread_attr_getguardsize): Likewise.
25148         * doc/posix-functions/pthread_attr_setguardsize.texi
25149         (pthread_attr_setguardsize): Likewise.
25150         * doc/posix-functions/pthread_attr_setstack.texi
25151         (pthread_attr_setstack): Likewise.
25152         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
25153         (pthread_attr_setstackaddr): Likewise.
25154         * doc/posix-functions/clock_getcpuclockid.texi
25155         (clock_getcpuclockid): Likewise.
25156         * doc/posix-functions/pthread_getcpuclockid.texi
25157         (pthread_getcpuclockid): Likewise.
25158         * doc/glibc-functions/error.texi (error): Likewise.
25159         * doc/glibc-functions/error_at_line.texi (error_at_line):
25160         Likewise.
25161         * doc/glibc-functions/error_message_count.texi
25162         (error_message_count): Likewise.
25163         * doc/glibc-functions/error_one_per_line.texi
25164         (error_one_per_line): Likewise.
25165         * doc/glibc-functions/error_print_progname.texi
25166         (error_print_progname): Likewise.
25167         * doc/posix-functions/pthread_condattr_getclock.texi
25168         (pthread_condattr_getclock): Likewise.
25169         * doc/posix-functions/pthread_condattr_setclock.texi
25170         (pthread_condattr_setclock): Likewise.
25171         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
25172         Likewise.
25173         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
25174         * doc/glibc-functions/getpt.texi (getpt): Likewise.
25175         * doc/glibc-functions/get_current_dir_name.texi
25176         (get_current_dir_name): Likewise.
25177         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
25178         Likewise.
25179         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
25180         wrong return type.
25181         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
25182         1.7.11.
25184 2012-02-29  Bruno Haible  <bruno@clisp.org>
25186         Tests for module 'hypotf'.
25187         * modules/hypotf-tests: New file.
25188         * tests/test-hypotf.c: New file.
25190         New module 'hypotf'.
25191         * lib/math.in.h (hypotf): New declaration.
25192         * lib/hypotf.c: New file.
25193         * m4/hypotf.m4: New file.
25194         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
25195         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
25196         REPLACE_HYPOTF.
25197         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
25198         REPLACE_HYPOTF.
25199         * modules/hypotf: New file.
25200         * tests/test-math-c++.cc: Check the hypotf declaration.
25201         * doc/posix-functions/hypotf.texi: Mention the new module.
25203         hypot: Prepare for hypotf module.
25204         * m4/hypot.m4: New file.
25205         * modules/hypot (Files): Add m4/hypot.m4.
25206         (configure.ac): Invoke gl_FUNC_HYPOT.
25208 2012-02-29  Bruno Haible  <bruno@clisp.org>
25210         hypot tests: More tests.
25211         * tests/test-hypot.c: Include <float.h>.
25212         (main): Add tests about overflow and underflow.
25214 2012-02-29  Bruno Haible  <bruno@clisp.org>
25216         math code: Add comments.
25217         * lib/acosl.c: Add comment about related glibc source files.
25218         * lib/asinl.c: Likewise.
25219         * lib/atanl.c: Likewise.
25220         * lib/expl.c: Likewise.
25221         * lib/logl.c: Likewise.
25222         * lib/sincosl.c: Likewise.
25223         * lib/sinl.c: Likewise.
25224         * lib/tanl.c: Likewise.
25225         * lib/trigl.c: Likewise.
25226         * lib/cosl.c: Likewise. Fix comments.
25228 2012-02-28  Bruno Haible  <bruno@clisp.org>
25230         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
25231         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
25232         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
25233         HUGE_VALL are defined.
25234         (numeric_equald): Renamed from numeric_equal.
25235         (numeric_equalf, numeric_equall): New functions.
25236         (main): Check also HUGE_VALF, HUGE_VALL.
25237         * modules/math-tests (Files): Add tests/macros.h.
25238         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
25239         HUGE_VALL.
25241 2012-02-28  Bruno Haible  <bruno@clisp.org>
25243         doc: Move ISO C11 feature notes into POSIX chapters.
25244         * doc/posix-functions/aligned_alloc.texi: Renamed from
25245         doc/glibc-functions/aligned_alloc.texi.
25246         * doc/posix-functions/quick_exit.texi: Renamed from
25247         doc/glibc-functions/quick_exit.texi.
25248         * doc/posix-headers/uchar.texi: Renamed from
25249         doc/glibc-headers/uchar.texi.
25250         * doc/posix-functions/c16rtomb.texi: Renamed from
25251         doc/glibc-functions/c16rtomb.texi.
25252         * doc/posix-functions/c32rtomb.texi: Renamed from
25253         doc/glibc-functions/c32rtomb.texi.
25254         * doc/posix-functions/mbrtoc16.texi: Renamed from
25255         doc/glibc-functions/mbrtoc16.texi.
25256         * doc/posix-functions/mbrtoc32.texi: Renamed from
25257         doc/glibc-functions/mbrtoc32.texi.
25258         * doc/gnulib.texi: Update.
25259         (Glibc uchar.h): Remove section.
25260         Suggested by Eric Blake.
25262 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
25264         stdnoreturn: port to MSVC better
25265         MSVC standard headers use __declspec(noreturn), so #define noreturn
25266         to empty on that platform.  Reported by Bruno Haible in
25267         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
25268         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
25269         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
25271 2012-02-28  Bruno Haible  <bruno@clisp.org>
25273         doc: Mention new glibc headers and functions.
25274         * doc/glibc-headers/uchar.texi: New file.
25275         * doc/glibc-functions/aligned_alloc.texi: New file.
25276         * doc/glibc-functions/c16rtomb.texi: New file.
25277         * doc/glibc-functions/c32rtomb.texi: New file.
25278         * doc/glibc-functions/clock_adjtime.texi: New file.
25279         * doc/glibc-functions/fanotify_init.texi: New file.
25280         * doc/glibc-functions/fanotify_mark.texi: New file.
25281         * doc/glibc-functions/inet6_opt_append.texi: New file.
25282         * doc/glibc-functions/inet6_opt_find.texi: New file.
25283         * doc/glibc-functions/inet6_opt_finish.texi: New file.
25284         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
25285         * doc/glibc-functions/inet6_opt_init.texi: New file.
25286         * doc/glibc-functions/inet6_opt_next.texi: New file.
25287         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
25288         * doc/glibc-functions/inet6_rth_add.texi: New file.
25289         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
25290         * doc/glibc-functions/inet6_rth_init.texi: New file.
25291         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
25292         * doc/glibc-functions/inet6_rth_segments.texi: New file.
25293         * doc/glibc-functions/inet6_rth_space.texi: New file.
25294         * doc/glibc-functions/login.texi: New file.
25295         * doc/glibc-functions/mbrtoc16.texi: New file.
25296         * doc/glibc-functions/mbrtoc32.texi: New file.
25297         * doc/glibc-functions/name_to_handle_at.texi: New file.
25298         * doc/glibc-functions/ntp_gettimex.texi: New file.
25299         * doc/glibc-functions/open_by_handle_at.texi: New file.
25300         * doc/glibc-functions/prlimit.texi: New file.
25301         * doc/glibc-functions/process_vm_readv.texi: New file.
25302         * doc/glibc-functions/process_vm_writev.texi: New file.
25303         * doc/glibc-functions/recvmmsg.texi: New file.
25304         * doc/glibc-functions/scandirat.texi: New file.
25305         * doc/glibc-functions/sendmmsg.texi: New file.
25306         * doc/glibc-functions/setns.texi: New file.
25307         * doc/glibc-functions/timespec_get.texi: New file.
25308         * doc/gnulib.texi: Include them.
25309         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
25310         sections.
25311         Reported by Eric Blake.
25313 2012-02-28  Bruno Haible  <bruno@clisp.org>
25315         Avoid compilation errors with MSVC option -fp:strict.
25316         * lib/floor.c: Use MSVC specific pragma fenv_access.
25317         * lib/ceil.c: Likewise.
25318         * lib/trunc.c: Likewise.
25319         * lib/round.c: Likewise.
25320         * lib/rint.c: Likewise.
25321         * lib/fma.c: Likewise.
25322         * lib/integer_length.c: Likewise.
25323         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
25324         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
25325         * tests/test-floor2.c: Likewise.
25326         * tests/test-floorf2.c: Likewise.
25327         * tests/test-ceil2.c: Likewise.
25328         * tests/test-ceilf2.c: Likewise.
25329         * tests/test-trunc2.c: Likewise.
25330         * tests/test-truncf2.c: Likewise.
25331         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
25333 2012-02-27  Bruno Haible  <bruno@clisp.org>
25335         Tests for module 'sqrtl-ieee'.
25336         * modules/sqrtl-ieee-tests: New file.
25337         * tests/test-sqrtl-ieee.c: New file.
25339         New module 'sqrtl-ieee'.
25340         * modules/sqrtl-ieee: New file.
25342         Tests for module 'sqrt-ieee'.
25343         * modules/sqrt-ieee-tests: New file.
25344         * tests/test-sqrt-ieee.c: New file.
25346         New module 'sqrt-ieee'.
25347         * modules/sqrt-ieee: New file.
25349         Tests for module 'sqrtf-ieee'.
25350         * modules/sqrtf-ieee-tests: New file.
25351         * tests/test-sqrtf-ieee.c: New file.
25352         * tests/test-sqrt-ieee.h: New file.
25354         New module 'sqrtf-ieee'.
25355         * modules/sqrtf-ieee: New file.
25357 2012-02-27  Bruno Haible  <bruno@clisp.org>
25359         remainderl-ieee: Work around test failure on OSF/1.
25360         * m4/remainderl-ieee.m4: New file.
25361         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
25362         present, test whether remainderl works with a zero second argument.
25363         Replace it if not.
25364         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
25365         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
25366         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
25367         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
25368         (Depends-on): Update conditions.
25369         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
25370         (Depends-on): Add remainder-ieee.
25371         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
25372         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
25373         module.
25375         remainderf-ieee: Work around test failure on OSF/1.
25376         * m4/remainderf-ieee.m4: New file.
25377         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
25378         present, test whether remainderf works with a zero second argument.
25379         Replace it if not.
25380         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
25381         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
25382         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
25383         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
25384         (Depends-on): Update conditions.
25385         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
25386         (Depends-on): Add remainder-ieee.
25387         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
25388         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
25389         module.
25391         remainder-ieee: Work around test failure on OSF/1.
25392         * m4/remainder-ieee.m4: New file.
25393         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
25394         present, test whether remainder works with a zero second argument.
25395         Replace it if not.
25396         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
25397         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
25398         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
25399         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
25400         (Depends-on): Update dependencies.
25401         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
25402         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
25403         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
25405         Tests for module 'remainderl-ieee'.
25406         * modules/remainderl-ieee-tests: New file.
25407         * tests/test-remainderl-ieee.c: New file.
25409         New module 'remainderl-ieee'.
25410         * modules/remainderl-ieee: New file.
25412         Tests for module 'remainder-ieee'.
25413         * modules/remainder-ieee-tests: New file.
25414         * tests/test-remainder-ieee.c: New file.
25416         New module 'remainder-ieee'.
25417         * modules/remainder-ieee: New file.
25419         Tests for module 'remainderf-ieee'.
25420         * modules/remainderf-ieee-tests: New file.
25421         * tests/test-remainderf-ieee.c: New file.
25422         * tests/test-remainder-ieee.h: New file.
25424         New module 'remainderf-ieee'.
25425         * modules/remainderf-ieee: New file.
25427 2012-02-27  Bruno Haible  <bruno@clisp.org>
25429         modff, modfl: Fix configure syntax error.
25430         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
25431         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
25433 2012-02-27  Bruno Haible  <bruno@clisp.org>
25435         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
25436         * m4/fmodl-ieee.m4: New file.
25437         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
25438         whether fmodl works with zero arguments. Replace it if not.
25439         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
25440         (Depends-on): Add fmod-ieee.
25441         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
25442         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
25444         fmodf-ieee: Work around test failure on OSF/1.
25445         * m4/fmodf-ieee.m4: New file.
25446         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
25447         whether fmodf works with zero arguments. Replace it if not.
25448         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
25449         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
25450         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
25451         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
25452         (Depends-on): Update dependencies.
25453         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
25454         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
25455         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
25457         fmodf-ieee: Work around test failure on MSVC 9.
25458         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
25459         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
25461         fmod-ieee: Work around test failures on OSF/1, mingw.
25462         * m4/fmod-ieee.m4: New file.
25463         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
25464         whether fmod works with zero arguments. Replace it if not.
25465         * lib/math.in.h (fmod): New declaration.
25466         * lib/fmod.c: New file.
25467         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
25468         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
25469         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
25470         * modules/fmod (Files): Add lib/fmod.c.
25471         (Depends-on): Add math, isinf, trunc, fma.
25472         (configure.ac): Arrange to compile lib/fmod.c if needed.
25473         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
25474         m4/signbit.m4.
25475         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
25476         * tests/test-math-c++.cc: Check the declaration of fmod.
25477         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
25479         fmodl-ieee: Fix test failures.
25480         * lib/fmodl.c (fmodl): Treat Inf specially.
25481         * modules/fmodl (Depends-on): Add isinf.
25483         Tests for module 'fmodl-ieee'.
25484         * modules/fmodl-ieee-tests: New file.
25485         * tests/test-fmodl-ieee.c: New file.
25487         New module 'fmodl-ieee'.
25488         * modules/fmodl-ieee: New file.
25490         Tests for module 'fmod-ieee'.
25491         * modules/fmod-ieee-tests: New file.
25492         * tests/test-fmod-ieee.c: New file.
25494         New module 'fmod-ieee'.
25495         * modules/fmod-ieee: New file.
25497         Tests for module 'fmodf-ieee'.
25498         * modules/fmodf-ieee-tests: New file.
25499         * tests/test-fmodf-ieee.c: New file.
25500         * tests/test-fmod-ieee.h: New file.
25502         New module 'fmodf-ieee'.
25503         * modules/fmodf-ieee: New file.
25505 2012-02-27  Bruno Haible  <bruno@clisp.org>
25507         Tests for module 'rintl-ieee'.
25508         * modules/rintl-ieee-tests: New file.
25509         * tests/test-rintl-ieee.c: New file.
25511         New module 'rintl-ieee'.
25512         * modules/rintl-ieee: New file.
25514         Tests for module 'rint-ieee'.
25515         * modules/rint-ieee-tests: New file.
25516         * tests/test-rint-ieee.c: New file.
25518         New module 'rint-ieee'.
25519         * modules/rint-ieee: New file.
25521         Tests for module 'rintf-ieee'.
25522         * modules/rintf-ieee-tests: New file.
25523         * tests/test-rintf-ieee.c: New file.
25524         * tests/test-rint-ieee.h: New file.
25526         New module 'rintf-ieee'.
25527         * modules/rintf-ieee: New file.
25529 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
25531         regex: re_search etc. should return -2 when memory exhausted
25532         This bug was uncovered when testing 'grep'.  Without the fix,
25533         re_search and friends return -1 when memory is exhausted, but -1
25534         means no match, and this causes grep to falsely report no-match
25535         instead of memory-exhaustion.  See
25536         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
25537         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
25538         trouble; this can occur if re_search_internal ran out of memory.
25540 2012-02-26  Bruno Haible  <bruno@clisp.org>
25542         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
25543         * m4/modfl-ieee.m4: New file.
25544         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
25545         whether modfl works with Inf. Replace it if not.
25546         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
25547         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
25548         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
25549         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
25550         (Depends-on): Update dependencies.
25551         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
25552         m4/signbit.m4.
25553         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
25554         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
25556         modfl-ieee: Fix dependencies.
25557         * modules/modfl-ieee (Depends-on): Add modf-ieee.
25559         modfl-ieee: Fix test failures.
25560         * lib/modfl.c (modfl): Treat NaN and Inf specially.
25561         * modules/modfl (Depends-on): Add isfinite, isinf.
25563         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
25564         * m4/modff-ieee.m4: New file.
25565         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
25566         whether modff works with NaN and Inf. Replace it if not.
25567         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
25568         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
25569         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
25570         * modules/modff (configure.ac): Consider REPLACE_MODFF.
25571         (Depends-on): Update dependencies.
25572         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
25573         m4/signbit.m4.
25574         (Depends-on): Add modf-ieee.
25575         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
25576         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
25578         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
25579         * m4/modf-ieee.m4: New file.
25580         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
25581         whether modf works with NaN and Inf. Replace it if not.
25582         * lib/math.in.h (modf): New declaration.
25583         * lib/modf.c: New file.
25584         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
25585         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
25586         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
25587         * modules/modf (Files): Add lib/modf.c.
25588         (Depends-on): Add math, isfinite, trunc, isinf.
25589         (configure.ac): Addrange to compile lib/modf.c if needed.
25590         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
25591         m4/signbit.m4.
25592         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
25593         * tests/test-math-c++.cc: Check the declaration of modf.
25594         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
25596         Tests for module 'modfl-ieee'.
25597         * modules/modfl-ieee-tests: New file.
25598         * tests/test-modfl-ieee.c: New file.
25600         New module 'modfl-ieee'.
25601         * modules/modfl-ieee: New file.
25603         Tests for module 'modf-ieee'.
25604         * modules/modf-ieee-tests: New file.
25605         * tests/test-modf-ieee.c: New file.
25607         New module 'modf-ieee'.
25608         * modules/modf-ieee: New file.
25610         Tests for module 'modff-ieee'.
25611         * modules/modff-ieee-tests: New file.
25612         * tests/test-modff-ieee.c: New file.
25613         * tests/test-modf-ieee.h: New file.
25615         New module 'modff-ieee'.
25616         * modules/modff-ieee: New file.
25618 2012-02-26  Bruno Haible  <bruno@clisp.org>
25620         Tests for module 'fabsl-ieee'.
25621         * modules/fabsl-ieee-tests: New file.
25622         * tests/test-fabsl-ieee.c: New file.
25624         New module 'fabsl-ieee'.
25625         * modules/fabsl-ieee: New file.
25627         Tests for module 'fabs-ieee'.
25628         * modules/fabs-ieee-tests: New file.
25629         * tests/test-fabs-ieee.c: New file.
25631         New module 'fabs-ieee'.
25632         * modules/fabs-ieee: New file.
25634         Tests for module 'fabsf-ieee'.
25635         * modules/fabsf-ieee-tests: New file.
25636         * tests/test-fabsf-ieee.c: New file.
25637         * tests/test-fabs-ieee.h: New file.
25639         New module 'fabsf-ieee'.
25640         * modules/fabsf-ieee: New file.
25642 2012-02-26  Bruno Haible  <bruno@clisp.org>
25644         Tests for module 'fmal-ieee'.
25645         * modules/fmal-ieee-tests: New file.
25646         * tests/test-fmal-ieee.c: New file.
25648         New module 'fmal-ieee'.
25649         * modules/fmal-ieee: New file.
25651         Tests for module 'fma-ieee'.
25652         * modules/fma-ieee-tests: New file.
25653         * tests/test-fma-ieee.c: New file.
25655         New module 'fma-ieee'.
25656         * modules/fma-ieee: New file.
25658         Tests for module 'fmaf-ieee'.
25659         * modules/fmaf-ieee-tests: New file.
25660         * tests/test-fmaf-ieee.c: New file.
25661         * tests/test-fma-ieee.h: New file.
25663         New module 'fmaf-ieee'.
25664         * modules/fmaf-ieee: New file.
25666 2012-02-26  Bruno Haible  <bruno@clisp.org>
25668         Tests for module 'ldexpl-ieee'.
25669         * modules/ldexpl-ieee-tests: New file.
25670         * tests/test-ldexpl-ieee.c: New file.
25672         New module 'ldexpl-ieee'.
25673         * modules/ldexpl-ieee: New file.
25675         Tests for module 'ldexp-ieee'.
25676         * modules/ldexp-ieee-tests: New file.
25677         * tests/test-ldexp-ieee.c: New file.
25679         New module 'ldexp-ieee'.
25680         * modules/ldexp-ieee: New file.
25682         Tests for module 'ldexpf-ieee'.
25683         * modules/ldexpf-ieee-tests: New file.
25684         * tests/test-ldexpf-ieee.c: New file.
25685         * tests/test-ldexp-ieee.h: New file.
25687         New module 'ldexpf-ieee'.
25688         * modules/ldexpf-ieee: New file.
25690 2012-02-26  Bruno Haible  <bruno@clisp.org>
25692         Refactor frexp*-ieee tests.
25693         * tests/test-frexp-ieee.h: New file.
25694         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
25695         (main): Just call test_function.
25696         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
25697         (main): Just call test_function.
25698         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
25699         (main): Just call test_function.
25700         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
25701         * modules/frexp-ieee-tests (Files): Likewise.
25702         * modules/frexpl-ieee-tests (Files): Likewise.
25704         Tests for module 'frexpl-ieee'.
25705         * modules/frexpl-ieee-tests: New file.
25706         * tests/test-frexpl-ieee.c: New file.
25708         New module 'frexpl-ieee'.
25709         * modules/frexpl-ieee: New file.
25711         Tests for module 'frexp-ieee'.
25712         * modules/frexp-ieee-tests: New file.
25713         * tests/test-frexp-ieee.c: New file.
25715         New module 'frexp-ieee'.
25716         * modules/frexp-ieee: New file.
25718         Tests for module 'frexpf-ieee'.
25719         * modules/frexpf-ieee-tests: New file.
25720         * tests/test-frexpf-ieee.c: New file.
25722         New module 'frexpf-ieee'.
25723         * modules/frexpf-ieee: New file.
25725 2012-02-26  Bruno Haible  <bruno@clisp.org>
25727         roundl-ieee tests: More tests.
25728         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25729         (main): Add tests for [MX] shaded specification in POSIX.
25730         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25731         (Depends-on): Add isnanl-nolibm.
25733         round-ieee tests: More tests.
25734         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25735         (main): Add tests for [MX] shaded specification in POSIX.
25736         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25737         (Depends-on): Add isnand-nolibm.
25739         roundf-ieee tests: More tests.
25740         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25741         (main): Add tests for [MX] shaded specification in POSIX.
25742         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25743         (Depends-on): Add isnanf-nolibm.
25745         truncl-ieee tests: More tests.
25746         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25747         (main): Add tests for [MX] shaded specification in POSIX.
25748         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25749         (Depends-on): Add isnanl-nolibm.
25751         trunc-ieee tests: More tests.
25752         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25753         (main): Add tests for [MX] shaded specification in POSIX.
25754         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25755         (Depends-on): Add isnand-nolibm.
25757         truncf-ieee tests: More tests.
25758         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25759         (main): Add tests for [MX] shaded specification in POSIX.
25760         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25761         (Depends-on): Add isnanf-nolibm.
25763         ceill-ieee tests: More tests.
25764         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25765         (main): Add tests for [MX] shaded specification in POSIX.
25766         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25767         (Depends-on): Add isnanl-nolibm.
25769         ceil-ieee tests: More tests.
25770         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25771         (main): Add tests for [MX] shaded specification in POSIX.
25772         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25773         (Depends-on): Add isnand-nolibm.
25775         ceilf-ieee tests: More tests.
25776         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25777         (main): Add tests for [MX] shaded specification in POSIX.
25778         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25779         (Depends-on): Add isnanf-nolibm.
25781         floorl-ieee tests: More tests.
25782         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25783         (main): Add tests for [MX] shaded specification in POSIX.
25784         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25785         (Depends-on): Add isnanl-nolibm.
25787         floor-ieee tests: More tests.
25788         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25789         (main): Add tests for [MX] shaded specification in POSIX.
25790         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25791         (Depends-on): Add isnand-nolibm.
25793         floorf-ieee tests: More tests.
25794         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25795         (main): Add tests for [MX] shaded specification in POSIX.
25796         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25797         (Depends-on): Add isnanf-nolibm.
25799 2012-02-26  Bruno Haible  <bruno@clisp.org>
25801         fpieee: More comments.
25802         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
25804 2012-02-25  Bruno Haible  <bruno@clisp.org>
25806         Tests for module 'log10l'.
25807         * modules/log10l-tests: New file.
25808         * tests/test-log10l.c: New file.
25809         * tests/test-math-c++.cc: Check the declaration of log10l.
25811         New module 'log10l'.
25812         * lib/math.in.h (log10l): New declaration.
25813         * lib/log10l.c: New file.
25814         * m4/log10l.m4: New file.
25815         * modules/log10l: New file.
25816         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
25817         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
25818         HAVE_DECL_LOG10L.
25819         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
25820         HAVE_DECL_LOG10L.
25821         * doc/posix-functions/log10l.texi: Mention the new module.
25823 2012-02-25  Bruno Haible  <bruno@clisp.org>
25825         fmodl, remainder*: Avoid wrong results due to rounding errors.
25826         * lib/fmodl.c (fmodl): Correct the result if it is not within the
25827         expected bounds.
25828         * lib/remainderf.c (remainderf): Likewise.
25829         * lib/remainder.c (remainder): Likewise.
25830         * lib/remainderl.c (remainderl): Likewise.
25832 2012-02-25  Bruno Haible  <bruno@clisp.org>
25834         Tests for module 'remainderl'.
25835         * modules/remainderl-tests: New file.
25836         * tests/test-remainderl.c: New file.
25837         * tests/test-math-c++.cc: Check the declaration of remainderl.
25839         New module 'remainderl'.
25840         * lib/math.in.h (remainderl): New declaration.
25841         * lib/remainderl.c: New file.
25842         * m4/remainderl.m4: New file.
25843         * modules/remainderl: New file.
25844         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
25845         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
25846         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
25847         HAVE_REMAINDERL.
25848         * doc/posix-functions/remainderl.texi: Mention the new module.
25850 2012-02-25  Bruno Haible  <bruno@clisp.org>
25852         Tests for module 'remainderf'.
25853         * modules/remainderf-tests: New file.
25854         * tests/test-remainderf.c: New file.
25855         * tests/test-math-c++.cc: Check the declaration of remainderf.
25857         New module 'remainderf'.
25858         * lib/math.in.h (remainderf): New declaration.
25859         * lib/remainderf.c: New file.
25860         * m4/remainderf.m4: New file.
25861         * modules/remainderf: New file.
25862         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
25863         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
25864         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
25865         HAVE_REMAINDERF.
25866         * doc/posix-functions/remainderf.texi: Mention the new module.
25868 2012-02-25  Bruno Haible  <bruno@clisp.org>
25870         remainder: Support for MSVC.
25871         * lib/math.in.h (remainder): New declaration.
25872         * lib/remainder.c: New file.
25873         * m4/remainder.m4: New file.
25874         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
25875         (Depends-on): Add math, round, fma.
25876         (configure.ac): Use results of gl_FUNC_REMAINDER.
25877         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
25878         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
25879         HAVE_DECL_REMAINDER.
25880         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
25881         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
25882         * tests/test-math-c++.cc: Check the declaration of remainder.
25883         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
25884         problems are fixed.
25886 2012-02-25  Bruno Haible  <bruno@clisp.org>
25888         Tests for module 'fmodl'.
25889         * modules/fmodl-tests: New file.
25890         * tests/test-fmodl.c: New file.
25891         * tests/test-math-c++.cc: Check the declaration of fmodl.
25893         New module 'fmodl'.
25894         * lib/math.in.h (fmodl): New declaration.
25895         * lib/fmodl.c: New file.
25896         * m4/fmodl.m4: New file.
25897         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
25898         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
25899         REPLACE_FMODL.
25900         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
25901         REPLACE_FMODL.
25902         * modules/fmodl: New file.
25903         * doc/posix-functions/fmodl.texi: Mention the new module.
25905 2012-02-25  Bruno Haible  <bruno@clisp.org>
25907         Tests for module 'modfl'.
25908         * modules/modfl-tests: New file.
25909         * tests/test-modfl.c: New file.
25910         * tests/test-math-c++.cc: Check the declaration of modfl.
25912         New module 'modfl'.
25913         * lib/math.in.h (modfl): New declaration.
25914         * lib/modfl.c: New file.
25915         * m4/modfl.m4: New file.
25916         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
25917         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
25918         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
25919         * modules/modfl: New file.
25920         * doc/posix-functions/modfl.texi: Mention the new module.
25922 2012-02-25  Bruno Haible  <bruno@clisp.org>
25924         Tests for module 'fabsl'.
25925         * modules/fabsl-tests: New file.
25926         * tests/test-fabsl.c: New file.
25927         * tests/test-math-c++.cc: Check the declaration of fabsl.
25929         New module 'fabsl'.
25930         * lib/math.in.h (fabsl): New declaration.
25931         * lib/fabsl.c: New file.
25932         * m4/fabsl.m4: New file.
25933         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
25934         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
25935         REPLACE_FABSL.
25936         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
25937         REPLACE_FABSL.
25938         * modules/fabsl: New file.
25939         * doc/posix-functions/fabsl.texi: Mention the new module.
25941 2012-02-25  Bruno Haible  <bruno@clisp.org>
25943         fabs tests: More tests.
25944         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
25945         (zero): New variable.
25946         (main): Add tests for signed zero.
25947         * modules/fabs-tests (Files): Add tests/minus-zero.h.
25949         fabsf tests: More tests.
25950         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
25951         (zero): New variable.
25952         (main): Add tests for signed zero.
25953         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
25955 2012-02-24  Bruno Haible  <bruno@clisp.org>
25957         atanl: Provide function definition on MSVC.
25958         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
25959         function pointer.
25960         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
25962 2012-02-24  Bruno Haible  <bruno@clisp.org>
25964         acosl: Provide function definition on MSVC.
25965         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
25966         function pointer.
25967         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
25969 2012-02-24  Bruno Haible  <bruno@clisp.org>
25971         asinl: Provide function definition on MSVC.
25972         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
25973         function pointer.
25974         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
25976 2012-02-24  Bruno Haible  <bruno@clisp.org>
25978         tanl: Provide function definition on MSVC.
25979         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
25980         function pointer.
25981         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
25983 2012-02-24  Bruno Haible  <bruno@clisp.org>
25985         cosl: Provide function definition on MSVC.
25986         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
25987         function pointer.
25988         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
25990 2012-02-24  Bruno Haible  <bruno@clisp.org>
25992         sinl: Provide function definition on MSVC.
25993         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
25994         function pointer.
25995         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
25997 2012-02-24  Bruno Haible  <bruno@clisp.org>
25999         logl: Provide function definition on MSVC.
26000         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
26001         function pointer.
26002         * lib/math.in.h (logl): Undefine if it does not exist as a function.
26004 2012-02-24  Bruno Haible  <bruno@clisp.org>
26006         expl: Provide function definition on MSVC.
26007         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
26008         function pointer.
26009         * lib/math.in.h (expl): Undefine if it does not exist as a function.
26011 2012-02-24  Bruno Haible  <bruno@clisp.org>
26013         sqrtl: Provide function definition on MSVC.
26014         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
26015         a function pointer.
26016         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
26018 2012-02-24  Bruno Haible  <bruno@clisp.org>
26020         ceill: Provide function definition on MSVC.
26021         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
26022         used as a function pointer.
26023         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
26025 2012-02-24  Bruno Haible  <bruno@clisp.org>
26027         floorl: Provide function definition on MSVC.
26028         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
26029         used as a function pointer.
26030         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
26032 2012-02-24  Bruno Haible  <bruno@clisp.org>
26034         ceilf: Provide function definition on MSVC.
26035         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
26036         used as a function pointer.
26037         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
26039 2012-02-24  Bruno Haible  <bruno@clisp.org>
26041         floorf: Provide function definition on MSVC.
26042         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
26043         used as a function pointer.
26044         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
26046 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
26048         stdnoreturn: new module
26049         This implements a replacement for C11's <stdnoreturn.h>.
26050         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
26051         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
26052         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
26053         * tests/test-stdnoreturn.c: New files.
26055 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
26057         regex: fix false multibyte matches in some regular expressions
26058         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
26059         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
26060         * lib/regex_internal.c (re_string_skip_chars):
26061         Fix miscomputation of remain_len that may cause incomplete
26062         multi-byte character and false match.
26064 2012-02-24  Jim Meyering  <meyering@redhat.com>
26066         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
26067         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
26068         uses with "==" *before* the call, e.g., 0 == strcmp (...)
26069         Remove now-unnecessary str''cmp obfuscation.
26070         Suggested by Akim Demaille.
26072 2012-02-24  Bruno Haible  <bruno@clisp.org>
26074         streq: Rename macro.
26075         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
26076         * NEWS: Mention the change.
26077         * lib/mbrtowc.c (mbrtowc): Update.
26078         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
26079         * lib/wcwidth.c (wcwidth): Update.
26080         Suggested by Akim Demaille and Jim Meyering.
26082 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
26084         regex: fix typo in definition of MIN
26085         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
26086         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
26088 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
26089             Bruno Haible  <bruno@clisp.org>
26091         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
26092         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
26093         entries into a stack-allocated buffer directly.
26094         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
26096 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
26097             Bruno Haible  <bruno@clisp.org>
26099         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
26101          - There were several instances of this pattern:
26103              for (;;) {
26104                n = acl (f, GETACLCNT, 0, NULL);
26105                [ allocate an array A of size N ]
26106                if (acl (f, GETACL, n, a) == n)
26107                  break;
26108              }
26110            This loop might never terminate if some other process is constantly
26111            manipulating the file's ACL.  The loop should be rewritten to
26112            terminate.
26114          - The acl (... GETACLNT ...) call is merely an optimization; its value
26115            is merely a hint as to how big to make the array.  A better
26116            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
26117            and just guess a reasonably-big size, growing the size and trying
26118            again if it's not large enough.  This guarantees termination, and
26119            saves a system call.
26121         * lib/acl-internal.h: Include <limits.h>.
26122         (MIN, SIZE_MAX): New macros.
26123         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
26124         a stack-allocated buffer, and use malloc if it does not fit. Don't
26125         use GETACLCNT.
26126         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
26128 2012-02-19  Bruno Haible  <bruno@clisp.org>
26130         acl: Fix endless loop on Solaris with vxfs.
26131         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
26132         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
26133         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
26134         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
26135         * tests/test-sameacls.c (main)[Solaris]: Likewise.
26136         Reported by Bill Jones in
26137         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
26139 2012-02-19  Bruno Haible  <bruno@clisp.org>
26141         acl: Fix copy-acl test failure on Solaris 11.0.
26142         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
26143         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
26144         that this function returns 0 in some more cases.
26146 2012-02-19  Bruno Haible  <bruno@clisp.org>
26148         acl: Update doc references.
26149         * doc/acl-resources.txt: Update links to Solaris documentation.
26151 2012-02-19  Bruno Haible  <bruno@clisp.org>
26153         Fix test failure in many locales on Solaris 11.
26154         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
26155         'tr' arguments.
26156         * tests/test-pipe-filter-ii1.c (main): Likewise.
26157         * build-aux/bootstrap (check_versions): Run 'tr' command with range
26158         expressions in the C locale.
26159         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
26160         * m4/host-os.m4 (gl_HOST_OS): Likewise.
26162 2012-02-19  Bruno Haible  <bruno@clisp.org>
26164         gnulib-tool: Improve usage message.
26165         * gnulib-tool (func_usage): Move doc of --help and --version to the
26166         section "Operation modes".
26168 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
26170         README-release: make it easier to execute commands
26171         * top/README-release: break commands out on to separate lines.
26173 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
26175         GNUmakefile: simplify detection of unconfigured trees
26176         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
26177         whether the tree make is being run from is already configured or
26178         not.  Related simplifications.
26180 2012-02-13  Simon Josefsson  <simon@josefsson.org>
26182         * gnulib-tool (func_usage): Document --help and --version.
26184 2012-02-11  Jim Meyering  <meyering@redhat.com>
26186         bootstrap: don't exit 0 upon gnulib-tool failure
26187         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
26188         its exit status, not 0.
26190 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
26192         README-release: various improvements
26193         * top/README-release: Give a command to push changes for the
26194         release.  Add "distcheck" to list of other pre-release checks.
26195         Fix instance of "make stable" which should be "make TYPE".
26197 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
26199         maint: replace FSF snail-mail addresses with URLs
26200         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
26201         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
26202         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
26203         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
26204         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
26205         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
26206         * lib/check-version.c, lib/check-version.h, lib/config.charset:
26207         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
26208         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
26209         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
26210         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
26211         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
26212         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
26213         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
26214         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
26215         * lib/glthread/thread.c, lib/glthread/thread.h:
26216         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
26217         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
26218         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
26219         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
26220         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
26221         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
26222         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
26223         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
26224         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
26225         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
26226         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
26227         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
26228         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
26229         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
26230         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
26231         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
26232         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
26233         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
26234         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
26235         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
26236         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
26237         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
26238         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
26239         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
26240         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
26241         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
26242         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
26243         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
26244         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
26245         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
26246         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
26247         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
26248         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
26249         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
26250         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
26251         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
26252         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
26253         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
26254         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
26255         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
26256         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
26257         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
26258         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
26259         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
26260         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
26261         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
26262         * tests/test-poll.c, tests/test-quotearg-simple.c:
26263         * tests/test-quotearg.c, tests/test-quotearg.h:
26264         * tests/test-round-ieee.c, tests/test-round1.c:
26265         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
26266         * tests/test-roundl-ieee.c, tests/test-roundl.c:
26267         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
26268         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
26269         * tests/test-strerror.c, tests/test-strerror_r.c:
26270         * tests/test-strsignal.c, tests/test-strverscmp.c:
26271         * tests/test-xmemdup0.c:
26272         Replace FSF snail mail addresses with URLs, as per GNU coding
26273         standards.  See glibc bug
26274         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
26276 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
26278         README-release: capitalize a word and split a line
26279         * top/README-release: Fix punctuation and spacing.
26281 2012-02-08  Akim Demaille  <demaille@gostai.com>
26283         fatal-signal: use C prototypes (with explicit void).
26284         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
26285         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
26287 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
26289         regex: spelling fix
26290         * lib/regexec.c: spelling fix
26292         regex: rely on stdint.h for SIZE_MAX
26293         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
26295 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
26297         regex: merge glibc changes
26299         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
26300         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
26301         (init_word_char): Work even if bitset words are not exactly 32 or
26302         64 bits wide.  Don't assume there are no padding bits.
26303         * lib/regex.c [_LIBC]: Do not include <config.h>.
26304         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
26305         and -Wtype-limits.
26306         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
26307         needless disagreement with glibc.  All uses changed.  Define it to
26308         1 only if _GNU_SOURCE, to match glibc.
26309         (_REG_RM_NAME): Remove; no longer needed, since the names in
26310         question are now all protected by __USE_GNU.
26311         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
26312         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
26313         * lib/regex_internal.h (MIN): New macro.
26315         2012-01-03 Ulrich Drepper <drepper@gmail.com>
26316         * lib/regcomp.c (init_word_char): Optimize regex a bit.
26318         2011-12-30 Jakub Jelinek <jakub@redhat.com>
26319         * lib/regex_internal.c (re_string_fetch_byte_case):
26320         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
26321         is miscompiled, and it turns out it is because of an incorrect
26322         attribute on re_string_fetch_byte_case.  Unlike
26323         re_string_peek_byte_case, this one is really not pure, it modifies
26324         memory (increments pstr->cur_idx), and with the pure attribute GCC
26325         assumed it doesn't and it cached the presumed value of
26326         regexp->cur_idx in a variable across the
26327          for (;; ++i)
26328            {
26329              if (i >= BRACKET_NAME_BUF_SIZE)
26330                return REG_EBRACK;
26331              if (token->type == OP_OPEN_CHAR_CLASS)
26332                ch = re_string_fetch_byte_case (regexp);
26333              else
26334                ch = re_string_fetch_byte (regexp);
26335              if (re_string_eoi(regexp))
26336                return REG_EBRACK;
26337              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
26338                break;
26339              elem->opr.name[i] = ch;
26340            }
26342         2011-11-29 Andreas Schwab <schwab@redhat.com>
26343         * lib/regcomp.c (build_equiv_class):
26344         Fix access after end of search string in regex matcher.
26346         2011-11-12 Ulrich Drepper <drepper@redhat.com>
26347         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
26349         2011-10-12 Ulrich Drepper <drepper@redhat.com>
26350         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
26352         2011-10-11 Ulrich Drepper <drepper@redhat.com>
26353         * lib/regcomp.c (parse_branch, parse_sub_exp):
26354         More regex memory leak fixes and tests.
26355         (parse_sub_exp, parse_bracket_exp):
26356         Fix memory leak for some invalid regular expressions.
26358         2011-05-28 Ulrich Drepper <drepper@gmail.com>
26359         * lib/regex_internal.c, lib/regexec.c:
26360         Fix unnecessary overallocation due to incomplete character.  When
26361         incomplete characters are found at the end of a string the code
26362         ran amok and allocated lots of memory.  Stricter limits are now in
26363         place.
26365         2011-05-20 Reuben Thomas <rrt@sc3d.org>
26366         * lib/regex.h: Update documentation.
26368         2011-05-16 Aharon Robbins <arnold@skeeve.com>
26369         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
26371         2010-05-05 Andreas Schwab <schwab@redhat.com>
26372         * lib/regexec.c (find_collation_sequence_value):
26373         Fix lookup of collation sequence value during regexp matching.
26375         2010-01-22 Ulrich Drepper <drepper@redhat.com>
26376         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
26378         2008-01-16 Ulrich Drepper <drepper@redhat.com>
26379         * lib/regex.h: Cleanup namespace.
26381         2007-11-26 Ulrich Drepper <drepper@redhat.com>
26382         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
26384         2007-08-26 Ulrich Drepper <drepper@redhat.com>
26385         * lib/regex_internal.h: Prevent some declarations and definitions
26386         to be seen when used in tests.
26388         2005-05-06 Ulrich Drepper <drepper@redhat.com>
26389         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
26390         __libc_lock_* macros if not _LIBC.
26391         (struct re_dfa_t): Add lock.
26393 2012-02-07  Eric Blake  <eblake@redhat.com>
26395         maint.mk: also prohibit lower-case @var@
26396         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
26397         lower case, like @top_srcdir@.
26399 2012-02-04  Eric Blake  <eblake@redhat.com>
26401         canonicalize: avoid uninitialized memory use
26402         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
26403         random '/' left in dest.
26404         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
26406 2012-02-04  Bruno Haible  <bruno@clisp.org>
26408         isatty: Fix test failure of ptsname_r on native Windows.
26409         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
26410         and don't set errno.
26411         (isatty): Test first whether fd is valid. Set errno when returning 0.
26413 2012-02-04  Bruno Haible  <bruno@clisp.org>
26415         spawn-pipe tests: Fix a NULL program name in a diagnostic.
26416         * tests/test-spawn-pipe-main.c: Include progname.h.
26417         (main): Invoke set_program_name.
26418         * modules/spawn-pipe-tests (Depends-on): Add progname.
26420         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
26421         * tests/test-nonblocking-socket-main.c: Include progname.h.
26422         (main): Invoke set_program_name.
26423         * modules/nonblocking-socket-tests (Depends-on): Add progname.
26425         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
26426         * tests/test-nonblocking-pipe-main.c: Include progname.h.
26427         (main): Invoke set_program_name.
26428         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
26430 2012-02-04  Eric Blake  <eblake@redhat.com>
26432         canonicalize-lgpl: fix // handling
26433         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
26435         canonicalize: fix // handling
26436         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
26437         /// to //, since only // is special.
26439 2012-02-04  Bruno Haible  <bruno@clisp.org>
26441         ioctl: Fix test failure on native Windows.
26442         * lib/ioctl.c: Include msvc-nothrow.h.
26443         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
26445 2012-02-04  Bruno Haible  <bruno@clisp.org>
26447         fsync: Avoid test failure on native Windows.
26448         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
26449         read-only.
26451 2012-02-04  Bruno Haible  <bruno@clisp.org>
26453         sys_select: Avoid syntax error on OpenBSD 5.0.
26454         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
26455         currently being included, just include the system's <sys/select.h>.
26457 2012-02-04  Bruno Haible  <bruno@clisp.org>
26459         sys_select: Avoid syntax error on OpenBSD 5.0.
26460         * lib/sys_select.in.h: Include <signal.h> only after the include_next
26461         <sys/select.h>, not before.
26462         Reported by Jiri B <jirib@devio.us>.
26464 2012-02-04  Bruno Haible  <bruno@clisp.org>
26466         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
26467         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
26468         global variables.
26469         * tests/test-get-rusage-data.c (main): Likewise.
26470         Reported by Jim Meyering.
26472 2012-02-04  Bruno Haible  <bruno@clisp.org>
26474         stdioext: Fix last commit.
26475         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
26477 2012-02-03  Bruno Haible  <bruno@clisp.org>
26479         stdioext: Add tentative support for Plan9.
26480         * lib/stdio-impl.h: Include <errno.h>.
26481         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
26482         * lib/freadable.c (freadable): Likewise.
26483         * lib/fwritable.c (fwritable): Likewise.
26484         * lib/fbufmode.c (fbufmode): Likewise.
26485         * lib/freading.c (freading): Likewise.
26486         * lib/fwriting.c (fwriting): Likewise.
26487         * lib/freadptr.c (freadptr): Likewise.
26488         * lib/freadseek.c (freadptrinc): Likewise.
26489         * lib/freadahead.c (freadahead): Likewise.
26490         * lib/fpurge.c (fpurge): Likewise.
26491         * lib/fseeko.c (rpl_fseeko): Likewise.
26492         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
26493         Reported by Jens Staal <staal1978@gmail.com>.
26495 2012-02-02  Jim Meyering  <meyering@redhat.com>
26497         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
26498         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
26499         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
26500         not even to try to add the attribute.  Instead, add a pragma to suppress
26501         the suggestion/warning.
26503 2012-01-31  Karl Berry  <karl@gnu.org>
26505         setstate doc: typo.
26506         * doc/posix-functions/setstate.texi (setstate): { not (.
26508 2012-01-31  Bruno Haible  <bruno@clisp.org>
26510         popen: Make more robust on Windows.
26511         * lib/popen.c: On native Windows, use the _popen based code even if
26512         HAVE_POPEN is set.
26513         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
26514         environment variable on native Windows.
26516 2012-01-30  Bruno Haible  <bruno@clisp.org>
26518         pclose: Fix typo.
26519         * lib/stdio.in.h (pclose): Fix typo in warning message.
26521 2012-01-30  Bruno Haible  <bruno@clisp.org>
26523         doc about getlogin_r, setstate.
26524         * doc/posix-functions/getlogin_r.texi: List the incompatible
26525         declaration problem under "not fixed by gnulib".
26526         * doc/posix-functions/setstate.texi: Mention incompatible declaration
26527         problem on Solaris 11 and other platforms.
26529 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
26530             Bruno Haible  <bruno@clisp.org>
26532         poll tests: Make test more robust.
26533         * tests/test-poll.c: Include macros.h.
26534         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
26535         return value of various I/O operations.
26536         * modules/poll-tests (Files): Add tests/macros.h.
26538 2012-01-30  Bruno Haible  <bruno@clisp.org>
26540         sys_stat: Fix support for mingw64 and MSVC.
26541         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
26542         header files already do it.
26543         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
26544         stat itself.
26545         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
26547 2012-01-30  Bruno Haible  <bruno@clisp.org>
26549         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
26550         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
26551         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
26553 2012-01-29  Bruno Haible  <bruno@clisp.org>
26555         quotearg: Fix test failure on MacOS X 10.5.
26556         * tests/test-quotearg-simple.c: Include localcharset.h.
26557         (main): If the locale encoding is not ASCII, bypass the tests of
26558         locale_quoting_style and clocale_quoting_style.
26559         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
26561 2012-01-29  Jim Meyering  <meyering@redhat.com>
26563         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
26564         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
26565         detect uses of canonicalize_file_name.
26567 2012-01-28  Bruno Haible  <bruno@clisp.org>
26569         test-framework-sh: Fix test failure with AIX 7.1 diff.
26570         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
26571         in column 1, like 'diff -c' does.
26572         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
26573         whether 'diff -u' is used. Instead, test whether the output contains
26574         some '@' character.
26576 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
26578         strtoimax: eliminate need for stdint.h, inttypes.h checks
26579         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
26580         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
26581         the prerequisites for a recently-introduced strtoimax test.
26582         I guess this might cause strtoimax to be replaced when not
26583         strictly necessary on older hosts, but this shouldn't introduce
26584         any bugs and it should make Emacs 'configure' faster on typical
26585         modern hosts.  Problem discovered when importing the latest gnulib
26586         to an Emacs test version.
26587         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
26589 2012-01-28  Bruno Haible  <bruno@clisp.org>
26591         sys_time: Override 'struct timeval' on some native Windows platforms.
26592         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
26593         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
26594         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
26595         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
26596         needs to be overridden.
26597         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
26598         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
26599         * tests/test-sys_select.c: Check that the tv_sec member has the same
26600         size as a 'time_t'.
26601         * tests/test-sys_time.c: Likewise.
26602         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
26603         is set, set also REPLACE_GETTIMEOFDAY.
26604         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
26605         convert the resulting 'struct timeval' before returning.
26606         * lib/select.c: Include <sys/time.h>.
26607         (select, timeval): Undefine at the right place.
26608         * modules/select (Depends-on): Add sys_time.
26609         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
26610         some Windows platforms.
26611         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
26613 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26615         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
26616         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
26617         an integer.
26618         * lib/fcntl.c (dupfd): Likewise.
26619         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
26621 2012-01-28  Bruno Haible  <bruno@clisp.org>
26623         fcntl: Avoid compilation error on native Windows.
26624         * modules/fcntl (Depends-on): Add 'close'.
26626 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26628         select, poll, isatty: Avoid warnings on x86_64 mingw64.
26629         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
26630         pointer to an integer.
26631         * lib/poll.c (IsConsoleHandle): Likewise.
26632         * lib/isatty.c (IsConsoleHandle): Likewise.
26634 2012-01-28  Jim Meyering  <meyering@redhat.com>
26636         doc: clarify README-release
26637         * top/README-release: Clarify: you should make a point to have
26638         the latest stable versions of build tools in your PATH, and the
26639         reference to buildreq is solely for its list of tool names, not
26640         for its minimal-functional version numbers.
26641         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
26643         maint.mk: use more readable (yet functionally equivalent) quoting
26644         It is common to quote a single quote in a single quoted string like
26645         this:  '...'\''...'.  Unless you know the idiom, that looks like
26646         gibberish, so prefer to double-quote the string when possible.
26647         Then you can use a more readable, lone single quote: "...'..."
26648         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
26649         "don't" is more readable than the equivalent 'don'\''t'.
26650         (sc_cast_of_x_alloc_return_value): Likewise.
26651         (sc_cast_of_alloca_return_value): Likewise.
26652         (sc_makefile_path_separator_check): Similar: use ":" in '...',
26653         rather than '\'':'\''.
26655 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
26657         stdalign: relax _Alignof and tighten _Alignas test
26658         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
26659         as it was too strict: alignof must divide offsetof, but it need
26660         not equal offsetof.  Inspired by Joseph S. Myers's comment
26661         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
26662         Conversely, tighten the _Alignas test a bit, as the resulting
26663         alignment must be exactly 8.
26665 2012-01-27  Bruno Haible  <bruno@clisp.org>
26667         stdalign: Document the last change.
26668         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
26670 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
26672         stdalign: check that alignof and offsetof are consistent
26673         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
26674         Problem reported for gnulib by Richard W.M. Jones in
26675         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
26677 2012-01-27  Jim Meyering  <meyering@redhat.com>
26679         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
26680         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
26681         convert a sequence with gaps to the minimal containing range.
26682         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
26683         * tests/test-update-copyright.sh: Test for this.
26684         The FSF confirmed it is ok to do this, assuming there is at
26685         least one significant change per year in the affected range:
26686         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
26688 2012-01-26  Bruno Haible  <bruno@clisp.org>
26690         pipe2: refine doc about thread-safety
26691         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
26692         multithread-safety problem.
26693         * doc/glibc-functions/accept4.texi: Likewise.
26695 2012-01-26  Bruno Haible  <bruno@clisp.org>
26697         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
26698         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
26699         In the test program, include <fcntl.h>, for O_RDONLY.
26701 2012-01-26  Eric Blake  <eblake@redhat.com>
26703         pipe2: document lack of thread-safety in replacement
26704         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
26705         issue in replacement.
26706         * doc/glibc-functions/accept4.texi (accept4): Likewise.
26707         Based on a report by Eric Wong.
26709 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26710             Bruno Haible  <bruno@clisp.org>
26712         malloca: Avoid warnings on x86_64 mingw64.
26713         * lib/malloca.c: Include <stdint.h>.
26714         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
26715         * modules/malloca (Depends-on): Add stdint.
26716         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
26718 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
26720         obstack: remove __STDC__ conditionals
26721         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
26722         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
26723         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
26724         m4/include_next.m4 as the only gnulib-maintained places that still
26725         refer to __STDC__.
26727 2012-01-24  Bruno Haible  <bruno@clisp.org>
26729         havelib: Modern quoting.
26730         * build-aux/config.rpath: Quote 'like this', not `like this', as per
26731         the recent change to the GNU coding standards.
26733 2012-01-24  Bruno Haible  <bruno@clisp.org>
26735         stdint: Improve support for Android.
26736         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
26737         Reported by Simon Josefsson <simon@josefsson.org>.
26739 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
26741         doc: omit trailing empty lines from INSTALL etc.
26742         * doc/Makefile (INSTALL): Omit trailing empty lines.
26743         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
26744         omit trailing empty lines.  This simplifies the build procedure.
26746 2012-01-23  Jim Meyering  <meyering@redhat.com>
26748         tests: avoid spurious warnings about gl_sockets_startup
26749         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
26750         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
26751         reporting a "statement with no effect".
26752         * tests/test-accept.c (main): Mark as "(void)".
26753         * tests/test-accept4.c (main): Likewise.
26754         * tests/test-bind.c (main): Likewise.
26755         * tests/test-connect.c (main): Likewise.
26756         * tests/test-getpeername.c (main): Likewise.
26757         * tests/test-getsockname.c (main): Likewise.
26758         * tests/test-getsockopt.c (main): Likewise.
26759         * tests/test-listen.c (main): Likewise.
26760         * tests/test-recv.c (main): Likewise.
26761         * tests/test-recvfrom.c (main): Likewise.
26762         * tests/test-send.c (main): Likewise.
26763         * tests/test-sendto.c (main): Likewise.
26764         * tests/test-setsockopt.c (main): Likewise.
26765         * tests/test-shutdown.c (main): Likewise.
26767 2012-01-21  Bruno Haible  <bruno@clisp.org>
26769         locale-fr.m4: Fix for Android.
26770         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
26771         failure of the test program on Bionic libc.
26773 2012-01-21  Jim Meyering  <meyering@redhat.com>
26775         bootstrap: fail when bootstrap_post_import_hook fails
26776         Otherwise, it's far too easy to miss diagnostics emitted
26777         between gnulib-tool's output and that of running configure.
26778         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
26780 2012-01-17  Jim Meyering  <meyering@redhat.com>
26782         maint: enable sc_trailing_blank
26783         * build-aux/pmccabe.css: Remove trailing blanks.
26784         * doc/acl-cygwin.txt: Likewise.
26785         * doc/gnu-oids.texi: Likewise
26786         * cfg.mk: Enable sc_trailing_blank.
26787         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
26789 2012-01-17  Jim Meyering  <meyering@redhat.com>
26791         maint: enable sc_prohibit_openat_without_use
26792         * cfg.mk: Enable sc_prohibit_openat_without_use.
26793         Exempt lib/selinux-at.c.
26795 2012-01-17  Jim Meyering  <meyering@redhat.com>
26797         maint: enable sc_prohibit_cloexec_without_use
26798         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
26799         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
26801 2012-01-17  Jim Meyering  <meyering@redhat.com>
26803         maint: enable sc_prohibit_intprops_without_use
26804         * cfg.mk: Enable sc_prohibit_intprops_without_use
26805         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
26807 2012-01-17  Jim Meyering  <meyering@redhat.com>
26809         maint: enable sc_prohibit_hash_pjw_without_use
26810         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
26811         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
26812         to match any use of \<hash_pjw\>, i.e., not necessarily with a
26813         following " (".
26815 2012-01-17  Jim Meyering  <meyering@redhat.com>
26817         maint: enable double-word-prohibiting rule
26818         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
26819         Exempt three files.
26821 2012-01-17  Jim Meyering  <meyering@redhat.com>
26823         maint: remove empty lines at EOF, but excluding modules/*
26824         Apply syntax rules at home as well as abroad.  Most changes
26825         were induced by running this:
26826           make srcdir=. _build-aux=build-aux -f top/maint.mk \
26827             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
26828             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
26829         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
26830         Exempt modules/* and two binary files.
26831         Also exempt doc/INSTALL*, per request from Bruno Haible.
26832         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
26833         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
26834         * doc/Copyright/request-assign.future: Likewise.
26835         * doc/Copyright/request-disclaim.changes: Likewise.
26836         * doc/INSTALL: Likewise.
26837         * doc/INSTALL.ISO: Likewise.
26838         * doc/INSTALL.UTF-8: Likewise.
26839         * doc/acl-cygwin.txt: Likewise.
26840         * doc/acl-resources.txt: Likewise.
26841         * doc/fdl-1.2.texi: Likewise.
26842         * doc/fdl-1.3.texi: Likewise.
26843         * doc/fdl.texi: Likewise.
26844         * lib/argp-pin.c: Likewise.
26845         * lib/round.c: Likewise.
26846         * lib/unicase/u16-totitle.c: Likewise.
26847         * lib/unictype/block_test.c: Likewise.
26848         * lib/uninorm/canonical-decomposition.c: Likewise.
26849         * m4/README: Likewise.
26850         * m4/relocatable-lib.m4: Likewise.
26851         * tests/test-isnand-nolibm.c: Likewise.
26852         * tests/test-isnand.c: Likewise.
26853         * tests/uninorm/NormalizationTest.txt: Likewise.
26855 2012-01-17  Jim Meyering  <meyering@redhat.com>
26857         maint: add framework to run syntax-check rules against gnulib sources
26858         * cfg.mk: New file, to disable all currently-failing tests.
26859         We'll enable them one by one, as they are made to pass.
26860         * Makefile (sc_maint): New rule.
26862 2012-01-21  Bruno Haible  <bruno@clisp.org>
26864         stdint: Add support for Android.
26865         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
26866         include the system's <stdint.h>.
26867         Reported by Simon Josefsson <simon@josefsson.org>.
26869 2012-01-19  Jim Meyering  <meyering@redhat.com>
26871         bootstrap: add bootstrap_post_import_hook
26872         Bison does still need something like the gnulib_mk_hook whose
26873         invocation I had to remove along with slurp in commit 767ccd40.
26874         Technically, we could get along without it, but doing so would
26875         have required living with a warning and a mandatory post-bootstrap
26876         automake rerun.
26877         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
26878         (bootstrap_post_import_hook): New function.
26879         Invoke it after gnulib-tool --import and before autoreconf.
26881 2012-01-18  Jim Meyering  <meyering@redhat.com>
26883         gitlog-to-changelog: don't use "no_"-prefixed variable name
26884         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
26885         to enable both --cluster and --no-cluster.  Change variable name,
26886         s/\$no_cluster/$cluster/, and reverse usage to match.
26888         gitlog-to-changelog: use "||", not "or" in expressions
26889         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
26890         expressions.
26892 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
26894         gitlog-to-changelog: new option --no-cluster
26895         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
26896         clustering of adjacent commit messages.
26898 2012-01-17  Jim Meyering  <meyering@redhat.com>
26900         maint: spell file systems with two words, not one
26901         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
26902         two words, not one.
26904 2012-01-16  Jim Meyering  <meyering@redhat.com>
26906         bootstrap: add a FIXME comment to ensure we eventually remove the hack
26907         * build-aux/bootstrap (gnulib_tool_options): Add comment.
26909 2012-01-16  Eric Blake  <eblake@redhat.com>
26911         bootstrap: cater to autoconf 2.59
26912         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
26913         is not available.
26915         bootstrap: properly check for libtool
26916         * build-aux/bootstrap (libtoolize): Also run libtool when older
26917         usage is detected.
26919 2012-01-15  Bruno Haible  <bruno@clisp.org>
26921         Improve support for MSVC 9.
26922         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
26923         clashes on MSVC.
26924         * lib/fcntl.in.h: Likewise.
26925         * lib/stdlib.in.h: Likewise.
26926         * lib/sys_stat.in.h: Likewise.
26928 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
26930         gnupload: we hold the master copy of this script now
26931         For motivation and more information, see:
26932         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
26933         * build-aux/gnupload: Make it clear in the heading comments that the
26934         master copy of this file is maintained by gnulib.  Since we are at
26935         it, bump its copyright year and ...
26936         ($scriptversion): ... the date in its version.
26937         ($usage): Patches and bug reports should be sent to the gnulib list,
26938         not the automake one.
26939         * config/srclist.txt: Don't try to sync 'gnupload' from automake
26940         anymore.
26942 2012-01-15  Bruno Haible  <bruno@clisp.org>
26944         Fix module 'random'.
26945         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
26946         initstate, setstate are declared.
26948 2012-01-14  Bruno Haible  <bruno@clisp.org>
26950         Tests for module 'random'.
26951         * modules/random-tests: New file.
26952         * tests/test-random.c: New file, based on tests/test-random_r.c.
26954         New module 'random'.
26955         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
26956         declarations.
26957         * lib/random.c: New file, based on glibc/stdlib/random.c.
26958         * m4/random.m4: New file.
26959         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
26960         HAVE_RANDOM.
26961         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
26962         * modules/random: New file.
26963         * config/srclist.txt: Add an entry for random.c.
26964         * doc/posix-functions/random.texi: Mention the 'random' module.
26965         * doc/posix-functions/initstate.texi: Likewise.
26966         * doc/posix-functions/setstate.texi: Likewise.
26967         * doc/posix-functions/srandom.texi: Likewise.
26969 2012-01-12  Bruno Haible  <bruno@clisp.org>
26971         random_r: Use common idioms.
26972         * lib/random_r.c: Include <stdlib.h> first.
26974         random_r: Override incompatible API on AIX, OSF/1.
26975         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
26976         Override the system function if REPLACE_RANDOM_R is 1.
26977         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
26978         and OSF/1, set REPLACE_RANDOM_R.
26979         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
26980         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
26981         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
26982         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
26983         * doc/glibc-functions/random_r.texi: Likewise.
26984         * doc/glibc-functions/setstate_r.texi: Likewise.
26986         random_r: Support for MSVC 9.
26987         * lib/random_r.c: Include stdint.h, not inttypes.h.
26989 2012-01-12  Eric Blake  <eblake@redhat.com>
26991         inet_ntop: guard extra work by IF_LINT
26992         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
26993         better code generation when not checking for warnings.
26994         Suggested by Paul Eggert and Jim Meyering.
26996         strptime: fix regression on mingw
26997         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
26998         Fix regression.  Reported by Bruno Haible.
27000 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
27001             Bruno Haible  <bruno@clisp.org>
27003         copy-file: add error-code-returning variant.
27004         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
27005         (qcopy_file_preserving): New declaration.
27006         * lib/copy-file.c (qcopy_file_preserving): Renamed from
27007         copy_file_preserving. Change return type to 'int'. Don't emit an error
27008         message here.
27009         (copy_file_preserving): New function.
27010         * tests/test-copy-file.c: Include <stdlib.h>.
27011         (main): Test qcopy_file_preserving if the environment variable
27012         NO_STDERR_OUTPUT is set.
27013         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
27014         with NO_STDERR_OUTPUT
27015         * tests/test-copy-file-2.sh: Likewise.
27017 2012-01-10  Bruno Haible  <bruno@clisp.org>
27019         copy-file: Use 'quote' module consistently.
27020         * lib/copy-file.c (copy_file_preserving): Use quote().
27022         copy-file: Refactor.
27023         * lib/copy-file.c: Include quote.h.
27024         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
27025         message here.
27026         * modules/copy-file (Depends-on): Add quote.
27028         acl: Export qcopy_acl.
27029         * lib/acl.h (qcopy_acl): New declaration.
27030         * lib/copy-acl.c (qcopy_acl): Make non-static.
27032         acl: Rename a local variable.
27033         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
27035         acl: Align return values of copy_acl and qcopy_acl.
27036         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
27037         maybe < -1.
27039 2012-01-11  Eric Blake  <eblake@redhat.com>
27041         strptime: silence gcc warnings
27042         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
27043         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
27044         Reported by Daniel P. Berrange.
27046         inet_ntop: silence gcc warning
27047         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
27048         Reported by Daniel P. Berrange.
27050 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
27052         getloadavg test: skip the test on GNU/Linux without /proc mounted
27053         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
27054         file.  When /proc is not mounted, it always fails with ENOENT.
27055         * tests/test-getloadavg.c (main): Treat ENOENT return code from
27056         getloadavg(3) the same way as ENOSYS and ENOTSUP.
27058 2012-01-10  Bruno Haible  <bruno@clisp.org>
27060         regex: Avoid link error on MSVC 9.
27061         * modules/regex (Depends-on): Add wctype.
27063 2012-01-10  Bruno Haible  <bruno@clisp.org>
27065         doc: Mention --with-tests option.
27066         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
27067         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
27068         --with-tests.
27069         Reported by Reuben Thomas.
27071 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
27073         users.txt: order package names lexicographically.
27074         * users.txt: Order package names lexicographically.
27076 2012-01-10  Jim Meyering  <meyering@redhat.com>
27078         maint.mk: fix description in comment
27079         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
27081         ignore-value: remove deprecated ignore_ptr function
27082         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
27083         * NEWS: Note this.
27085 2012-01-09  Jim Meyering  <meyering@redhat.com>
27087         test-init.sh: avoid a subshell
27088         * tests/test-init.sh: Remove protective subshell.
27089         Suggested by Bernhard Voelker.  While a subshell is normally
27090         required to protect against older shells (Solaris, FreeBSD) that
27091         warn about a missing program before performing redirection, the
27092         shell-selection tests performed by init.sh probably exclude any
27093         offending shell.
27095 2012-01-08  Bruno Haible  <bruno@clisp.org>
27097         setlocale tests: Avoid test failure on Solaris 11.0.
27098         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
27099         variable.
27101 2012-01-08  Bruno Haible  <bruno@clisp.org>
27103         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
27104         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
27105         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
27106         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
27107         macro.
27108         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
27109         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
27110         * lib/spawn_faction_addopen.c: Add workaround implementation if
27111         HAVE_WORKING_POSIX_SPAWN.
27112         * modules/spawn (Makefile): Substitute
27113         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
27114         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
27115         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
27116         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
27117         (Depends-on): Update conditions.
27118         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
27119         the Solaris 11 bug.
27121 2012-01-08  Bruno Haible  <bruno@clisp.org>
27123         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
27124         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
27125         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
27126         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
27127         macro.
27128         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
27129         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
27130         * lib/spawn_faction_adddup2.c: Add workaround implementation if
27131         HAVE_WORKING_POSIX_SPAWN.
27132         * modules/spawn (Makefile): Substitute
27133         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
27134         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
27135         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
27136         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
27137         (Depends-on): Update conditions.
27138         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
27139         the Solaris 11 bug.
27141 2012-01-08  Bruno Haible  <bruno@clisp.org>
27143         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
27144         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
27145         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
27146         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
27147         HAVE_WORKING_POSIX_SPAWN.
27148         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
27149         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
27150         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
27151         * lib/spawn_faction_addclose.c: Add workaround implementation if
27152         HAVE_WORKING_POSIX_SPAWN.
27153         * modules/spawn (Makefile): Substitute
27154         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
27155         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
27156         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
27157         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
27158         (Depends-on): Update conditions.
27159         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
27160         the Solaris 11 bug.
27162 2012-01-08  Bruno Haible  <bruno@clisp.org>
27164         doc: Update for Solaris 11.0.
27165         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
27166         * m4/printf.m4: Update comments.
27168 2012-01-08  Bruno Haible  <bruno@clisp.org>
27170         mktime: Avoid compilation error on Solaris 11.
27171         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
27173 2012-01-08  Bruno Haible  <bruno@clisp.org>
27175         doc: Small fix.
27176         * doc/posix-headers/nl_types.texi: Correct platforms list.
27178 2012-01-08  Simon Josefsson  <simon@josefsson.org>
27180         Add lgpl-3.0 module.
27181         * MODULES.html.sh (Support for building documentation): Add
27182         lgpl-3.0.
27183         * modules/lgpl-3.0: New file.
27185 2012-01-08  Jim Meyering  <meyering@redhat.com>
27187         select.c: indent with spaces, not TABs
27188         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
27190 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
27192         quotearg: do not use grave accent for left quote
27193         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
27194         locale_quoting_style.
27195         (quotearg_buffer_restyled): Fix example.
27196         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
27198 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
27200         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
27201         Most programs do not have translation catalogs for English and much
27202         less separate catalogs for British and American English.  Drop the
27203         suggestion to translators about these two, and provide it
27204         automatically for Unicode locales.  Like most programs, even those
27205         using American English, we use single quotation marks.  This conflicts
27206         with the American typographic convention, but works better when you
27207         cite the entire error message within double quotes.  It also tries not
27208         to clash with established practice and with what non-gnulib programs
27209         will usually do.
27210         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
27211         using an UTF-8 or GB-18030 locale.  The list of other locales with
27212         quotes was provided by Bruno Haible.
27213         (quotearg_buffer_restyled): Adjust instructions to translators.
27214         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
27215         text, since this would be wrong when using Unicode.
27216         * modules/quotearg: Depend on c-strcaseeq.
27218 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
27220         quotearg: fix Wikipedia link
27221         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
27223 2012-01-07  Simon Josefsson  <simon@josefsson.org>
27225         Fix for mingw with MSVC9.
27226         * m4/ld-version-script.m4: Check that compiler rejects version
27227         scripts with syntax errors.  Reported by Bruno Haible
27228         <bruno@clisp.org>.
27230 2012-01-06  Bruno Haible  <bruno@clisp.org>
27232         Talk about "native Windows API", not "Woe32".
27233         * lib/accept4.c: Update comments to mention native Windows.
27234         * lib/execute.c: Likewise.
27235         * lib/fatal-signal.c: Likewise.
27236         * lib/localcharset.c: Likewise.
27237         * lib/nanosleep.c: Likewise.
27238         * lib/nl_langinfo.c: Likewise.
27239         * lib/pclose.c: Likewise.
27240         * lib/pipe-filter-gi.c: Likewise.
27241         * lib/pipe-filter-ii.c: Likewise.
27242         * lib/pipe.c: Likewise.
27243         * lib/pipe2.c: Likewise.
27244         * lib/popen.c: Likewise.
27245         * lib/progreloc.c: Likewise.
27246         * lib/relocatable.c: Likewise.
27247         * lib/sigaction.c: Likewise.
27248         * lib/sigprocmask.c: Likewise.
27249         * lib/spawn-pipe.h: Likewise.
27250         * lib/spawn-pipe.c: Likewise.
27251         * lib/spawni.c: Likewise.
27252         * lib/stat-time.h: Likewise.
27253         * lib/w32spawn.h: Likewise.
27254         * tests/test-isatty.c: Likewise.
27255         * lib/config.charset: More comments.
27256         * doc/gnulib-intro.texi: Mention native Windows.
27257         * doc/posix-functions/_Exit_C99.texi: Likewise.
27258         * doc/posix-headers/fcntl.texi: Likewise.
27260 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
27262         argp: Avoid crash if translator uses % characters in a translation.
27263         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
27264         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
27266 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
27268         doc: C11 and C++11 are now official
27269         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
27270         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
27271         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
27272         * modules/stdalign:
27273         Replace references to draft C1X to C11, and to draft C++0X to C++11.
27275 2012-01-06  Bruno Haible  <bruno@clisp.org>
27277         uc-is-grapheme-break tests: Tweak.
27278         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
27279         message.
27281 2012-01-06  Bruno Haible  <bruno@clisp.org>
27283         test-init.sh: correct the test for diff -u
27284         * tests/test-init.sh: Also redirect stdout to /dev/null.
27286 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
27288         Use ', not `, for quoting output.
27289         * build-aux/announce-gen (usage, sizes, print_news_deltas)
27290         (print_changelog_deltas, get_tool_versions, main program):
27291         * build-aux/git-version-gen:
27292         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
27293         * build-aux/move-if-change (help):
27294         * build-aux/useless-if-before-free (usage, main program):
27295         * check-module (parse_module_file, usage)
27296         (find_included_lib_files, check_module):
27297         * lib/argmatch.c (main) [TEST]:
27298         * lib/argp-help.c (_help):
27299         * lib/getopt1.c (main) [TEST]:
27300         * lib/git-merge-changelog.c (usage):
27301         * lib/xstrtol-error.c (xstrtol_error):
27302         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
27303         * m4/argz.m4 (gl_FUNC_ARGZ):
27304         * m4/bison.m4 (gl_BISON):
27305         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
27306         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
27307         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
27308         * m4/fpending.m4 (gl_PREREQ_FPENDING):
27309         * m4/gc-random.m4 (gl_GC_RANDOM):
27310         * m4/intl.m4 (gt_CHECK_DECL):
27311         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
27312         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
27313         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
27314         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
27315         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
27316         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
27317         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
27318         * tests/test-dirname.c (main):
27319         * tests/test-getpass.c (main):
27320         * tests/test-iconvme.c (main):
27321         * tests/test-parse-datetime.c (LOG):
27322         * tests/test-xstrtoimax.sh:
27323         * tests/test-xstrtol.sh:
27324         * tests/test-xstrtoll.sh:
27325         * tests/test-xstrtoumax.sh:
27326         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
27327         * top/GNUmakefile (abort-due-to-no-makefile):
27328         Quote 'like this', not `like this', as per the recent change to
27329         the GNU coding standards.
27331 2012-01-05  Bruno Haible  <bruno@clisp.org>
27333         strtoimax: Don't force a replacement on systems where intmax_t is int.
27334         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
27335         'intmax_t' is not larger than 'int'.
27336         Reported by Pádraig Brady <P@draigBrady.com>.
27338 2012-01-05  Bruno Haible  <bruno@clisp.org>
27340         doc: Mention NetBSD bugs.
27341         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
27342         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
27344 2012-01-05  Bruno Haible  <bruno@clisp.org>
27346         strtoumax tests: Enhance tests.
27347         * tests/test-strtoumax.c (main): Add tests for large values.
27349 2012-01-05  Bruno Haible  <bruno@clisp.org>
27351         strtoimax: Work around AIX 5.1 bug.
27352         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
27353         definition.
27354         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
27355         Set HAVE_STRTOIMAX.
27356         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
27357         REPLACE_STRTOIMAX.
27358         * modules/inttypes-incomplete (Makefile.am): Substitute
27359         REPLACE_STRTOIMAX.
27360         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
27361         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
27362         (Depends-on): Update conditions.
27363         * tests/test-strtoimax.c (main): Add tests for large values.
27364         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
27366 2012-01-05  Bruno Haible  <bruno@clisp.org>
27368         inttypes: Modernize.
27369         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
27370         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
27371         (Makefile.am): Update inttypes.h rule.
27373 2012-01-05  Jim Meyering  <meyering@redhat.com>
27375         init.sh: don't waste a subshell just to redirect stderr
27376         * tests/init.sh: In testing for diff -u and diff -c, use a
27377         stderr-redirecting exec inside `...` rather than a subshell.
27379         test-init.sh: avoid failure on HP-UX 11.00
27380         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
27381         resolves to diff -c or cmp.  Reported by Bruno Haible.
27383 2012-01-05  Bruno Haible  <bruno@clisp.org>
27385         Tests for module 'strtoull'.
27386         * modules/strtoull-tests: New file.
27387         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
27389 2012-01-05  Bruno Haible  <bruno@clisp.org>
27391         Tests for module 'strtoll'.
27392         * modules/strtoll-tests: New file.
27393         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
27395 2012-01-05  Bruno Haible  <bruno@clisp.org>
27397         Tests for module 'strtoul'.
27398         * modules/strtoul-tests: New file.
27399         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
27401 2012-01-05  Bruno Haible  <bruno@clisp.org>
27403         Tests for module 'strtol'.
27404         * modules/strtol-tests: New file.
27405         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
27407 2012-01-04  Jim Meyering  <meyering@redhat.com>
27409         test-init.sh: accommodate Solaris 5.10's different diff -u output
27410         * tests/test-init.sh: Also exempt @@ lines from the comparison
27411         of diff output, since Solaris 5.10 and GNU diff formats differ.
27412         Reported by Stefano Lattarini.
27414 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
27416         test-posixtm: don't assume signed integer wraparound
27417         * tests/test-posixtm.c (main): Don't assume wraparound semantics
27418         after signed integer overflow.  Inspired by (though it may not
27419         fix) Bruno Haible's bug report in
27420         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
27422         Spell out "Windows 9x" and "Windows XP".
27423         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
27424         "Windows 9x" and "WinXP" with "Windows XP".
27426 2012-01-04  Jim Meyering  <meyering@redhat.com>
27428         test-vc-list-files-cvs.sh: remove obsolete comment
27429         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
27430         double exit.  Now that's all encapsulated via skip_ and Exit.
27432 2012-01-04  Bruno Haible  <bruno@clisp.org>
27434         Talk about "native Windows API", not "Win32".
27435         * lib/classpath.c: Update comments to mention native Windows.
27436         * lib/csharpexec.c: Likewise.
27437         * lib/dup2.c: Likewise.
27438         * lib/error.c: Likewise.
27439         * lib/fcntl.c: Likewise.
27440         * lib/filename.h: Likewise.
27441         * lib/findprog.c: Likewise.
27442         * lib/get-rusage-as.c: Likewise.
27443         * lib/get-rusage-data.c: Likewise.
27444         * lib/getpagesize.c: Likewise.
27445         * lib/javaexec.c: Likewise.
27446         * lib/msvc-inval.c: Likewise.
27447         * lib/msvc-nothrow.c: Likewise.
27448         * lib/nanosleep.c: Likewise.
27449         * lib/nonblocking.c: Likewise.
27450         * lib/printf-parse.c: Likewise.
27451         * lib/setlocale.c: Likewise.
27452         * lib/sigaction.c: Likewise.
27453         * lib/strerror_r.c: Likewise.
27454         * lib/tmpdir.c: Likewise.
27455         * lib/vasnprintf.c: Likewise.
27456         * lib/w32spawn.h: Likewise.
27457         * lib/waitpid.c: Likewise.
27458         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
27459         * m4/locale-ar.m4: Likewise.
27460         * m4/locale-fr.m4: Likewise.
27461         * m4/locale-ja.m4: Likewise.
27462         * m4/locale-tr.m4: Likewise.
27463         * m4/locale-zh.m4: Likewise.
27464         * m4/printf.m4: Likewise.
27465         * tests/test-cloexec.c: Likewise.
27466         * tests/test-copy-acl.sh: Likewise.
27467         * tests/test-copy-file.sh: Likewise.
27468         * tests/test-file-has-acl.sh: Likewise.
27469         * tests/test-set-mode-acl.sh: Likewise.
27470         * tests/test-dup-safer.c: Likewise.
27471         * tests/test-dup2.c: Likewise.
27472         * tests/test-dup3.c: Likewise.
27473         * tests/test-fcntl.c: Likewise.
27474         * tests/test-nonblocking-pipe.h: Likewise.
27475         * tests/test-nonblocking-socket.h: Likewise.
27476         * tests/test-pipe.c: Likewise.
27477         * tests/test-pipe2.c: Likewise.
27478         * tests/test-spawn-pipe-child.c: Likewise.
27479         * doc/acl-resources.txt: Likewise.
27480         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27481         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
27482         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
27483         * lib/localcharset.c: Update comments to mention native Windows.
27484         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27485         * lib/localename.c: Likewise.
27486         * lib/progreloc.c: Likewise.
27487         * lib/relocatable.c: Likewise.
27488         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27489         (windows_compute_revents): Renamed from win32_compute_revents.
27490         (windows_compute_revents_socket): Renamed from
27491         win32_compute_revents_socket.
27492         * lib/select.c: Update comments to mention native Windows.
27493         (windows_poll_handle): Renamed from win32_poll_handle.
27494         * m4/threadlib.m4: Update comments to mention native Windows.
27495         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
27496         --enable-threads=windows instead of --enable-threads=win32. Set
27497         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
27498         * lib/glthread/lock.h: Update comments to mention native Windows.
27499         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
27500         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
27501         USE_WIN32_THREADS.
27502         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
27503         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
27504         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
27505         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
27506         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
27507         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
27508         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
27509         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
27510         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
27511         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
27512         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
27513         * tests/test-tls.c: Likewise.
27514         Rationale:
27515         Microsoft renamed the "Win32 API" to "Windows API", as it is available
27516         on both 32-bit and 64-bit Windows systems.
27517         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
27518         line of distinction is between "native Windows" on one side and Unix/
27519         POSIX systems on the other side. More details in
27520         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
27521         Suggested by Paul Eggert.
27523 2012-01-03  Bruno Haible  <bruno@clisp.org>
27525         isatty: Support for MSVC 9.
27526         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
27527         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
27528         (_isatty_nothrow): New function.
27529         (isatty): Use it instead of _isatty.
27530         (IsConsoleHandle): Add comment, from Paolo Bonzini.
27531         * lib/poll.c (IsConsoleHandle): Likewise.
27532         * lib/select.c (IsConsoleHandle): Likewise.
27533         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
27534         (gl_PREREQ_ISATTY): New macro.
27535         * modules/isatty (Depends-on): Add msvc-inval.
27536         (configure.ac): Invoke gl_PREREQ_ISATTY.
27538 2012-01-03  Jim Meyering  <meyering@redhat.com>
27540         maint.mk: remove temporary transition aid from over 1.5 years ago
27541         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
27542         purpose was to aid in the transition (avoiding silent malfunction)
27543         from that old name to the new _sc_search_regexp.  This shim was
27544         added by commit 219c504b.
27546         init.sh: do not try to accommodate compare arguments starting with "-"
27547         * tests/init.sh (compare_dev_null_): Do not try to accommodate
27548         compare arguments that start with "-".  Besides, we do not worry
27549         about this when invoking diff or cmp; why start now with sed?
27550         Using "--" to separate options from argument would trigger sed
27551         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
27552         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
27554 2012-01-02  Bruno Haible  <bruno@clisp.org>
27556         Enhance tests for module 'isatty'.
27557         * modules/isatty-tests (Depends-on): Add pipe-posix.
27558         * tests/test-isatty.c: Include <fcntl.h>.
27559         (DEV_NULL): New macro.
27560         (main): Test the resut of isatty() also on regular files, pipes, and
27561         /dev/null.
27563         New module 'isatty'.
27564         * lib/unistd.in.h (isatty): New declaration.
27565         * lib/isatty.c: New file, based on an idea of
27566         Bastien Roucariès <roucaries.bastien@gmail.com>.
27567         * m4/isatty.m4: New file.
27568         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
27569         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
27570         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
27571         REPLACE_ISATTY.
27572         * modules/isatty: New file.
27573         * doc/posix-functions/isatty.texi: Mention the new module.
27574         Suggested by Paolo Bonzini.
27576 2012-01-02  Bruno Haible  <bruno@clisp.org>
27578         canonicalize: Tweak 2011-12-29 commit.
27579         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
27580         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
27582 2012-01-02  Jim Meyering  <meyering@redhat.com>
27584         gitlog-to-changelog: describe input syntax in --help output
27585         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
27587         gitlog-to-changelog: fix typo in --help: show backslash before email @
27588         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
27589         in sources, but not in actual output.
27591 2011-12-30  Jim Meyering  <meyering@redhat.com>
27593         gitlog-to-changelog: don't malfunction when name contains %-directive
27594         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
27595         in a name string cause trouble.  E.g., with a user name of "%s",
27596         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
27598 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
27600         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
27601         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
27602         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
27603         the "  (tiny change)" notation that is appended to the standard
27604         ChangeLog "date  name  email" header line.
27606 2012-01-01  Jim Meyering  <meyering@redhat.com>
27608         test-framework-sh: init.sh: fix "make dist" failure
27609         When using gnulib-tool's --with-tests option and any module that
27610         depends on test-framework-sh, "make dist" would fail due to the
27611         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
27612         in the gltests directory, and not in the gllib/ directory.
27613         One way to work around that is to move the EXTRA_DIST += init.sh
27614         from the primary module to the -tests one:
27615         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
27616         * modules/test-framework-sh (Makefile.am): ...not here.
27617         Reported by Tom G. Christensen in
27618         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
27620         version-etc: update copyright year reported by --version
27621         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
27623 2011-12-31  Pádraig Brady  <P@draigBrady.com>
27625         canonicalize: only stat() if required
27626         * lib/canonicalize.c (canonicalize_filename_mode):
27627         Avoid calling l?stat() when both CAN_MISSING,
27628         and CAN_NOLINKS are set, as we neither need
27629         to resolve symlinks or test component existence.
27631 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
27633         doc: cover st_ino issues once; add OpenVMS etc.
27634         * doc/posix-functions/stat.texi (stat):
27635         * doc/posix-functions/lstat.texi (lstat):
27636         * doc/posix-functions/fstatat.texi (fstatat):
27637         * doc/posix-functions/fstat.texi (fstat):
27638         Move general 'struct stat' stuff to sys_stat.texi,
27639         leaving behind a pointer.
27640         * doc/posix-headers/sys_stat.texi (sys/stat.h):
27641         Merge duplicate info about 'struct stat' problems into here.
27642         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
27643         and suggest partial workarounds.
27645         same-inode: port to OpenVMS
27646         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
27647         three st_ino values.
27649 2011-12-30  Pádraig Brady  <P@draigBrady.com>
27651         canonicalize: fix references to stat() and lstat()
27652         * lib/canonicalize.c (canonicalize_filename_mode):
27653         Ensure references always resolve to a replacement
27654         function if required (even via a macro).
27656 2011-12-30  Jim Meyering  <meyering@redhat.com>
27658         gitlog-to-changelog: remove a little duplication
27659         * build-aux/gitlog-to-changelog (main): Grep @lines once,
27660         rather than twice.
27662 2011-12-29  Pádraig Brady  <P@draigBrady.com>
27664         canonicalize: add support for not resolving symlinks
27665         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
27666         indicate we don't want to follow symlinks.  Also
27667         provide CAN_MODE_MASK to aid setting these existing
27668         mutually exclusive values.
27669         * lib/canonicalize.c (canonicalize_filename_mode):
27670         Extract the flags from can_mode parameter, which
27671         are currently just used to select between stat()
27672         and lstat().  Also ensure that mutually exclusive
27673         values are flagged immediately as invalid.
27674         * tests/test-canonicalize.c: Verify symlinks are
27675         not followed, and that invalid flag combinations
27676         are diagnosed.
27678 2011-12-25  Jim Meyering  <meyering@redhat.com>
27680         gitlog-to-changelog: do not clump multi-paragraph entries
27681         Identical header lines (date,name,email+coauthors) are suppressed,
27682         thus putting all entries with those same characteristics under
27683         a single header.  However, when a log entry consists of two or
27684         more paragraphs, it may not be clear where it starts and ends.
27685         This change makes it so that such an entry is always separated
27686         from others by a header line, even when that header would
27687         otherwise be suppressed.
27688         * build-aux/gitlog-to-changelog: Implement the above.
27689         Inspired by a related request from Stefano Lattarini in
27690         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
27692 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
27694         announce-gen: fix `cmd' typo in diagnostic
27695         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
27696         diagnostic: a missing '$' meant that the command was not output.
27698 2011-12-23  Jim Meyering  <meyering@redhat.com>
27700         test-framework-sh: distribute init.sh
27701         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
27702         Otherwise, "make -C gnulib-tests check" (at least in grep) would
27703         fail due to the lack of init.sh.
27705         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
27706         * modules/atexit-tests: Rather than listing tests/init.sh,
27707         now that there's a module for it, simply depend on that new module.
27708         * modules/closein-tests: Likewise.
27709         * modules/exclude-tests: Likewise.
27710         * modules/getcwd-tests: Likewise.
27711         * modules/perror-tests: Likewise.
27712         * modules/pread-tests: Likewise.
27713         * modules/pwrite-tests: Likewise.
27714         * modules/vc-list-files-tests: Likewise.
27715         * modules/verify-tests: Likewise.
27716         * modules/xalloc-die-tests: Likewise.
27717         * modules/xstrtoimax-tests: Likewise.
27718         * modules/xstrtol-tests: Likewise.
27719         * modules/xstrtoll-tests: Likewise.
27720         * modules/xstrtoumax-tests: Likewise.
27721         * modules/yesno-tests: Likewise.
27723 2011-12-22  Jim Meyering  <meyering@redhat.com>
27725         test-framework-sh: add minimal tests of init.sh's compare function
27726         * modules/test-framework-sh-tests: New file.
27727         * tests/test-init.sh: New file.
27729         test-framework-sh: new module
27730         * modules/test-framework-sh: New file.
27731         * MODULES.html.sh (Support for maintaining and releasing projects):
27732         List it.
27734         init.sh: do not emit simulated diff output to stderr
27735         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
27737 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
27739         .gitignore: ignore gnulib.dvi and regex.info
27740         * doc/.gitignore:add gnulib.dvi and regex.info
27742 2011-12-22  Jim Meyering  <meyering@redhat.com>
27744         init.sh: correct previous change
27745         * tests/init.sh (compare): My previous change was wrong.
27746         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
27748         init.sh: avoid unwarranted test failure when using "set -e"
27749         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
27750         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
27751         a use like "compare exp out" would get evoke an unconditional failure.
27753 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
27755         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
27756         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
27757         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
27758         autoreconf that did not.
27759         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
27760         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
27762 2011-12-17  Jim Meyering  <meyering@redhat.com>
27764         bootstrap: remove some now-unneeded code
27765         This script arose back when gnulib-tool was young.
27766         Since then, it has seen improvements that render much of this
27767         script unnecessary.  In particular, it can now make symlinks
27768         to the files it uses.  Also, I no longer see as much value in
27769         marking files as read-only via comments.
27770         If you relied on the symlink-creation feature of the preceding
27771         version of this script, you can get most of that functionality
27772         by adding the --symlink option to the definition of
27773         gnulib_tool_option_extras in your bootstrap.conf file.
27774         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
27775         Run autopoint and libtoolize *before* gnulib-tool.
27776         After it, run an abbreviated autoreconf, rather than a loop around
27777         all tools.
27778         (slirp, bt_mark_as_generated): Remove functions.
27780 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27782         ftoastr: fix typo
27783         * lib/ftoastr.h: Fix misspelling in comment.
27785 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
27787         * top/README-release: fix punctuation.
27789 2011-12-17  Jim Meyering  <meyering@redhat.com>
27791         bootstrap: correct the recent buildreq change
27792         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
27793         had no effect.
27794         * build-aux/bootstrap (buildreq): Bracket each search term with
27795         "*...*", so that the shell "case" statement works as intended.
27796         Add comments.
27798 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
27800         build: let bootstrap resort to wget when downloading .po files
27801         * build-aux/bootstrap (download_po_files): Fallback to wget when
27802         downloading the .po files via rsync fails.  This is necessary to
27803         bootstrap from behind a strict firewall.
27805 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27807         stdint: don't assume C++11 when compiling with g++
27808         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
27809         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
27810         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
27811         work also in C++ before C++11, as that improperly inhibits
27812         generating a substitute stdint.h for that case.
27814 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27816         alloca: protect comment from gnulib-tool
27817         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
27818         that gnulib-tool doesn't think it's a license, and munge it to
27819         say "GCC version 3".
27821 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
27823         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
27824         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
27825         $(abs_top_builddir) instead of $(top_builddir).
27827 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
27829         strftime-tests: also test nanoseconds
27830         * tests/test-strftime.c (T): Add a test of %N.
27832 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
27834         inttypes, stdint: add C++11 support
27835         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
27836         when including inttypes.h and stdint.h.  Support this change to
27837         the standard.
27838         * doc/posix-headers/inttypes.texi (inttypes.h):
27839         * doc/posix-headers/stdint.texi (stdint.h): Document this.
27840         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
27841         Define if not defined already, for the benefit of pre-C++11 hosts.
27842         Define the standard format macros (e.g., PRId8) always.
27843         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
27844         Likewise, if __cpluspus.  Define the standard constant and limit
27845         macros (e.g., INT8_C, INT8_MAX) always.
27846         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
27847         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
27848         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
27849         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
27850         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
27851         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
27852         Likewise.
27854 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
27856         nonblocking tests: Fix test failure on Linux/PPC.
27857         Suggested by Prerna Saxena in
27858         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
27859         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
27860         Set to 1100000.
27862 2011-12-12  Jim Meyering  <meyering@redhat.com>
27864         argmatch: don't hard-code `' when listing valid option arguments
27865         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
27866         use the quote function to add quotes.  Use fputs rather than
27867         fprintf for the format string with no format directive.
27869 2011-12-07  Eric Blake  <eblake@redhat.com>
27871         bootstrap: detect tools required by gnulib-tool
27872         * build-aux/bootstrap (buildreq): Provide minimum implicit
27873         dependencies.
27874         * DEPENDENCIES: Mention patch as a prereq.
27876 2011-12-04  Bruno Haible  <bruno@clisp.org>
27878         sethostname: Port to Windows platforms.
27879         * lib/sethostname.c: Provide an alternate implementation for Windows
27880         platforms.
27881         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
27882         (main): Skip the test if sethostname() fails with EPERM. On Windows
27883         platforms, don't check the result of gethostname().
27885 2011-12-04  Bruno Haible  <bruno@clisp.org>
27886             Jim Meyering  <meyering@redhat.com>
27888         tests: Avoid spurious error message on platforms without mktemp program.
27889         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
27891 2011-12-04  Bruno Haible  <bruno@clisp.org>
27893         sethostname: Fix documentation.
27894         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
27895         "not fixed" section.
27897 2011-12-03  Bruno Haible  <bruno@clisp.org>
27899         gnulib-tool: Verify that the License field is present and non-empty.
27900         * gnulib-tool (func_get_license_raw): New function, extracted from
27901         func_get_license.
27902         (func_get_license): Use it. Warn if the module is not a test module and
27903         has no license.
27904         Suggested by Jim Meyering.
27906 2011-12-03  Bruno Haible  <bruno@clisp.org>
27908         sethostname tests: Fix link error on mingw.
27909         * tests/test-sethostname1.c: New file, extracted from
27910         tests/test-sethostname.c.
27911         * tests/test-sethostname2.c: New file, extracted from
27912         tests/test-sethostname.c.
27913         * tests/test-sethostname.c: Remove file.
27914         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
27915         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
27916         (Depends-on): Add gethostname.
27917         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
27918         Link the latter with $(GETHOSTNAME_LIB).
27920         sethostname tests: Fix compilation error on mingw.
27921         * tests/test-sethostname.c: Don't include <sys/types.h>.
27922         (geteuid): Use a dummy value without uid_t.
27923         * modules/sethostname-tests (Depends-on): Remove sys_types.
27925         sethostname tests: Avoid a gcc warning.
27926         * tests/test-sethostname.c (main): Remove an unused variable.
27928         Tweak last commit.
27929         * modules/sethostname-tests (Files): Sort by decreasing importance.
27930         (configure.ac): Check for geteuid.
27931         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
27932         the test when there's nothing to test. Drop an unnecessary cast.
27933         Improve an error message. Verify that the final sethostname() call
27934         succeeds.
27936 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27938         Add a test suite for the sethostname module.
27939         * modules/sethostname-tests: New file.  A test program
27940         for the sethostname module.
27941         * tests/test-sethostname.c: Likewise.
27943 2011-12-03  Bruno Haible  <bruno@clisp.org>
27945         Tweak last commit.
27946         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
27947         Fix preprocessor directives indentation. Fix typos.
27948         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
27949         * modules/unistd (Makefile): Likewise.
27951 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27953         Integrate the sethostname module into unistd.
27954         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
27955         into the unistd.h header.
27956         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
27957         preprocessor directives.
27958         * modules/unistd: Setup the Makefile substitutions of the
27959         SETHOSTNAME preprocessor directives.
27961 2011-12-03  Bruno Haible  <bruno@clisp.org>
27963         Tweak last commit.
27964         * lib/sethostname.c: Don't include <string.h>.
27965         (sethostname): No need to copy the argument string to the stack. Don't
27966         call clearerr. Preserve errno when fprintf failed.
27967         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
27968         Don't invoke AC_REPLACE_FUNCS.
27969         * modules/sethostname (Link): Remove empty section.
27970         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
27971         failure problem.
27973 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27975         New module 'sethostname'.
27976         * lib/sethostname.c (sethostname): New file.  Provide sethostname
27977         for systems that lack it.
27978         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
27979         sethostname declaration and function.
27980         * modules/sethostname: New file.  Define the sethostname module.
27982 2011-12-03  Bruno Haible  <bruno@clisp.org>
27984         Tweak last commit.
27985         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
27987 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27989         Split the HOST_NAME_MAX detection into a separate m4 macro.
27990         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
27991         macro so it can be used by the pending sethostname module.
27993 2011-12-03  Bruno Haible  <bruno@clisp.org>
27995         Fix module descriptions syntax.
27996         * modules/argv-iter (License): Fix syntax.
27997         * modules/di-set (License): Likewise.
27998         * modules/ino-map (License): Likewise.
27999         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
28001 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
28003         stdalign: port to Clang 3.0
28004         Problem reported by Simon Josefsson in
28005         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
28006         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
28007         which has <stdalign.h> but which does not define alignof.
28008         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
28010 2011-12-01  Eric Blake  <eblake@redhat.com>
28012         mktempd: silence dd usage
28013         * build-aux/mktempd (rand_bytes): Silence dd.
28015 2011-11-30  Simon Josefsson  <simon@josefsson.org>
28017         manywarnings: Don't mention gcc version in docstring.
28018         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
28019         Jim Meyering <meyering@redhat.com>.
28021 2011-11-30  Jim Meyering  <meyering@redhat.com>
28023         hash: mark a few floating point constants with "f" suffix
28024         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
28025         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
28026         floating point constants with "f", since they're destined to be
28027         saved/used as "float"s.
28029 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
28031         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
28032         * tests/test-float.c (test_long_double): Correct and re-enable the
28033         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
28035 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
28037         Avoid subtracting two pointers that don't point into the same block.
28038         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
28039         only pointers into the same memory block are subtracted. We cannot
28040         assume that sizeof (ptrdiff_t) == sizeof (void *).
28042 2011-11-29  Eric Blake  <eblake@redhat.com>
28044         maint.mk: add syntax check for use of compare from init.sh
28045         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
28046         moved here from coreutils.
28048         manywarnings: drop -Wunsuffixed-float-constants
28049         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
28050         '1.0D', which is the only way to silence this warning for 'double'.
28052 2011-11-29  Jim Meyering  <meyering@redhat.com>
28054         hash: mark compute_bucket_size with the pure attribute
28055         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
28057         quotearg, propername: correct pragma guard expression
28058         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
28059         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
28061 2011-11-28  Jim Meyering  <meyering@redhat.com>
28063         propername: do not mark proper_name with the const attribute
28064         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
28065         since it examines data pointed to by its parameter.
28066         * lib/propername.c (proper_name): Instead, add a pragma to suppress
28067         the suggestion from -Wsuggest-attribute=const.
28069         propername: mark one more function as const
28070         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
28072 2011-11-27  Jim Meyering  <meyering@redhat.com>
28074         mark functions with const and pure attributes
28076         Mark functions per suggestions from gcc-4.6 when using these options:
28077         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
28078         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
28079         Follow these guidelines: when possible, apply the attribute to
28080         an extern declaration, not to its definition.  Apply it to the
28081         definition only when the definition is static.
28082         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
28083         * lib/argv-iter.h (argv_iter_n_args): Likewise.
28084         * lib/base64.h (isbase64): Likewise.
28085         * lib/basename-lgpl.c (last_component, base_len): Likewise.
28086         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
28087         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
28088         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
28089         (c_tolower, c_toupper): Likewise.
28090         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
28091         * lib/chdir-long.c (find_non_slash): Likewise.
28092         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
28093         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
28094         * lib/file-type.h (file_type): Likewise.
28095         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
28096         * lib/filevercmp.c (verrevcmp): Likewise.
28097         * lib/freadahead.h (freadahead): Likewise.
28098         * lib/fts.c (fts_maxarglen): Likewise.
28099         * lib/hash-pjw.h (hash_pjw): Likewise.
28100         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
28101         * lib/hash.c (is_prime, next_prime): Likewise.
28102         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
28103         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
28104         (hash_table_ok, hash_get_first, hash_string): Likewise.
28105         (compute_bucket_size): Likewise.
28106         * lib/i-ring.h (i_ring_empty): Likewise.
28107         * lib/isnan.c (isnanl): Likewise.
28108         * lib/math.h (isnanl, rpl_isnanl): Likewise.
28109         * lib/memcasecmp.h (memcasecmp): Likewise.
28110         * lib/memchr2.h (memchr2): Likewise.
28111         * lib/memcmp2.h (memcmp2): Likewise.
28112         * lib/parse-datetime.y (lookup_zone): Likewise.
28113         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
28114         [!WINDOWS_SOCKETS]: Likewise.
28115         * lib/strnlen1.h (strnlen1): Likewise.
28116         * lib/uniwidth.in.h (uc_width): Likewise.
28117         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
28118         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
28119         (quoting_options_from_style): Add a comment.
28120         * lib/propername.h (proper_name): Add a comment.
28122 2011-11-27  Bruno Haible  <bruno@clisp.org>
28124         Remove unused macros from !_LIBC code in glibc-borrowed files.
28125         * lib/fnmatch.c (STRCOLL): Remove macro.
28126         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
28127         * lib/glob.c (__stat, __readdir64): Remove macros.
28128         * lib/tempname.c (__open64, __xstat64): Remove macros.
28129         Suggested by Paul Eggert.
28131 2011-11-27  Bruno Haible  <bruno@clisp.org>
28133         getcwd: Fix link error on MSVC 9.
28134         * modules/getcwd (Depends-on): Add readdir, rewinddir.
28136 2011-11-27  Bruno Haible  <bruno@clisp.org>
28138         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
28139         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
28140         HAVE_OPENDIR is 0.
28141         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
28142         HAVE_CLOSEDIR is 0.
28143         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
28144         is 0.
28145         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
28147 2011-11-27  Bruno Haible  <bruno@clisp.org>
28149         getcwd: Fix bug from 2011-08-17.
28150         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
28151         platforms that need it.
28152         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
28153         code of 4 to be a failure, not a success. This ensures that
28154         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
28156 2011-11-27  Bruno Haible  <bruno@clisp.org>
28158         binary-io tests: Avoid test failure on mingw when libtool is used.
28159         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
28160         Don't verify the size of t-bin-out1.tmp here.
28161         * tests/test-binary-io.sh: Verify it here.
28162         Reported by Simon Josefsson.
28164 2011-11-26  Bruno Haible  <bruno@clisp.org>
28166         Fix conflict between two instantiations of module 'unistd'.
28167         * gnulib-tool (func_emit_autoconf_snippet): Substitute
28168         ${include_guard_prefix} also in the autoconf snippet.
28169         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
28170         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
28171         GNULIB_UNISTD_H_GETOPT.
28172         * modules/getopt-posix (configure.ac): Set the
28173         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
28174         * modules/getopt-gnu (configure.ac): Likewise.
28175         * modules/unistd (Makefile.am): Change the substitution value of
28176         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
28177         Reported by Simon Josefsson.
28179 2011-11-25  Bruno Haible  <bruno@clisp.org>
28181         pagealign_alloc: Doc and comments.
28182         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
28183         module.
28184         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
28186 2011-11-25  Jim Meyering  <meyering@redhat.com>
28188         test-update-copyright.sh: avoid false-positive failure
28189         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
28190         around false positive failure on Cygwin/Windows.  The latter was
28191         matching erroneously-created files with names like
28192         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
28194 2011-11-25  Simon Josefsson  <simon@josefsson.org>
28196         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
28197         * m4/valgrind-tests.m4: Check that the parameters that will be
28198         used works, not just a subset of them.  Reported by Bruno Haible
28199         <bruno@clisp.org>.
28201 2011-11-24  Jim Meyering  <meyering@redhat.com>
28203         test-stdalign.c: comment out long double tests
28204         * tests/test-stdalign.c: Don't try to reduce alignment of long double
28205         variables.  That provokes errors like this from gcc-4.7.0 20111124:
28206         error: '_Alignas' specifiers cannot reduce alignment of \
28207         'static_longdouble_alignas'.
28209 2011-11-22  Jim Meyering  <meyering@redhat.com>
28211         init.sh: make "compare /dev/null FILE" output more readable
28212         * tests/init.sh (compare_): Document the preferred order of arguments.
28213         (emit_diff_u_header_): New function.
28214         (compare_dev_null_): Emit a simulated diff, rather than just the
28215         contents of the unexpected file.  Suggestion from Bruno Haible.
28217 2011-11-21  Jim Meyering  <meyering@redhat.com>
28218             Eric Blake  <eblake@redhat.com>
28220         init.sh: work around OSF/1 5.1's mishandling of /dev/null
28221         * tests/init.sh: Make our compare function slightly more portable.
28222         Reported by Bruno Haible in
28223         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
28225 2011-11-21  Simon Josefsson  <simon@josefsson.org>
28227         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
28228         before using it, in code that ends up in config.h.
28230 2011-11-20  Bruno Haible  <bruno@clisp.org>
28232         getcwd: Work around getcwd bug on AIX 5..7.
28233         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
28234         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
28235         Use a different value for gl_cv_func_getcwd_path_max. Move the
28236         definition of HAVE_PARTLY_WORKING_GETCWD from here...
28237         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
28238         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
28239         Define HAVE_MINIMALLY_WORKING_GETCWD.
28240         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
28241         where it is not even minimally working, that is, on AIX.
28242         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
28243         m4/getcwd-path-max.m4.
28244         (main): Update exit code computation.
28245         * doc/posix-functions/getcwd.texi: Mention list of platforms where
28246         getcwd does not handle long file names.
28248 2011-11-20  Bruno Haible  <bruno@clisp.org>
28250         getcwd: Fix bug from 2009-09-10.
28251         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
28252         like "no".
28254 2011-11-20  Simon Josefsson  <simon@josefsson.org>
28256         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
28258 2011-11-20  Bruno Haible  <bruno@clisp.org>
28260         fma tests: Avoid shadowing local variables.
28261         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
28262         expected.
28264 2011-11-20  Bruno Haible  <bruno@clisp.org>
28266         copysignf tests: Fix.
28267         * tests/test-copysignf.c: Fix signature check.
28269 2011-11-20  Bruno Haible  <bruno@clisp.org>
28271         fma: Remove unused code.
28272         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
28273         unused macros.
28275 2011-11-20  Bruno Haible  <bruno@clisp.org>
28277         sethostname: Fix doc about AIX.
28278         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
28279         sethostname; it has it.
28281         sethostname: Mention more portability problems.
28282         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
28283         problem.
28284         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
28286 2011-11-19  Bruno Haible  <bruno@clisp.org>
28288         Depend on module fcntl-h when AT_FDCWD is used.
28289         * modules/utimens (Depends-on): Add fcntl-h.
28290         * modules/areadlinkat (Depends-on): Likewise.
28291         * modules/areadlinkat-with-size (Depends-on): Likewise.
28292         * modules/faccessat (Depends-on): Likewise.
28293         * modules/fchmodat (Depends-on): Likewise.
28294         * modules/fchownat (Depends-on): Likewise.
28295         * modules/getcwd (Depends-on): Likewise.
28296         * modules/mkdirat (Depends-on): Likewise.
28297         * modules/mkfifoat (Depends-on): Likewise.
28298         * modules/readlinkat (Depends-on): Likewise.
28299         * modules/symlinkat (Depends-on): Likewise.
28300         * modules/dup2-tests (Depends-on): Likewise.
28301         * modules/fdutimensat-tests (Depends-on): Likewise.
28302         * modules/futimens-tests (Depends-on): Likewise.
28304 2011-11-19  Bruno Haible  <bruno@clisp.org>
28306         euidaccess: Update a comment.
28307         * lib/euidaccess.c: Update comment about platforms with faccessat.
28309 2011-11-19  Bruno Haible  <bruno@clisp.org>
28311         openat: Fix file list.
28312         * modules/openat (Files): Remove lib/at-func.c.
28314 2011-11-19  Bruno Haible  <bruno@clisp.org>
28316         fstatat: Simplify.
28317         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
28318         gnulib should define rpl_fstatat, there is a
28319         "#define fstatat rpl_fstatat" in <sys/stat.h>.
28321 2011-11-19  Bruno Haible  <bruno@clisp.org>
28323         Ensure 'inline' can be used in tests/test-utimens-common.h.
28324         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
28325         * modules/futimens-tests (configure.ac): Likewise.
28326         * modules/utimens-tests (configure.ac): Likewise.
28327         * modules/utimensat-tests (configure.ac): Likewise.
28329 2011-11-19  Simon Josefsson  <simon@josefsson.org>
28331         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
28332         not hash_insert0.
28333         (hash_insert_if_absent): Doc fix.
28335 2011-11-19  Simon Josefsson  <simon@josefsson.org>
28337         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
28339 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28341         test-getcwd: disambiguate exit status
28342         * tests/test-getcwd.c (test_long_name): Return 0..7.
28343         (main): Exit with an unambiguous exit status.  The old
28344         code yielded a mysterious mixture of two failure codes.
28346         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
28347         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
28348         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
28349         rpl_fstatat or fstatat.  This should fix the other problem
28350         reported by Kai Habel in
28351         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
28352         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
28353         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
28354         and I reproduced it on a Solaris 8 host we still have in production.
28356 2011-11-18  Jim Meyering  <meyering@redhat.com>
28358         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
28359         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
28360         Add a sentence to the comment.
28361         (hash_insert0): New function that simply calls hash_insert_if_absent.
28362         * lib/hash.h (hash_insert_if_absent): Declare it.
28363         (hash_insert0): Add deprecation attribute.
28364         (_GL_ATTRIBUTE_DEPRECATED): Define.
28365         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
28366         not hash_insert0.
28367         * NEWS: Mention it, even though it's not really an incompatible change.
28369 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
28371         openat: avoid compilation failure due to lack of <errno.h> inclusion
28372         * lib/openat.c: Include <errno.h>.
28374 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28376         * modules/getcwd (Depends-on): Add fdopendir.
28377         This fixes one of the two problems reported by Kai Habel in
28378         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
28380         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
28381         stdalign problem reported by Ian Beckwith in
28382         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
28383         * modules/crypto/gc-arcfour (Depends-on):
28384         Depend conditionally on crypto/arcfour.
28385         * modules/crypto/gc-arctwo (Depends-on):
28386         Depend conditionally on crypto/arctwo.
28387         * modules/crypto/gc-des (Depends-on):
28388         Depend conditionally on crypto/des.
28389         * modules/crypto/gc-hmac-md5 (Depends-on):
28390         Depend conditionally on crypto/hmac-md5.
28391         * modules/crypto/gc-hmac-sha1 (Depends-on):
28392         Depend conditionally on crypto/hmac-sha1.
28393         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
28394         * modules/crypto/gc-md4 (Depends-on):
28395         Depend conditionally on crypto/md4.
28396         * modules/crypto/gc-md5 (Depends-on):
28397         Depend conditionally on crypto/md5.
28398         * modules/crypto/gc-rijndael (Depends-on):
28399         Depend conditionally on crypto/rijndael.
28400         * modules/crypto/gc-sha1 (Depends-on):
28401         Depend conditionally on crypto/sha1.
28402         * modules/crypto/gc-arcfour:
28403         * modules/crypto/gc-arctwo:
28404         * modules/crypto/gc-des:
28405         * modules/crypto/gc-hmac-md5:
28406         * modules/crypto/gc-hmac-sha1:
28407         * modules/crypto/gc-md2:
28408         * modules/crypto/gc-md4:
28409         * modules/crypto/gc-md5:
28410         * modules/crypto/gc-rijndael:
28411         * modules/crypto/gc-sha1:
28412         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
28413         now that the conditional dependencies do the work for us.
28415 2011-11-17  Jim Meyering  <meyering@redhat.com>
28417         tests: factor st_ctime-comparison out of two headers
28418         * tests/test-utimens-common.h (ctime_compare): Define.
28419         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
28420         * tests/test-lutimens.h (test_lutimens): Likewise.
28421         * tests/test-utimens.h (test_utimens): Likewise.
28423         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
28424         Invoke the test program via an init.sh-using wrapper.
28425         * tests/test-getcwd.sh: New file.
28426         * modules/getcwd-tests (Files): Add it.
28427         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
28429 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
28431         gitlog-to-changelog: support multi-author commits.
28432         The FSF cares about keeping track of all authors of patches to its
28433         projects, but Git doesn't provide obvious support for multi-author
28434         changesets. Consensus seems to be forming around the use of extra
28435         Signed-off-by inspired lines in the log message formatted as
28436         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
28437         multi-author commits between version control systems.
28438         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
28439         log message and output in standard ChangeLog multi-author format.
28440         Reported by Peter Rosin <peda@lysator.liu.se>
28442 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
28443             Bruno Haible  <bruno@clisp.org>
28445         Fix some modules' file list.
28446         * modules/fstatat (Files): Add m4/lstat.m4.
28447         * modules/openat (Files): Likewise.
28448         * modules/unlinkat (Files): Likewise.
28450 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
28452         maint.mk: fix tight-scope.mk generation in VPATH builds.
28453         * top/maint.mk (tight-scope.mk): Make sure to prefix file
28454         reference with $(srcdir) so that the file is found correctly even
28455         when running `make syntax-check' in a VPATH build.
28457 2011-11-13  Bruno Haible  <bruno@clisp.org>
28458             Jim Meyering  <meyering@redhat.com>
28460         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
28461         * tests/init.sh (compare): Remove "No differences encountered" or
28462         synonymous output from the 'diff' program.
28464 2011-11-13  Bruno Haible  <bruno@clisp.org>
28466         Makefile: Tweak indentation.
28467         * Makefile: Use tab as first character in every line that contains rule
28468         commands.
28470 2011-11-13  Bruno Haible  <bruno@clisp.org>
28472         Syntax check for copyright statements.
28473         * check-copyright: New file.
28474         * Makefile (sc_check_copyright): New rule.
28476 2011-11-13  Simon Josefsson  <simon@josefsson.org>
28478         * build-aux/git-version-gen: Add --prefix to configure the tag
28479         match string.
28481 2011-11-13  Simon Josefsson  <simon@josefsson.org>
28483         * build-aux/git-version-gen: Add --help and --version.
28485 2011-11-12  Jim Meyering  <meyering@redhat.com>
28487         revamp the other test-exclude?.sh scripts to use init.sh, too
28488         * tests/test-exclude1.sh: Use init.sh.
28489         * tests/test-exclude2.sh: Likewise.
28490         * tests/test-exclude3.sh: Likewise.
28491         * tests/test-exclude4.sh: Likewise.
28492         * tests/test-exclude5.sh: Likewise.
28493         * tests/test-exclude6.sh: Likewise.
28494         * tests/test-exclude7.sh: Likewise.
28495         * tests/test-exclude8.sh: Likewise.
28496         * modules/exclude-tests (Files): List init.sh.
28498         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
28499         These shell scripts ignored failure of the binary test-exclude,
28500         so making the latter return 77 didn't cause them to be skipped.
28501         * tests/test-exclude5.sh: Exit with test-exclude's error status
28502         when that program fails.  Revamp to use init.sh.
28503         * tests/test-exclude2.sh: Likewise.
28505         test-exclude: fix a typo
28506         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
28508 2011-11-11  Bruno Haible  <bruno@clisp.org>
28510         obstack: Fix compilation error on MSVC 9.
28511         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
28513 2011-11-11  Jim Meyering  <meyering@redhat.com>
28515         test-exclude: skip tests rather than failing on deficient systems
28516         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
28517         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
28518         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
28519         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
28521 2011-11-10  Bruno Haible  <bruno@clisp.org>
28523         ptsname_r test: Avoid gcc warning on glibc systems.
28524         * tests/test-ptsname_r.c (null_ptr): New function.
28525         (test_errors): Use it.
28527 2011-11-10  Bruno Haible  <bruno@clisp.org>
28529         ptsname_r: Avoid compilation error on OSF/1 5.1.
28530         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
28531         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
28532         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
28533         function is not declared or incompatibly declared.
28534         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
28535         * modules/ptsname_r (Depends-on, configure.ac): Update.
28536         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
28538 2011-11-10  Bruno Haible  <bruno@clisp.org>
28540         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
28541         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
28542         When cross-compiling, guess yes on all platforms except AIX.
28543         Reported by Ludovic Courtès <ludo@gnu.org>.
28545 2011-11-09  Bruno Haible  <bruno@clisp.org>
28547         ptsname_r tests: Fix bugs.
28548         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
28549         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
28551 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
28553         fstatat: work with cross-compilation
28554         Problem reported by Ludovic Courtès in
28555         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
28556         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
28557         "cross-compiling" and assume the bug is present.  Replace
28558         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
28559         an inverted sense, to be more conservative about our assumptions.
28560         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
28562 2011-11-09  Bruno Haible  <bruno@clisp.org>
28564         Improve MODULES.html output.
28565         * modules/mkfifoat (Description): Use the word "function".
28566         * modules/readlinkat (Description): Likewise.
28567         * modules/symlinkat (Description): Likewise.
28569 2011-11-09  Eric Blake  <eblake@redhat.com>
28571         ptsname_r-tests: new test module
28572         * modules/ptsname_r-tests: New module.
28573         * tests/test-ptsname_r.c: New file.
28575         ptsname_r: new module
28576         * modules/ptsname_r: New module.
28577         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
28578         * lib/ptsname.c (__ptsname_r): Split...
28579         * lib/ptsname_r.c: ...into new file.
28580         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
28581         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
28582         * modules/stdlib (Makefile.am): Substitute witnesses.
28583         * lib/stdlib.in.h (ptsname_r): Declare it.
28584         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
28585         * MODULES.html.sh (Misc): Likewise.
28586         * modules/ptsname (Depends-on): Alter dependency.
28587         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
28589 2011-11-09  Jim Meyering  <meyering@redhat.com>
28591         announce-gen: be more concise when there's only one URL+tarball
28592         * build-aux/announce-gen (get_tool_versions): When you distribute
28593         only one type of tarball, combine the first two "Here are..."
28594         sections and make the key-checking grammar independent of
28595         how many tarballs there are.
28597 2011-11-09  Eric Blake  <eblake@redhat.com>
28599         openpty: provide a stub on mingw
28600         * lib/pty.in.h (includes): Provide forward declarations.
28601         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
28603         raise: fix mingw handling of SIGPIPE
28604         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
28606 2011-11-08  Bruno Haible  <bruno@clisp.org>
28608         More conditional dependencies.
28609         * modules/faccessat (Depends-on): Add conditions.
28610         * modules/fchmodat (Depends-on): Likewise.
28611         * modules/fchownat (Depends-on): Likewise.
28612         * modules/fstatat (Depends-on): Likewise.
28613         * modules/mkfifoat (Depends-on): Likewise.
28614         * modules/readlinkat (Depends-on): Likewise.
28615         * modules/symlinkat (Depends-on): Likewise.
28616         * modules/unlinkat (Depends-on): Likewise.
28617         * modules/utimensat (Depends-on): Likewise.
28618         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
28619         * modules/linkat (Depends-on): Refine the conditions.
28620         * modules/renameat (Depends-on): Likewise.
28622 2011-11-08  Bruno Haible  <bruno@clisp.org>
28624         faccessat: Move AC_LIBOBJ invocation to module description.
28625         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
28626         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
28627         invocation from here...
28628         * modules/faccessat (configure.ac): ... to here. Invoke
28629         gl_PREREQ_FACCESSAT.
28631 2011-11-08  Bruno Haible  <bruno@clisp.org>
28633         faccessat: Simplify autoconf macro.
28634         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
28635         gl_FUNC_EUIDACCESS.
28637 2011-11-08  Bruno Haible  <bruno@clisp.org>
28639         renameat: Fix dependencies.
28640         * modules/renameat (Depends-on): Add stdbool.
28642 2011-11-08  Bruno Haible  <bruno@clisp.org>
28644         mkfifoat: Fix module description.
28645         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
28646         not gl_UNISTD_MODULE_INDICATOR.
28648 2011-11-08  Bruno Haible  <bruno@clisp.org>
28650         fstatat: Remove unused dependency.
28651         * modules/fstatat (Depends-on): Remove fstat.
28653 2011-11-08  Simon Josefsson  <simon@josefsson.org>
28655         GNUmakefile: behave when Makefile is missing.
28656         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
28658 2011-11-08  Bruno Haible  <bruno@clisp.org>
28660         openat: Conditionalize dependencies.
28661         * lib/openat.c: Reduce the scope of some #includes.
28662         * modules/openat (Depends-on): Add conditions.
28664 2011-11-07  Jim Meyering  <meyering@redhat.com>
28666         maint.mk: extract GPG key ID without using a temporary file
28667         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
28668         without using a temporary file.  Based on a suggestion from Werner Koch
28669         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
28671 2011-11-07  Eric Blake  <eblake@redhat.com>
28673         grantpt: fix typo
28674         * lib/stdlib.in.h (grantpt): Check correct function.
28676         maint.mk: silence new syntax check
28677         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
28679 2011-11-06  Bruno Haible  <bruno@clisp.org>
28681         Doc about floating-point and math API.
28682         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
28683         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
28685 2011-11-06  Bruno Haible  <bruno@clisp.org>
28687         stdalign tests: Skip the test when compiled by Sun C.
28688         * tests/test-stdalign.c (main): Skip the test on Sun C.
28690 2011-11-06  Bruno Haible  <bruno@clisp.org>
28692         ansi-c++-opt: Complete the 2011-06-05 change.
28693         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
28694         does not support namespaces, set the variable to "no", not to ":".
28696 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
28698         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
28700 2011-11-06  Bruno Haible  <bruno@clisp.org>
28702         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
28703         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
28704         (minus_zerol) [HP-UX]: New macro.
28705         (unary_minus) [HP-UX]: New function.
28706         (copysignl) [HP-UX]: Use unary_minus function.
28708 2011-11-06  Bruno Haible  <bruno@clisp.org>
28710         ldexp, ldexpf, ldexpl: Enhance tests.
28711         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
28712         and tests/test-ldexpl.c.
28713         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
28714         LDEXP, MIN_EXP, MAX_EXP): New macros.
28715         Include test-ldexp.h.
28716         (main): Just call test_function.
28717         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
28718         infinity.h, nan.h.
28719         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
28720         MAX_EXP): New macros.
28721         Include test-ldexp.h.
28722         (x, y): Remove variables.
28723         (main): Just call test_function.
28724         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
28725         infinity.h, nan.h.
28726         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
28727         MAX_EXP): New macros.
28728         Include test-ldexp.h.
28729         (x, y): Remove variables.
28730         (main): Just call test_function.
28731         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
28732         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
28733         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
28734         (Depends-on): Add isnand-nolibm, signbit, float.
28735         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
28736         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
28737         (Depends-on): Add isnanf-nolibm, signbit, float.
28739 2011-11-06  Bruno Haible  <bruno@clisp.org>
28741         math tests: Cosmetics.
28742         * tests/test-math-c++.cc: Reorder declarations.
28744 2011-11-05  Bruno Haible  <bruno@clisp.org>
28746         fma*: Simplify test.
28747         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
28748         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
28750         Tests for module 'fmal'.
28751         * modules/fmal-tests: New file.
28752         * tests/test-fmal1.c: New file.
28753         * tests/test-fmal2.c: New file.
28755         New module 'fmal'.
28756         * lib/math.in.h (fmal): New declaration.
28757         * lib/fmal.c: New file.
28758         * m4/fmal.m4: New file.
28759         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
28760         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
28761         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
28762         REPLACE_FMAL.
28763         * modules/fmal: New file.
28764         * doc/posix-functions/fmal.texi: Mention the new module and the various
28765         bugs.
28767         Tests for module 'fmaf'.
28768         * modules/fmaf-tests: New file.
28769         * tests/test-fmaf1.c: New file.
28770         * tests/test-fmaf2.c: New file.
28772         New module 'fmaf'.
28773         * lib/math.in.h (fmaf): New declaration.
28774         * lib/fmaf.c: New file.
28775         * m4/fmaf.m4: New file.
28776         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
28777         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
28778         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
28779         REPLACE_FMAF.
28780         * modules/fmaf: New file.
28781         * doc/posix-functions/fmaf.texi: Mention the new module and the various
28782         bugs.
28784         Tests for module 'fma'.
28785         * modules/fma-tests: New file.
28786         * tests/test-fma1.c: New file.
28787         * tests/test-fma1.h: New file.
28788         * tests/test-fma2.c: New file.
28789         * tests/test-fma2.h: New file.
28791         New module 'fma'.
28792         * lib/math.in.h (fma): New declaration.
28793         * lib/fma.c: New file.
28794         * m4/fma.m4: New file.
28795         * m4/fegetround.m4: New file.
28796         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
28797         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
28798         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
28799         REPLACE_FMA.
28800         * modules/fma: New file.
28801         * doc/posix-functions/fma.texi: Mention the new module and the various
28802         bugs.
28804         Extend gl_MATHFUNC.
28805         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
28806         Support 'void' as argument type.
28807         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
28809 2011-11-05  Jim Meyering  <meyering@redhat.com>
28811         maint.mk: also prohibit inclusion of dirent.h without use
28812         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
28814 2011-11-05  Bruno Haible  <bruno@clisp.org>
28816         ldexpl tests: Avoid test failure on MSVC 9.
28817         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
28818         value. Needed in order to enforce the conversion from a value greater
28819         than LDBL_MAX to Infinity.
28821 2011-11-05  Bruno Haible  <bruno@clisp.org>
28823         New modules 'at-internal', 'openat-h', split off from module 'openat'.
28824         * modules/at-internal: New file, extracted from modules/openat.
28825         * modules/openat-h: New file.
28826         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
28827         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
28828         * modules/openat (Description): Add reference to POSIX function.
28829         (Files): Remove lib/openat.h, lib/openat-proc.c.
28830         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
28831         intprops, unistd.
28832         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
28833         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
28834         gl_FCNTL_MODULE_INDICATOR.
28835         (Include): Remove unistd.h, openat.h.
28836         * modules/areadlinkat (Files): Add lib/at-func.c.
28837         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28838         openat-die, openat-h, save-cwd.
28839         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
28840         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28841         openat-die, openat-h, save-cwd, unistd.
28842         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
28843         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28844         openat-h, save-cwd. Remove fcntl-h, openat.
28845         * modules/fchmodat (Files): Remove lib/openat.h.
28846         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28847         openat, stdbool, unistd.
28848         * modules/fchownat (Files): Remove lib/openat.h.
28849         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28850         openat, stdbool, sys_stat.
28851         * modules/fdopendir (Files): Remove lib/openat-priv.h,
28852         lib/openat-proc.c.
28853         (Depends-on): Add at-internal.
28854         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
28855         * modules/fstatat (Files): Remove lib/openat.h.
28856         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
28857         stdbool, unistd.
28858         * modules/fts (Depends-on): Add openat-h.
28859         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
28860         openat.
28861         * modules/mkdirat (Files): Remove lib/openat.h.
28862         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28863         openat, stdbool, sys_stat.
28864         * modules/mkfifoat (Files): Add lib/at-func.c.
28865         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28866         openat-h, save-cwd. Remove fcntl-h, openat.
28867         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
28868         * modules/readlinkat (Files): Add lib/at-func.c.
28869         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28870         openat-h, save-cwd. Remove fcntl-h, openat.
28871         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
28872         openat.
28873         * modules/selinux-at (Files): Add lib/at-func.c.
28874         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28875         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
28876         * modules/symlinkat (Files): Add lib/at-func.c.
28877         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28878         openat-h, save-cwd. Remove fcntl-h, openat.
28879         * modules/unlinkat (Files): Remove lib/openat.h.
28880         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
28881         stdbool.
28882         * modules/utimensat (Files): Add lib/at-func.c.
28883         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
28884         openat-die, openat-h, save-cwd.
28885         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
28886         * modules/fdutimensat-tests (Depends-on): Add openat.
28887         * modules/fstatat-tests (Depends-on): Add openat-h.
28888         * modules/readlinkat-tests (Depends-on): Add openat.
28889         * modules/symlinkat-tests (Depends-on): Add openat.
28891 2011-11-05  Bruno Haible  <bruno@clisp.org>
28893         openat: Include <stdbool.h>.
28894         * lib/openat.c: Include <stdbool.h>.
28896 2011-11-04  Bruno Haible  <bruno@clisp.org>
28898         fchownat, renameat, unlinkat: Fix dependencies.
28899         * modules/fchownat (Depends-on): Add fstatat.
28900         * modules/renameat (Depends-on): Likewise.
28901         * modules/unlinkat (Depends-on): Likewise.
28903 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
28905         openat: remove direct dependency on dirent
28906         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
28907         and hasn't been needed ever since fdopendir was split into its own
28908         module on 2009-08-31.
28909         * modules/openat (Depends-on): Remove dirent.
28911 2011-11-04  Bruno Haible  <bruno@clisp.org>
28913         renameat: Optimize code size.
28914         * modules/renameat (configure.ac): Don't compile at-func2.c if
28915         REPLACE_RENAMEAT is 1.
28917 2011-11-04  Bruno Haible  <bruno@clisp.org>
28919         openat tests: Fix file list.
28920         * modules/openat-tests (Files): Add tests/test-open.h.
28922 2011-11-04  Bruno Haible  <bruno@clisp.org>
28924         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
28925         * modules/fchmodat (Depends-on): Add openat-die.
28926         * modules/fchownat (Depends-on): Likewise.
28927         * modules/linkat (Depends-on): Likewise.
28928         * modules/renameat (Depends-on): Likewise.
28929         * modules/openat (Depends-on): Add dirent.
28931 2011-11-04  Jim Meyering  <meyering@redhat.com>
28933         at-func*.c: fix comments
28934         * lib/at-func2.c: Correct/improve first-line comment.
28935         * lib/at-func.c: Correct grammar in first-line comment.
28937 2011-11-04  Bruno Haible  <bruno@clisp.org>
28939         New module 'mkdirat', split off from module 'openat'.
28940         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
28941         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
28942         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
28943         * modules/mkdirat: New file, extracted from modules/openat.
28944         * modules/openat (Files): Remove lib/mkdirat.c.
28945         (Depends-on): Remove mkdir.
28946         (configure.ac): Remove AC_LIBOBJ of mkdirat.
28947         (Include): Remove <sys/stat.h>.
28948         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
28949         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
28950         tests/test-mkdir.h.
28951         (Depends-on): Remove ignore-value.
28952         (Makefile.am): Remove rules for test-mkdirat.
28953         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
28954         of module 'openat'.
28955         * NEWS: Mention the change.
28957 2011-11-04  Bruno Haible  <bruno@clisp.org>
28959         closedir: Avoid warning on mingw.
28960         * lib/closedir.c: Include <unistd.h>.
28962 2011-11-04  Bruno Haible  <bruno@clisp.org>
28964         New module 'fstatat', split off from module 'openat'.
28965         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
28966         defined.
28967         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
28968         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
28969         gl_FUNC_FSTATAT.
28970         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
28971         * modules/fstatat: New file, extracted from modules/openat.
28972         * modules/openat (Files): Remove lib/fstatat.c.
28973         (Depends-on): Remove lstat.
28974         (configure.ac): Remove AC_LIBOBJ of fstatat.
28975         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
28976         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
28977         tests/test-lstat.h, tests/test-stat.h.
28978         (Depends-on): Remove getcwd-lgpl.
28979         (Makefile.am): Remove rules for test-fstatat.
28980         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
28981         of module 'openat'.
28982         * NEWS: Mention the change.
28983         * modules/getcwd (Depends-on): Add fstatat.
28984         * modules/linkat (Depends-on): Likewise.
28985         * modules/mkfifoat-tests (Depends-on): Likewise.
28986         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
28988 2011-11-03  Bruno Haible  <bruno@clisp.org>
28990         New module 'unlinkat', split off from module 'openat'.
28991         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
28992         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
28993         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
28994         * modules/unlinkat: New file, extracted from modules/openat. Correct
28995         the dependency conditions.
28996         * modules/openat (Files): Remove lib/unlinkat.c.
28997         (Depends-on): Remove rmdir, unlink.
28998         (configure.ac): Remove AC_LIBOBJ of unlinkat.
28999         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
29000         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
29001         tests/test-rmdir.h, tests/test-unlink.h.
29002         (Depends-on): Remove unlinkdir.
29003         (Makefile.am): Remove rules for test-unlinkat.
29004         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
29005         of module 'openat'.
29006         * NEWS: Mention the change.
29007         * modules/linkat-tests (Depends-on): Add unlinkat.
29008         * modules/mkfifoat-tests (Depends-on): Likewise.
29009         * modules/readlinkat-tests (Depends-on): Likewise.
29011 2011-11-02  Bruno Haible  <bruno@clisp.org>
29013         New module 'fchmodat', split off from module 'openat'.
29014         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
29015         defined.
29016         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
29017         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
29018         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
29019         * modules/fchmodat: New file, extracted from modules/openat.
29020         * modules/openat (Files): Remove lib/fchmodat.c.
29021         (configure.ac): Remove AC_LIBOBJ of fchmodat.
29022         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
29023         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
29024         (Makefile.am): Remove rules for test-fchmodat.
29025         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
29026         of module 'openat'.
29027         * NEWS: Mention the change.
29029 2011-11-02  Jim Meyering  <meyering@redhat.com>
29031         putenv: indent #definition of "environ" to placate cppi
29032         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
29034         gitlog-to-changelog: provide a ChangeLog-repair mechanism
29035         Git logs are often treated as immutable, because editing them
29036         changes the SHA1 checksums of all descendants.  Thus, errors in
29037         git logs tend to stay there forever.  However, when we generate
29038         a ChangeLog file -- typically for distribution -- from that git log,
29039         we can actually make corrections in the generated file.  The key
29040         lies in recording in machine-readable/applicable form the desired
29041         corrections.  See --help for description and an example.
29042         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
29043         (usage): Describe it; alphabetize option descriptions.
29044         (main): Honor the new option, carefully.
29046 2011-11-01  Jim Meyering  <meyering@redhat.com>
29048         gitlog-to-changelog: avoid an infloop
29049         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
29050         that ends up being empty.
29052 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
29054         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
29055         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
29056         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
29057         contains (possibly-quoted) backslashes.  This should avoid
29058         all-too-common shell bugs if COMPLICATED contains backslashes in
29059         the "wrong" places.  Reported by David Evans in
29060         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
29061         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
29062         because we want ASCII ranges.  Is there some reason we don't use
29063         the C locale everywhere in this script?
29064         (func_module, top level): Avoid unwanted pathname expansion when
29065         $repo_url_prefix or $repo_url_suffix_repl contain shell
29066         metacharacters like '?' and '*'.
29068 2011-11-01  Bruno Haible  <bruno@clisp.org>
29070         fchownat: Improve description.
29071         * modules/fchownat (Description): Add link to function.
29073 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
29075         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
29076         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
29077         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
29078         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
29080 2011-11-01  Bruno Haible  <bruno@clisp.org>
29082         alignof: Avoid collision with stdalign module.
29083         * lib/alignof.h (alignof): Remove macro.
29084         * NEWS: Mention the change.
29085         Reported by Paul Eggert.
29087 2011-11-01  Bruno Haible  <bruno@clisp.org>
29089         New module 'fchownat', split off from module 'openat'.
29090         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
29091         defined.
29092         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
29093         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
29094         invoke gl_FUNC_FCHOWNAT.
29095         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
29096         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
29097         * modules/fchownat: New file, extracted from modules/openat.
29098         * modules/openat (Files): Remove lib/fchownat.c.
29099         (Depends-on): Remove lchown.
29100         (configure.ac): Remove AC_LIBOBJ of fchownat.
29101         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
29102         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
29103         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
29104         (Depends-on): Remove mgetgroups, usleep, stat-time.
29105         (configure.ac): Remove test for getegid.
29106         (Makefile.am): Remove rules for test-fchownat.
29107         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
29108         of module 'openat'.
29109         * NEWS: Mention the change.
29111 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
29113         stdalign: port better to MSVC and to Sun C 5.11
29114         This fixes some of the problems reported by Bruno Haible in
29115         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
29116         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
29117         shortcomings of MSVC and of Sun C 5.11.
29118         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
29119         around __declspec arg.
29120         * modules/stdalign-tests (Files): Add tests/macros.h.
29121         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
29122         Include macros.h, for ASSERT.
29123         (DECLARE_ALIGNED): Remove.
29124         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
29125         to catch bug), and to 1 if not (simplifies the rest of the code).
29126         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
29127         (CHECK_AUTO): Remove.
29128         (CHECK_ALIGNED): Check only the alignment of the static vars,
29129         since auto var alignment isn't supported by Sun C 5.11.
29130         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
29131         ASSERT failures are easier to diagnose.
29133 2011-10-31  Bruno Haible  <bruno@clisp.org>
29135         doc about some IRIX 5.3 problems.
29136         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
29137         on IRIX 5.3.
29138         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
29139         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
29140         5.3.
29141         * doc/posix-functions/grantpt.texi: Likewise.
29142         * doc/posix-functions/unlockpt.texi: Likewise.
29143         * doc/posix-functions/lgamma.texi: Likewise.
29144         * doc/posix-functions/nextafter.texi: Likewise.
29145         * doc/posix-functions/remainder.texi: Likewise.
29146         * doc/posix-functions/select.texi: Mention misplaced declaration on
29147         IRIX 5.3.
29148         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29150 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
29152         gitlog-to-changelog: fix git-log invocation.
29153         git-log mishandles date strings before 1970-01-01 UTC, and there is
29154         no use to specify --since=1970-01-01 by default anyway.
29155         * build-aux/gitlog-to-changelog: By default, when no --since option
29156         was given, do not specify explicit --since option to git-log.
29158 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
29160         gitlog-to-changelog: new option --append-dot.
29161         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
29162         first non-blank line of each commit message terminated with a dot.
29164 2011-10-30  Bruno Haible  <bruno@clisp.org>
29166         ffsl, ffsll: Avoid compilation error due to 'restrict'.
29167         * lib/ffsl.h: Include <config.h>.
29168         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
29170 2011-10-30  Jim Meyering  <meyering@redhat.com>
29172         GNUmakefile: reenable "make syntax-check" for most projects
29173         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
29174         build-aux variable", "syntax-check" would do nothing but succeed with
29175         the "No version control files detected..." diagnostic (unless you
29176         happened to override _build-aux via cfg.mk).
29177         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
29178         to precede inclusion of maint.mk.  Otherwise, these variables would
29179         be used undefined in any project that does not override the default.
29181 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
29183         gitlog-to-changelog: treat a message with only blank lines as empty.
29184         * build-aux/gitlog-to-changelog: Move the code that removes leading and
29185         trailing blank lines before the code that issues a warning about an
29186         empty commit message.
29188 2011-10-30  Jim Meyering  <meyering@redhat.com>
29190         test-parse-datetime.c: avoid new DST-related false positive test failure
29191         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
29192         based on the time/date we'll convert, not the current time.
29193         Otherwise, the moment we cross a DST boundary like today's in
29194         Europe, (CEST to CET), that offset ends up being one hour off.
29196 2011-10-27  Bruno Haible  <bruno@clisp.org>
29198         fstat: Tweak documentation.
29199         * modules/fstat (Description): More precise description.
29201 2011-10-27  Bruno Haible  <bruno@clisp.org>
29203         Update documentation regarding 'largefile' module.
29204         * doc/posix-functions/fstat.texi: Tweak wording.
29205         * doc/posix-functions/opendir.texi: Mention that the module fixes the
29206         problems with huge directories and/or small ino_t types.
29207         * doc/posix-functions/readdir.texi: Likewise.
29208         * doc/posix-functions/rewinddir.texi: Likewise.
29210 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
29212         maint.mk: don't maintain a second build-aux variable.
29213         * maint.mk (build_aux): Removed.  The maintainer-makefile module
29214         depends on GNUmakefile, which already maintains a cfg.mk
29215         overridable $(_build-aux) for projects with a non-standard
29216         build-aux directory location, although without the $(srcdir)
29217         prefix.  Use that variable consistently instead of introducing a
29218         second one.  Adjust all call sites.
29220 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
29222         Add stdalign module and use it in other modules.
29223         This is based on a previous proposal by Bruno Haible
29224         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
29226         stdalign: new module
29227         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
29228         * modules/stdalign: New files.
29229         * MODULES.html.sh (c1x_core_properties): Add stdalign.
29230         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
29232         stdalign-tests: new module
29233         * modules/stdalign-tests, tests/test-stdalign.c: New files.
29235         argp: use stdalign
29236         * lib/argp-parse.c: Include <stdalign.h>.
29237         (alignof): Remove.
29238         * modules/argp (Depends-on): Add stdalign.
29240         crypto libraries: use stdalign
29241         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
29242         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
29243         Do not include <stdlib.h> twice, in md4.c.
29244         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
29245         because we are accessing a pointer's bit-pattern, not a size.
29246         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
29247         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
29248         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
29249         * modules/crypto/sha512: Likewise.
29251         sys_socket: use stdalign, not alignof
29252         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
29253         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
29255 2011-10-27  Bruno Haible  <bruno@clisp.org>
29257         raise test: Avoid a test failure on Linux/MIPS.
29258         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
29259         because 99 is a valid signal on Linux/MIPS.
29261 2011-10-27  Bruno Haible  <bruno@clisp.org>
29263         nonblocking tests: Fix test failure on Linux/MIPS.
29264         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
29265         Set to 270000.
29267 2011-10-27  Bruno Haible  <bruno@clisp.org>
29269         utimensat: Work around problem on Linux/hppa.
29270         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
29271         values.
29272         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
29274 2011-10-25  Jim Meyering  <meyering@redhat.com>
29276         maint.mk: fix a bug in sc_prohibit_stddef_without_use
29277         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
29278         after symbols like NULL, size_t, etc.
29279         Reported by Alfred M. Szmidt.
29281         maint.mk: exempt ENODATA from a syntax-check rule
29282         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
29283         from the sc_prohibit_always-defined_macros syntax-check rule.
29284         Add a comment.  See this for more details:
29285         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
29287 2011-10-23  Jim Meyering  <meyering@redhat.com>
29289         fts: close parent dir FD before returning from post-traversal fts_read
29290         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
29291         unlink A, even though an FD open on A remained.  This is suboptimal
29292         (holding a file descriptor open longer than needed), but otherwise not
29293         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
29294         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
29295         that represents a real problem: it causes the removal of A to fail
29296         with e.g., "rm: cannot remove `A': Device or resource busy"
29298         fts visits each directory twice and keeps a cache (fts_fd_ring) of
29299         directory file descriptors.  After completing the final, FTS_DP,
29300         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
29301         cache, but then proceeded to add a new FD to it via the subsequent
29302         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
29303         final file descriptor would be closed only via fts_close's call to
29304         fd_ring_clear.  Now, it is usually closed earlier, via the final
29305         FTS_DP-returning fts_read call.
29306         * lib/fts.c (restore_initial_cwd): New function, converted from
29307         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
29308         Update callers.
29309         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
29310         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
29312 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
29313             Bruno Haible  <bruno@clisp.org>
29314             Jim Meyering  <jim@meyering.net>
29316         readme-release: improve safety of release prep instructions.
29317         * README-release: Don't git pull all branches when only master
29318         is needed for the release process.
29319         Run make maintainer-clean before changing trees and merging.
29320         Don't try to run ./configure right after git pull in case files
29321         that influence the bootstrap process have changed, move the
29322         ./configure step to after running ./bootstrap.
29323         Don't bootstrap "one last time"... it's the first time!
29325 2011-10-22  Bruno Haible  <bruno@clisp.org>
29327         errno, strerror-override: Support for MSVC 10.
29328         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
29329         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
29330         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
29331         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
29332         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
29333         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
29334         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
29335         Assign values compatible with MSVC 10.
29336         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
29337         New macros.
29338         (GNULIB_defined_EWINSOCK): New macro.
29339         * lib/strerror-override.c (strerror_override): Update accordingly.
29340         * lib/strerror-override.h: Likewise.
29341         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
29342         longer equal to the corresponding errno value.
29343         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
29345 2011-10-22  Bruno Haible  <bruno@clisp.org>
29347         perror: Recognize when test program crashes.
29348         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
29349         strerror, set gl_cv_func_perror_works to no.
29350         Reported by Daniel Richard G. <skunk@iskunk.org>.
29352         perror: Fix indentation.
29353         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
29355 2011-10-22  Bruno Haible  <bruno@clisp.org>
29357         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
29358         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
29359         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
29360         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
29361         functions, not as a macro.
29362         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
29363         macros.
29364         (isfinite, isinf, isnan, signbit): Check overloaded functions and
29365         absence of macro.
29366         Suggested by Eric Blake.
29367         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
29369 2011-10-21  Bruno Haible  <bruno@clisp.org>
29371         relocatable-prog-wrapper: Don't leave object files behind.
29372         * build-aux/install-reloc: Re-synchronize list of .o files to be
29373         removed with list of compilation units.
29375 2011-10-20  Bruno Haible  <bruno@clisp.org>
29377         openpty, posix_openpt: Remove code duplication.
29378         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
29379         * lib/openpty.c: Include <stdlib.h>.
29380         (openpty): Use posix_openpt on all platforms except IRIX.
29381         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
29383 2011-10-20  Bruno Haible  <bruno@clisp.org>
29385         unlockpt: Detect invalid argument.
29386         * lib/unlockpt.c: Include <fcntl.h>.
29387         (unlockpt): Check whether fd is valid, using fcntl().
29388         * modules/unlockpt (Depends-on): Add fcntl-h.
29390 2011-10-20  Bruno Haible  <bruno@clisp.org>
29392         openpty: Avoid compilation error on AIX 6.1.
29393         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
29395 2011-10-20  Bruno Haible  <bruno@clisp.org>
29397         posix_openpt: Support for OpenBSD.
29398         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
29399         (posix_openpt) [OpenBSD]: New code.
29400         * lib/grantpt.c: Include <fcntl.h>.
29401         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
29402         * modules/grantpt (Depends-on): Add fcntl-h.
29404 2011-10-20  Bruno Haible  <bruno@clisp.org>
29406         posix_openpt test: Coding style.
29407         * tests/test-posix_openpt.c: Use GNU coding style.
29409 2011-10-20  Bruno Haible  <bruno@clisp.org>
29411         grantpt: Support --avoid=pt_chown.
29412         * modules/grantpt (Files): Add lib/pty-private.h.
29414 2011-10-20  Bruno Haible  <bruno@clisp.org>
29416         posix_openpt: Fix autoconf macro.
29417         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
29418         unneeded check for _getpty.
29420 2011-10-20  Bruno Haible  <bruno@clisp.org>
29422         openpty: Update comments.
29423         * lib/openpty.c: Add comments about Minix.
29425 2011-10-19  Eric Blake  <eblake@redhat.com>
29427         openpty: relax license
29428         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
29430         pt_chown: use configmake to simplify build
29431         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
29433         ptsname and others: relax license
29434         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
29435         * modules/unlockpt (License): Likewise.
29436         * modules/pt_chown (License): Likewise.
29437         * modules/ptsname (License): Likewise.
29438         * modules/ttyname_r (License): Likewise.
29440 2011-10-19  Jim Meyering  <meyering@redhat.com>
29442         posix_openpt: remove spurious #endif
29443         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
29445 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
29447         maint.mk: Respect $(build_aux) in web-manual rule.
29448         * top/maint.mk (web-manual): Find gen-announce script in user's
29449         $(build_aux) directory instead of hard-coding 'build-aux'.
29451 2011-10-19  Bruno Haible  <bruno@clisp.org>
29453         posix_openpt: Fix compilation error.
29454         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
29455         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
29456         Mention the openpty module as an alternative.
29458 2011-10-19  Bruno Haible  <bruno@clisp.org>
29460         Support for old NeXTstep 3.3 frexp().
29461         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
29462         execution time of the test to 5 seconds.
29463         Reported by Daniel Richard G. <skunk@iskunk.org>.
29465 2011-10-19  Bruno Haible  <bruno@clisp.org>
29467         Support for old NeXTstep 3.3 sed.
29468         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
29469         part, use /.../, not \|...|. Escape periods in the header file name.
29470         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
29471         Reported by Daniel Richard G. <skunk@iskunk.org>.
29473 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29475         Support for old NeXTstep 3.3 gcc.
29476         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
29477         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
29478         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
29479         * lib/spawn.in.h (_Restrict_arr_): Likewise.
29480         * lib/regex.h (_Restrict_arr_): Likewise.
29481         * lib/regex_internal.h (re_token_t): Likewise.
29482         * lib/regexec.c (check_node_accept_bytes): Likewise.
29483         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
29485 2011-10-18  Eric Blake  <eblake@redhat.com>
29487         posix_openpt: new module
29488         * modules/posix_openpt: New module.
29489         * m4/posix_openpt.m4: New file.
29490         * lib/posix_openpt.c: Likewise.
29491         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
29492         (gl_STDLIB_H_DEFAULTS): Set defaults.
29493         * modules/stdlib (Makefile.am): Substitute macros.
29494         * lib/stdlib.in.h (posix_openpt): Declare.
29495         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
29496         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
29497         * modules/posix_openpt-tests: New test module.
29498         * tests/test-posix_openpt.c: New test.
29500 2011-10-15  Bruno Haible  <bruno@clisp.org>
29502         xstrtoll: Fix compilation failure.
29503         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
29504         from lib/strtol.c.
29505         * doc/posix-headers/limits.texi: Mention missing numerical limits on
29506         some platforms.
29507         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29509 2011-10-15  Bruno Haible  <bruno@clisp.org>
29511         vasnprintf: Optimize bit search operation.
29512         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
29513         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
29514         gl_DOUBLE_EXPONENT_LOCATION.
29515         * modules/vasnprintf (Files): Add m4/exponentd.m4.
29516         * modules/unistdio/u8-vasnprintf (Files): Likewise.
29517         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
29518         * modules/unistdio/u16-vasnprintf (Files): Likewise.
29519         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
29520         * modules/unistdio/u32-vasnprintf (Files): Likewise.
29521         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
29522         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
29523         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
29525 2011-10-15  Bruno Haible  <bruno@clisp.org>
29527         vasnprintf: Fix comments.
29528         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
29530 2011-10-14  Bruno Haible  <bruno@clisp.org>
29532         Tests for module 'integer_length_ll'.
29533         * modules/integer_length_ll-tests: New file.
29534         * tests/test-integer_length_ll.c: New file.
29536         New module 'integer_length_ll'.
29537         * lib/integer_length_ll.c: New file.
29538         * modules/integer_length_ll: New file.
29540 2011-10-14  Bruno Haible  <bruno@clisp.org>
29542         Tests for module 'integer_length_l'.
29543         * modules/integer_length_l-tests: New file.
29544         * tests/test-integer_length_l.c: New file.
29546         New module 'integer_length_l'.
29547         * lib/integer_length_l.c: New file.
29548         * modules/integer_length_l: New file.
29550 2011-10-14  Bruno Haible  <bruno@clisp.org>
29552         Tests for module 'integer_length'.
29553         * modules/integer_length-tests: New file.
29554         * tests/test-integer_length.c: New file.
29556         New module 'integer_length'.
29557         * lib/integer_length.h: New file.
29558         * lib/integer_length.c: New file.
29559         * modules/integer_length: New file.
29561 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29563         popen: Fix dependency conditions.
29564         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
29566 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29568         perror: Fix autoconf test.
29569         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
29570         <stdlib.h> and <string.h>.
29572 2011-10-14  Bruno Haible  <bruno@clisp.org>
29574         ffsl: Optimize on 64-bit platforms.
29575         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
29576         unrolling.
29578 2011-10-13  Bruno Haible  <bruno@clisp.org>
29580         ffsl: Optimize on 32-bit platforms.
29581         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
29582         use ffs() without a loop.
29584         ffsl, ffsll: Optimize for GCC.
29585         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
29586         * lib/ffsl.c (GCC_BUILTIN): New macro.
29587         * lib/ffsll.c (GCC_BUILTIN): Likewise.
29589 2011-10-13  Bruno Haible  <bruno@clisp.org>
29591         ffs, bcopy, memset: Support symbol renaming via config.h.
29592         * lib/ffs.c: Include <config.h>.
29593         * lib/bcopy.c: Likewise.
29594         * lib/memset.c: Likewise.
29596 2011-10-10  Bruno Haible  <bruno@clisp.org>
29598         atanl: Simplify for platforms where 'long double' == 'double'.
29599         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29600         alternative implementation.
29601         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29602         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29603         * modules/atanl (Depends-on): Add atan. Update conditions.
29605 2011-10-10  Bruno Haible  <bruno@clisp.org>
29607         acosl: Simplify for platforms where 'long double' == 'double'.
29608         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29609         alternative implementation.
29610         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29611         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29612         * modules/acosl (Depends-on): Add acos. Update conditions.
29614 2011-10-10  Bruno Haible  <bruno@clisp.org>
29616         asinl: Simplify for platforms where 'long double' == 'double'.
29617         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29618         alternative implementation.
29619         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29620         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29621         * modules/asinl (Depends-on): Add asin. Update conditions.
29623 2011-10-10  Bruno Haible  <bruno@clisp.org>
29625         tanl: Simplify for platforms where 'long double' == 'double'.
29626         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29627         implementation.
29628         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29629         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29630         * modules/tanl (Depends-on): Add tan. Update conditions.
29631         (configure.ac): Don't compile trigl.c if
29632         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29634 2011-10-10  Bruno Haible  <bruno@clisp.org>
29636         cosl: Simplify for platforms where 'long double' == 'double'.
29637         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29638         implementation.
29639         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29640         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29641         * modules/cosl (Depends-on): Add cos. Update conditions.
29642         (configure.ac): Don't compile sincosl.c and trigl.c if
29643         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29645 2011-10-10  Bruno Haible  <bruno@clisp.org>
29647         sinl: Simplify for platforms where 'long double' == 'double'.
29648         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29649         implementation.
29650         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29651         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29652         * modules/sinl (Depends-on): Add sin. Update conditions.
29653         (configure.ac): Don't compile sincosl.c and trigl.c if
29654         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29656 2011-10-10  Bruno Haible  <bruno@clisp.org>
29658         logl: Simplify for platforms where 'long double' == 'double'.
29659         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29660         implementation.
29661         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29662         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29663         * modules/logl (Depends-on): Add log. Update conditions.
29665 2011-10-10  Bruno Haible  <bruno@clisp.org>
29667         expl: Simplify for platforms where 'long double' == 'double'.
29668         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29669         implementation.
29670         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29671         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29672         * modules/expl (Depends-on): Add exp. Update conditions.
29674 2011-10-10  Bruno Haible  <bruno@clisp.org>
29676         sqrtl: Simplify for platforms where 'long double' == 'double'.
29677         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29678         alternative implementation.
29679         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29680         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29681         * modules/sqrtl (Depends-on): Update conditions.
29683 2011-10-10  Bruno Haible  <bruno@clisp.org>
29685         ldexpl: Simplify for platforms where 'long double' == 'double'.
29686         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29687         alternative implementation.
29688         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29689         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29690         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
29692 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
29694         ffsll: set correct witness
29695         * modules/ffsll (configure.ac): Fix typo.
29697 2011-10-10  Bruno Haible  <bruno@clisp.org>
29699         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
29700         * lib/printf-frexpl.c: Include <config.h>.
29701         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29702         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
29703         second time.
29704         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
29705         gl_LONG_DOUBLE_VS_DOUBLE.
29706         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
29707         conditions.
29709 2011-10-10  Bruno Haible  <bruno@clisp.org>
29711         frexpl: Simplify for platforms where 'long double' == 'double'.
29712         * lib/frexpl.c: Include <config.h>.
29713         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29714         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29715         time.
29716         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29717         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29718         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
29719         * modules/frexpl (Depends-on): Add frexp. Update conditions.
29720         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
29721         conditions.
29723 2011-10-10  Jim Meyering  <meyering@redhat.com>
29725         test-renameat: don't leave behind a temporary file
29726         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
29727           ERROR: files left in build directory after distclean:
29728           ./gltests/test-renameat.too
29729           make[1]: *** [distcleancheck] Error 1
29730         Reported by Tom G. Christensen.
29732 2011-10-09  Bruno Haible  <bruno@clisp.org>
29734         rint: Determine RINT_LIBM correctly on AIX 7.
29735         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
29736         directly, not only through a function pointer. Also accept an optional
29737         4th argument with extra code.
29738         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
29739         rintf() call by gcc when optimizing.
29741         mathfunc.m4: Refactor.
29742         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
29743         m4 variable.
29745 2011-10-09  Bruno Haible  <bruno@clisp.org>
29747         rintl: Simplify for platforms where 'long double' == 'double'.
29748         * lib/rintl.c: Include <config.h>.
29749         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29750         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29751         time.
29752         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29753         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29754         * modules/rintl (Depends-on): Add rint. Update conditions.
29756 2011-10-09  Bruno Haible  <bruno@clisp.org>
29758         roundl: Simplify for platforms where 'long double' == 'double'.
29759         * lib/roundl.c: Include <config.h>.
29760         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29761         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29762         time.
29763         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29764         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29765         * modules/roundl (Depends-on): Add round. Update conditions.
29767 2011-10-09  Bruno Haible  <bruno@clisp.org>
29769         truncl: Simplify for platforms where 'long double' == 'double'.
29770         * lib/truncl.c: Include <config.h>.
29771         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29772         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29773         time.
29774         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29775         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29776         * modules/truncl (Depends-on): Add trunc. Update conditions.
29778 2011-10-09  Bruno Haible  <bruno@clisp.org>
29780         ceill: Simplify for platforms where 'long double' == 'double'.
29781         * lib/ceill.c: Include <config.h>.
29782         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29783         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29784         time.
29785         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29786         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29787         * modules/ceill (Depends-on): Add ceil. Update conditions.
29789 2011-10-09  Bruno Haible  <bruno@clisp.org>
29791         floorl: Simplify for platforms where 'long double' == 'double'.
29792         * lib/floorl.c: Include <config.h>.
29793         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29794         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29795         time.
29796         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29797         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29798         * modules/floorl (Depends-on): Add floor. Update conditions.
29800 2011-10-09  Bruno Haible  <bruno@clisp.org>
29802         rint: Fix ordering constraints.
29803         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
29804         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
29805         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
29807 2011-10-09  Bruno Haible  <bruno@clisp.org>
29809         copysignl: Simplify for platforms where 'long double' == 'double'.
29810         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29811         alternative.
29812         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29813         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29814         * modules/copysignl (Depends-on): Add copysign. Update conditions.
29816 2011-10-09  Bruno Haible  <bruno@clisp.org>
29818         Tests for module 'rintl'.
29819         * modules/rintl-tests: New file.
29820         * tests/test-rintl.c: New file.
29822         New module 'rintl'.
29823         * lib/math.in.h (rintl): New declaration.
29824         * lib/rintl.c: New file.
29825         * m4/rintl.m4: New file.
29826         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
29827         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
29828         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
29829         * modules/rintl: New file.
29830         * tests/test-math-c++.cc: Check the declaration of rintl.
29831         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29832         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
29833         * doc/posix-functions/rintl.texi: Mention the new module.
29835 2011-10-09  Bruno Haible  <bruno@clisp.org>
29837         Tests for module 'rintf'.
29838         * modules/rintf-tests: New file.
29839         * tests/test-rintf.c: New file.
29841         New module 'rintf'.
29842         * lib/math.in.h (rintf): New declaration.
29843         * lib/rintf.c: New file.
29844         * m4/rintf.m4: New file.
29845         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
29846         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
29847         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
29848         * modules/rintf: New file.
29849         * tests/test-math-c++.cc: Check the declaration of rintf.
29850         * doc/posix-functions/rintf.texi: Mention the new module.
29852 2011-10-09  Bruno Haible  <bruno@clisp.org>
29854         rint: Support for MSVC.
29855         * lib/math.in.h (rint): New declaration.
29856         * lib/rint.c: New file.
29857         * m4/rint.m4: New file.
29858         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
29859         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
29860         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
29861         * modules/rint (Description): Fix.
29862         (Files): Add lib/rint.c, m4/rint.m4.
29863         (Depends-on): Add math.
29864         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
29865         gl_MATH_MODULE_INDICATOR.
29866         * tests/test-math-c++.cc: Check the declaration of rint.
29867         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29868         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
29869         * doc/posix-functions/rint.texi: Mention the replacement provided by
29870         the module.
29872         rint tests: More tests.
29873         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
29874         minus-zero.h, infinity.h, nan.h.
29875         (main): Skip the test if the current rounding mode is not standard. Add
29876         tests for negative numbers, minus zero, infinity, NaN.
29877         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
29878         tests/nan.h.
29879         (Depends-on): Add isnand-nolibm.
29881 2011-10-09  Bruno Haible  <bruno@clisp.org>
29883         Tests for module 'copysignl'.
29884         * modules/copysignl-tests: New file.
29885         * tests/test-copysignl.c: New file.
29887         New module 'copysignl'.
29888         * lib/math.in.h (copysignl): New declaration.
29889         * lib/copysignl.c: New file.
29890         * m4/copysignl.m4: New file.
29891         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
29892         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
29893         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
29894         HAVE_COPYSIGNL.
29895         * modules/copysignl: New file.
29896         * tests/test-math-c++.cc: Check the declaration of copysignl.
29897         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29898         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
29899         * doc/posix-functions/copysignl.texi: Mention the new module.
29901 2011-10-09  Bruno Haible  <bruno@clisp.org>
29903         Tests for module 'copysignf'.
29904         * modules/copysignf-tests: New file.
29905         * tests/test-copysignf.c: New file.
29907         New module 'copysignf'.
29908         * lib/math.in.h (copysignf): New declaration.
29909         * lib/copysignf.c: New file.
29910         * m4/copysignf.m4: New file.
29911         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
29912         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
29913         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
29914         HAVE_COPYSIGNF.
29915         * modules/copysignf: New file.
29916         * tests/test-math-c++.cc: Check the declaration of copysignf.
29917         * doc/posix-functions/copysignf.texi: Mention the new module.
29919 2011-10-09  Bruno Haible  <bruno@clisp.org>
29921         Ensure that HAVE_* variables are set to 1 before they are set to 0.
29922         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
29923         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
29924         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
29925         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
29926         gl_SIGNAL_H_DEFAULTS.
29928 2011-10-09  Bruno Haible  <bruno@clisp.org>
29930         poll: Make macro safer.
29931         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
29932         ac_cv_header_poll_h is not set.
29934 2011-10-09  Bruno Haible  <bruno@clisp.org>
29936         copysign: Provide replacement.
29937         * lib/math.in.h (copysign): New declaration.
29938         * lib/copysign.c: New file.
29939         * m4/copysign.m4: New file.
29940         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
29941         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
29942         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
29943         HAVE_COPYSIGN.
29944         * modules/copysign (Description): Clarify.
29945         (Files): Add lib/copysign.c, m4/copysign.m4.
29946         (Depends-on): Add math, signbit.
29947         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
29948         gl_MATH_MODULE_INDICATOR.
29949         * tests/test-math-c++.cc: Check the declaration of copysign.
29950         * doc/posix-functions/copysign.texi: Mention the effects of the module
29951         on Minix and MSVC.
29953 2011-10-09  Bruno Haible  <bruno@clisp.org>
29955         isinf: Ensure macro on AIX 5.1.
29956         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
29957         macro.
29958         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
29960 2011-10-09  Bruno Haible  <bruno@clisp.org>
29962         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
29963         * modules/snprintf-posix-tests (configure.ac): Require
29964         gl_LONG_DOUBLE_VS_DOUBLE.
29965         * modules/sprintf-posix-tests (configure.ac): Likewise.
29966         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
29967         * modules/vasprintf-posix-tests (configure.ac): Likewise.
29968         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
29969         * modules/vsprintf-posix-tests (configure.ac): Likewise.
29970         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
29971         tests on platforms where 'long double' is the same as 'double'.
29972         * tests/test-sprintf-posix.h (test_function): Likewise.
29973         * tests/test-vasnprintf-posix.c (test_function): Likewise.
29974         * tests/test-vasprintf-posix.c (test_function): Likewise.
29976         *printf: Fix for platforms where 'long double' == 'double'.
29977         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
29978         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
29979         * modules/dprintf-posix (Files): Add m4/math_h.m4.
29980         * modules/fprintf-posix (Files): Likewise.
29981         * modules/obstack-printf-posix (Files): Likewise.
29982         * modules/snprintf-posix (Files): Likewise.
29983         * modules/sprintf-posix (Files): Likewise.
29984         * modules/vasnprintf (Files): Likewise.
29985         * modules/vasnprintf-posix (Files): Likewise.
29986         * modules/vasprintf-posix (Files): Likewise.
29987         * modules/vdprintf-posix (Files): Likewise.
29988         * modules/vfprintf-posix (Files): Likewise.
29989         * modules/vsnprintf-posix (Files): Likewise.
29990         * modules/vsprintf-posix (Files): Likewise.
29991         * modules/unistdio/u8-vasnprintf (Files): Likewise.
29992         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
29993         * modules/unistdio/u16-vasnprintf (Files): Likewise.
29994         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
29995         * modules/unistdio/u32-vasnprintf (Files): Likewise.
29996         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
29997         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
29999         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
30000         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
30001         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30002         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
30003         'long double'.
30004         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
30006         isinf: Fix for platforms where 'long double' == 'double'.
30007         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
30008         Don't blindly assume 80-bit 'long double'.
30010         isfinite: Fix for platforms where 'long double' == 'double'.
30011         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
30012         Don't blindly assume 80-bit 'long double'.
30014         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
30015         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
30016         * modules/isfinite-tests (configure.ac): Require
30017         gl_LONG_DOUBLE_VS_DOUBLE.
30018         * modules/isinf-tests (configure.ac): Likewise.
30019         * modules/isnan-tests (configure.ac): Likewise.
30020         * modules/isnanl-tests (configure.ac): Likewise.
30021         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
30022         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
30023         tests on platforms where 'long double' is the same as 'double'.
30024         * tests/test-isinf.c (test_isinfl): Likewise.
30025         * tests/test-isnan.c (test_long_double): Likewise.
30026         * tests/test-isnanl.h (main): Likewise.
30028 2011-10-08  Bruno Haible  <bruno@clisp.org>
30030         Tests for module 'tanhf'.
30031         * modules/tanhf-tests: New file.
30032         * tests/test-tanhf.c: New file.
30034         New module 'tanhf'.
30035         * lib/math.in.h (tanhf): New declaration.
30036         * lib/tanhf.c: New file.
30037         * m4/tanhf.m4: New file.
30038         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
30039         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
30040         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
30041         * modules/tanhf: New file.
30042         * tests/test-math-c++.cc: Check the declaration of tanhf.
30043         * doc/posix-functions/tanhf.texi: Mention the new module.
30045         tanh: Use a .m4 file.
30046         * m4/tanh.m4: New file.
30047         * modules/tanh (Files): Add it.
30048         (configure.ac): Just invoke gl_FUNC_TANH.
30050 2011-10-08  Bruno Haible  <bruno@clisp.org>
30052         Tests for module 'coshf'.
30053         * modules/coshf-tests: New file.
30054         * tests/test-coshf.c: New file.
30056         New module 'coshf'.
30057         * lib/math.in.h (coshf): New declaration.
30058         * lib/coshf.c: New file.
30059         * m4/coshf.m4: New file.
30060         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
30061         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
30062         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
30063         * modules/coshf: New file.
30064         * tests/test-math-c++.cc: Check the declaration of coshf.
30065         * doc/posix-functions/coshf.texi: Mention the new module.
30067         cosh: Use a .m4 file.
30068         * m4/cosh.m4: New file.
30069         * modules/cosh (Files): Add it.
30070         (configure.ac): Just invoke gl_FUNC_COSH.
30072 2011-10-08  Bruno Haible  <bruno@clisp.org>
30074         Tests for module 'sinhf'.
30075         * modules/sinhf-tests: New file.
30076         * tests/test-sinhf.c: New file.
30078         New module 'sinhf'.
30079         * lib/math.in.h (sinhf): New declaration.
30080         * lib/sinhf.c: New file.
30081         * m4/sinhf.m4: New file.
30082         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
30083         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
30084         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
30085         * modules/sinhf: New file.
30086         * tests/test-math-c++.cc: Check the declaration of sinhf.
30087         * doc/posix-functions/sinhf.texi: Mention the new module.
30089         sinh: Use a .m4 file.
30090         * m4/sinh.m4: New file.
30091         * modules/sinh (Files): Add it.
30092         (configure.ac): Just invoke gl_FUNC_SINH.
30094 2011-10-08  Bruno Haible  <bruno@clisp.org>
30096         Tests for module 'atan2f'.
30097         * modules/atan2f-tests: New file.
30098         * tests/test-atan2f.c: New file.
30100         New module 'atan2f'.
30101         * lib/math.in.h (atan2f): New declaration.
30102         * lib/atan2f.c: New file.
30103         * m4/atan2f.m4: New file.
30104         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
30105         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
30106         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
30107         * modules/atan2f: New file.
30108         * tests/test-math-c++.cc: Check the declaration of atan2f.
30109         * doc/posix-functions/atan2f.texi: Mention the new module.
30111         atan2: Use a .m4 file.
30112         * m4/atan2.m4: New file.
30113         * modules/atan2 (Files): Add it.
30114         (configure.ac): Just invoke gl_FUNC_ATAN2.
30116 2011-10-08  Bruno Haible  <bruno@clisp.org>
30118         Tests for module 'atanf'.
30119         * modules/atanf-tests: New file.
30120         * tests/test-atanf.c: New file.
30122         New module 'atanf'.
30123         * lib/math.in.h (atanf): New declaration.
30124         * lib/atanf.c: New file.
30125         * m4/atanf.m4: New file.
30126         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
30127         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
30128         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
30129         * modules/atanf: New file.
30130         * tests/test-math-c++.cc: Check the declaration of atanf.
30131         * doc/posix-functions/atanf.texi: Mention the new module.
30133         atan: Use a .m4 file.
30134         * m4/atan.m4: New file.
30135         * modules/atan (Files): Add it.
30136         (configure.ac): Just invoke gl_FUNC_ATAN.
30138 2011-10-08  Bruno Haible  <bruno@clisp.org>
30140         Tests for module 'acosf'.
30141         * modules/acosf-tests: New file.
30142         * tests/test-acosf.c: New file.
30144         New module 'acosf'.
30145         * lib/math.in.h (acosf): New declaration.
30146         * lib/acosf.c: New file.
30147         * m4/acosf.m4: New file.
30148         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
30149         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
30150         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
30151         * modules/acosf: New file.
30152         * tests/test-math-c++.cc: Check the declaration of acosf.
30153         * doc/posix-functions/acosf.texi: Mention the new module.
30155         acos: Use a .m4 file.
30156         * m4/acos.m4: New file.
30157         * modules/acos (Files): Add it.
30158         (configure.ac): Just invoke gl_FUNC_ACOS.
30160 2011-10-08  Bruno Haible  <bruno@clisp.org>
30162         Tests for module 'asinf'.
30163         * modules/asinf-tests: New file.
30164         * tests/test-asinf.c: New file.
30166         New module 'asinf'.
30167         * lib/math.in.h (asinf): New declaration.
30168         * lib/asinf.c: New file.
30169         * m4/asinf.m4: New file.
30170         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
30171         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
30172         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
30173         * modules/asinf: New file.
30174         * tests/test-math-c++.cc: Check the declaration of asinf.
30175         * doc/posix-functions/asinf.texi: Mention the new module.
30177         asin: Use a .m4 file.
30178         * m4/asin.m4: New file.
30179         * modules/asin (Files): Add it.
30180         (configure.ac): Just invoke gl_FUNC_ASIN.
30182 2011-10-08  Bruno Haible  <bruno@clisp.org>
30184         Tests for module 'tanf'.
30185         * modules/tanf-tests: New file.
30186         * tests/test-tanf.c: New file.
30188         New module 'tanf'.
30189         * lib/math.in.h (tanf): New declaration.
30190         * lib/tanf.c: New file.
30191         * m4/tanf.m4: New file.
30192         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
30193         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
30194         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
30195         * modules/tanf: New file.
30196         * tests/test-math-c++.cc: Check the declaration of tanf.
30197         * doc/posix-functions/tanf.texi: Mention the new module.
30199         tan: Use a .m4 file.
30200         * m4/tan.m4: New file.
30201         * modules/tan (Files): Add it.
30202         (configure.ac): Just invoke gl_FUNC_TAN.
30204 2011-10-08  Bruno Haible  <bruno@clisp.org>
30206         Tests for module 'cosf'.
30207         * modules/cosf-tests: New file.
30208         * tests/test-cosf.c: New file.
30210         New module 'cosf'.
30211         * lib/math.in.h (cosf): New declaration.
30212         * lib/cosf.c: New file.
30213         * m4/cosf.m4: New file.
30214         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
30215         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
30216         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
30217         * modules/cosf: New file.
30218         * tests/test-math-c++.cc: Check the declaration of cosf.
30219         * doc/posix-functions/cosf.texi: Mention the new module.
30221         cos: Use a .m4 file.
30222         * m4/cos.m4: New file.
30223         * modules/cos (Files): Add it.
30224         (configure.ac): Just invoke gl_FUNC_COS.
30226 2011-10-08  Bruno Haible  <bruno@clisp.org>
30228         Tests for module 'sinf'.
30229         * modules/sinf-tests: New file.
30230         * tests/test-sinf.c: New file.
30232         New module 'sinf'.
30233         * lib/math.in.h (sinf): New declaration.
30234         * lib/sinf.c: New file.
30235         * m4/sinf.m4: New file.
30236         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
30237         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
30238         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
30239         * modules/sinf: New file.
30240         * tests/test-math-c++.cc: Check the declaration of sinf.
30241         * doc/posix-functions/sinf.texi: Mention the new module.
30243         sin: Use a .m4 file.
30244         * m4/sin.m4: New file.
30245         * modules/sin (Files): Add it.
30246         (configure.ac): Just invoke gl_FUNC_SIN.
30248 2011-10-08  Bruno Haible  <bruno@clisp.org>
30250         Tests for module 'powf'.
30251         * modules/powf-tests: New file.
30252         * tests/test-powf.c: New file.
30254         New module 'powf'.
30255         * lib/math.in.h (powf): New declaration.
30256         * lib/powf.c: New file.
30257         * m4/powf.m4: New file.
30258         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
30259         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
30260         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
30261         * modules/powf: New file.
30262         * tests/test-math-c++.cc: Check the declaration of powf.
30263         * doc/posix-functions/powf.texi: Mention the new module.
30265         pow: Use a .m4 file.
30266         * m4/pow.m4: New file.
30267         * modules/pow (Files): Add it.
30268         (configure.ac): Just invoke gl_FUNC_POW.
30270 2011-10-08  Bruno Haible  <bruno@clisp.org>
30272         Tests for module 'log10f'.
30273         * modules/log10f-tests: New file.
30274         * tests/test-log10f.c: New file.
30276         New module 'log10f'.
30277         * lib/math.in.h (log10f): New declaration.
30278         * lib/log10f.c: New file.
30279         * m4/log10f.m4: New file.
30280         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
30281         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
30282         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
30283         * modules/log10f: New file.
30284         * tests/test-math-c++.cc: Check the declaration of log10f.
30285         * doc/posix-functions/log10f.texi: Mention the new module.
30287         log10: Use a .m4 file.
30288         * m4/log10.m4: New file.
30289         * modules/log10 (Files): Add it.
30290         (configure.ac): Just invoke gl_FUNC_LOG10.
30292 2011-10-08  Bruno Haible  <bruno@clisp.org>
30294         Tests for module 'logf'.
30295         * modules/logf-tests: New file.
30296         * tests/test-logf.c: New file.
30298         New module 'logf'.
30299         * lib/math.in.h (logf): New declaration.
30300         * lib/logf.c: New file.
30301         * m4/logf.m4: New file.
30302         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
30303         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
30304         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
30305         * modules/logf: New file.
30306         * tests/test-math-c++.cc: Check the declaration of logf.
30307         * doc/posix-functions/logf.texi: Mention the new module.
30309         log: Use a .m4 file.
30310         * m4/log.m4: New file.
30311         * modules/log (Files): Add it.
30312         (configure.ac): Just invoke gl_FUNC_LOG.
30314 2011-10-08  Bruno Haible  <bruno@clisp.org>
30316         Tests for module 'expf'.
30317         * modules/expf-tests: New file.
30318         * tests/test-expf.c: New file.
30320         New module 'expf'.
30321         * lib/math.in.h (expf): New declaration.
30322         * lib/expf.c: New file.
30323         * m4/expf.m4: New file.
30324         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
30325         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
30326         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
30327         * modules/expf: New file.
30328         * tests/test-math-c++.cc: Check the declaration of expf.
30329         * doc/posix-functions/expf.texi: Mention the new module.
30331         exp: Use a .m4 file.
30332         * m4/exp.m4: New file.
30333         * modules/exp (Files): Add it.
30334         (configure.ac): Just invoke gl_FUNC_EXP.
30336 2011-10-08  Bruno Haible  <bruno@clisp.org>
30338         Tests for module 'sqrtf'.
30339         * modules/sqrtf-tests: New file.
30340         * tests/test-sqrtf.c: New file.
30342         New module 'sqrtf'.
30343         * lib/math.in.h (sqrtf): New declaration.
30344         * lib/sqrtf.c: New file.
30345         * m4/sqrtf.m4: New file.
30346         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
30347         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
30348         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
30349         * modules/sqrtf: New file.
30350         * tests/test-math-c++.cc: Check the declaration of sqrtf.
30351         * doc/posix-functions/sqrtf.texi: Mention the new module.
30353 2011-10-08  Bruno Haible  <bruno@clisp.org>
30355         Tests: Avoid link failures w.r.t. libintl.
30356         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
30357         $(LIBINTL).
30358         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
30359         $(LIBINTL).
30360         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
30361         against $(LIBINTL).
30362         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
30363         $(LIBINTL).
30364         * modules/openat-tests (Makefile.am): Link test-fchmodat against
30365         $(LIBINTL).
30366         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
30368 2011-10-08  Bruno Haible  <bruno@clisp.org>
30370         pow tests: Defeat compiler optimizations.
30371         * tests/test-pow.c (main): Assign arguments to x and y before use.
30373 2011-10-08  Bruno Haible  <bruno@clisp.org>
30375         gnulib-tool: Improve last commit.
30376         * gnulib-tool (func_modules_transitive_closure): Simplify code.
30377         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
30378         ignore dependencies that are not among the modules list.
30380 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
30382         gnulib-tool: don't follow dependencies to avoided modules
30383         This fixes a bug that is related to the previous one.
30384         * gnulib-tool (func_modules_transitive_closure)
30385         (func_emit_autoconf_snippets):
30386         Check whether a dependency is acceptable before using it.
30387         (--extract-dependencies): Report an error if --avoid is also used,
30388         since this combination of options is not yet supported.
30390         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
30391         Problem reported by Peter Dyballa in
30392         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
30393         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
30394         when echoing "$condition".
30396 2011-10-07  Bruno Haible  <bruno@clisp.org>
30398         Fix documentation about math functions on MacOS X.
30399         * doc/posix-functions/exp2.texi: Don't say the function is missing on
30400         MacOS X 10.5.
30401         * doc/posix-functions/fdim.texi: Likewise.
30402         * doc/posix-functions/feclearexcept.texi: Likewise.
30403         * doc/posix-functions/fegetenv.texi: Likewise.
30404         * doc/posix-functions/fegetround.texi: Likewise.
30405         * doc/posix-functions/feholdexcept.texi: Likewise.
30406         * doc/posix-functions/feraiseexcept.texi: Likewise.
30407         * doc/posix-functions/fesetenv.texi: Likewise.
30408         * doc/posix-functions/fesetround.texi: Likewise.
30409         * doc/posix-functions/fetestexcept.texi: Likewise.
30410         * doc/posix-functions/feupdateenv.texi: Likewise.
30411         * doc/posix-functions/fmax.texi: Likewise.
30412         * doc/posix-functions/fmin.texi: Likewise.
30413         * doc/posix-functions/log2.texi: Likewise.
30414         * doc/posix-functions/modff.texi: Likewise.
30415         * doc/posix-functions/nan.texi: Likewise.
30416         * doc/posix-functions/nanf.texi: Likewise.
30417         * doc/posix-functions/nextafterf.texi: Likewise.
30418         * doc/posix-functions/remquo.texi: Likewise.
30420 2011-10-07  Bruno Haible  <bruno@clisp.org>
30422         modff: Drop assumption about library that defines modff.
30423         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
30424         AC_CHECK_FUNCS.
30425         * modules/modff (Files): Add m4/mathfunc.m4.
30427 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
30429         raise tests: Avoid a GCC warning.
30430         * tests/test-raise.c (handler): Use _Noreturn.
30432 2011-10-07  Bruno Haible  <bruno@clisp.org>
30434         Tests for module 'ldexpf'.
30435         * modules/ldexpf-tests: New file.
30436         * tests/test-ldexpf.c: New file.
30438         New module 'ldexpf'.
30439         * lib/math.in.h (ldexpf): New declaration.
30440         * lib/ldexpf.c: New file.
30441         * m4/ldexpf.m4: New file.
30442         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
30443         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
30444         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
30445         * modules/ldexpf: New file.
30446         * tests/test-math-c++.cc: Check the declaration of ldexpf.
30447         * doc/posix-functions/ldexpf.texi: Mention the new module.
30449 2011-10-06  Bruno Haible  <bruno@clisp.org>
30451         frexpf: Work around problems on IRIX and mingw.
30452         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
30453         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
30454         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
30455         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
30456         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
30457         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
30458         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
30460 2011-10-06  Bruno Haible  <bruno@clisp.org>
30462         fabsf: Drop assumption about library that defines fabsf.
30463         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
30464         AC_CHECK_FUNCS.
30465         * modules/fabsf (Files): Add m4/mathfunc.m4.
30467 2011-10-06  Bruno Haible  <bruno@clisp.org>
30469         frexpf: Drop assumption about library that defines frexpf.
30470         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
30471         'int *', 'float *', 'long double *', 'float', 'long double'.
30472         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
30473         AC_CHECK_FUNCS.
30474         * modules/frexpf (Files): Add m4/mathfunc.m4.
30476         Tests for module 'frexpf'.
30477         * modules/frexpf-tests: New file.
30478         * tests/test-frexpf.c: New file.
30480         New module 'frexpf'.
30481         * lib/math.in.h (frexpf): New declaration.
30482         * lib/frexpf.c: New file.
30483         * m4/frexpf.m4: New file.
30484         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
30485         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
30486         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
30487         * modules/frexpf: New file.
30488         * tests/test-math-c++.cc: Check the declaration of frexpf.
30489         * doc/posix-functions/frexpf.texi: Mention the new module.
30491 2011-10-06  Bruno Haible  <bruno@clisp.org>
30493         math: Sort function declarations of math.in.h.
30494         * lib/math.in.h (frexp, logb): Move declarations.
30496 2011-10-05  Bruno Haible  <bruno@clisp.org>
30498         Tests for module 'modff'.
30499         * modules/modff-tests: New file.
30500         * tests/test-modff.c: New file.
30502         New module 'modff'.
30503         * lib/math.in.h (modff): New declaration.
30504         * lib/modff.c: New file.
30505         * m4/modff.m4: New file.
30506         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
30507         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
30508         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
30509         * modules/modff: New file.
30510         * tests/test-math-c++.cc: Check the declaration of modff.
30511         * doc/posix-functions/modff.texi: Mention the new module.
30513         modf tests: Make test sharper.
30514         * tests/test-modf.c (main): Strengthen upper bound.
30516         modf: Use a .m4 file.
30517         * m4/modf.m4: New file.
30518         * modules/modf (Files): Add it.
30519         (configure.ac): Just invoke gl_FUNC_MODF.
30521 2011-10-05  Bruno Haible  <bruno@clisp.org>
30523         Tests for module 'fmodf'.
30524         * modules/fmodf-tests: New file.
30525         * tests/test-fmodf.c: New file.
30527         New module 'fmodf'.
30528         * lib/math.in.h (fmodf): New declaration.
30529         * lib/fmodf.c: New file.
30530         * m4/fmodf.m4: New file.
30531         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
30532         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
30533         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
30534         * modules/fmodf: New file.
30535         * tests/test-math-c++.cc: Check the declaration of fmodf.
30536         * doc/posix-functions/fmodf.texi: Mention the new module.
30538         fmod: Use a .m4 file.
30539         * m4/fmod.m4: New file.
30540         * modules/fmod (Files): Add it.
30541         (configure.ac): Just invoke gl_FUNC_FMOD.
30543 2011-10-05  Bruno Haible  <bruno@clisp.org>
30545         Tests for module 'fabsf'.
30546         * modules/fabsf-tests: New file.
30547         * tests/test-fabsf.c: New file.
30549         New module 'fabsf'.
30550         * lib/math.in.h (fabsf): New declaration.
30551         * lib/fabsf.c: New file.
30552         * m4/fabsf.m4: New file.
30553         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
30554         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
30555         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
30556         * modules/fabsf: New file.
30557         * tests/test-math-c++.cc: Check the declaration of fabsf.
30558         * doc/posix-functions/fabsf.texi: Mention the new module.
30560         fabs: Use a .m4 file.
30561         * m4/fabs.m4: New file.
30562         * modules/fabs (Files): Add it.
30563         (configure.ac): Just invoke gl_FUNC_FABS.
30565 2011-10-05  Jim Meyering  <meyering@redhat.com>
30567         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
30568         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
30569         ls -lL regression introduced in coreutils-8.12, it does so at the
30570         cost of an additional stat call in the common case.  Besides, now
30571         that the kernel change that prompted commit 95f7c57f has been reverted
30572         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
30573         we have no use for commit 95f7c57f, "file-has-acl: use
30574         acl_extended_file_nofollow if available".
30576 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
30578         file-has-acl: revert unintended change in behavior of ls -L
30579         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
30580         derived from...
30581         (file_has_acl): ...code here.  Call it.
30582         This problem was introduced with 2011-07-22 commit 95f7c57f,
30583         "file-has-acl: use acl_extended_file_nofollow if available".
30584         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
30586 2011-10-03  Bruno Haible  <bruno@clisp.org>
30588         poll: Avoid link errors on MSVC.
30589         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
30590         * modules/poll (Depends-on): Add sockets.
30591         (Link): New section.
30592         * NEWS: Mention the change.
30593         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
30594         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
30595         $(LIB_POLL) instead of $(LIBSOCKET).
30597 2011-10-03  Bruno Haible  <bruno@clisp.org>
30599         sys_select tests: Fix link error on MSVC 9.
30600         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
30601         with $(LIB_SELECT) instead of $(LIBSOCKET).
30603 2011-10-03  Bruno Haible  <bruno@clisp.org>
30605         sys_select: Fix compilation error on mingw.
30606         * lib/sys_select.in.h: On native Windows, include <io.h>.
30608 2011-10-03  Bruno Haible  <bruno@clisp.org>
30610         wmemset: Support for MSVC.
30611         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
30612         whether wmemset() exists.
30614 2011-10-03  Bruno Haible  <bruno@clisp.org>
30616         wmemmove: Support for MSVC.
30617         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
30618         whether wmemmove() exists.
30620 2011-10-03  Bruno Haible  <bruno@clisp.org>
30622         wmemcpy: Support for MSVC.
30623         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
30624         whether wmemcpy() exists.
30626 2011-10-03  Bruno Haible  <bruno@clisp.org>
30628         wmemcmp: Support for MSVC.
30629         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
30630         whether wmemcmp() exists.
30632 2011-10-03  Bruno Haible  <bruno@clisp.org>
30634         wmemchr: Support for MSVC.
30635         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
30636         whether wmemchr() exists.
30638 2011-10-03  Bruno Haible  <bruno@clisp.org>
30640         glthread/*, strsignal: Support for MSVC.
30641         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
30642         including <winsock.h> on MSVC 9.
30643         * lib/glthread/lock.h: Likewise.
30644         * lib/glthread/thread.h: Likewise.
30645         * lib/glthread/tls.h: Likewise.
30646         * lib/glthread/yield.h: Likewise.
30647         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
30648         if HAVE_UNISTD_H is false.
30649         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
30651 2011-10-03  Bruno Haible  <bruno@clisp.org>
30653         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
30654         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
30655         Set to 100000.
30657 2011-10-03  Bruno Haible  <bruno@clisp.org>
30659         acl: Fix specification.
30660         * lib/file-has-acl.c (file_has_acl): Fix specification.
30662 2011-10-03  Bruno Haible  <bruno@clisp.org>
30664         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
30665         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
30666         (compute_curr_prefix, shared_library_fullname,
30667         find_shared_library_fullname, get_shared_library_fullname, relocate):
30668         Use it together with PIC && INSTALLDIR.
30669         Reported by <jojelino@gmail.com>
30670         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
30672 2011-10-01  Jim Meyering  <meyering@redhat.com>
30674         maint.mk: adjust a release-related rule not to require use of gzip
30675         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
30676         Instead, check each file in $(DIST_ARCHIVES).  This is better for
30677         projects that build only .tar.xz files.  Also fix an erroneous test.
30679         test-linkat: don't leave behind a temporary file
30680         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
30681         Otherwise, coreutils' "make distcheck" would fail with this:
30682           Only in /c/cu/tests/torture/coreutils/test/\
30683             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
30684           make[2]: *** [my-distcheck] Error 1
30686         float, math: add omitted file
30687         * lib/itold.c: Add file, required for yesterday's float change.
30689 2011-10-01  Bruno Haible  <bruno@clisp.org>
30691         isinf: Fix for OpenBSD/x86.
30692         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
30693         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
30694         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
30696 2011-10-01  Bruno Haible  <bruno@clisp.org>
30698         isfinite: Fix syntax error in configure test.
30699         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
30701         isfinite: Fix typo.
30702         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
30703         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
30705 2011-10-01  Bruno Haible  <bruno@clisp.org>
30707         nonblocking tests: Fix test failure on Linux/IA-64.
30708         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
30709         Set to 270000.
30711 2011-10-01  Bruno Haible  <bruno@clisp.org>
30713         mkfifoat tests: Fix a test failure on mingw.
30714         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
30715         with error ENOSYS.
30717 2011-09-30  Bruno Haible  <bruno@clisp.org>
30719         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
30720         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
30721         'long double'. Set REPLACE_ITOLD.
30722         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
30723         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
30724         * lib/itold.c: New file.
30725         * modules/float (Files): Add lib/itold.c.
30726         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
30727         (Makefile.am): Substitute REPLACE_ITOLD.
30728         * modules/math (Depends-on): Add float.
30729         (Makefile.am): Substitute REPLACE_ITOLD.
30730         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
30731         * doc/posix-headers/math.texi: Likewise.
30732         * doc/posix-functions/logl.texi: Likewise.
30734 2011-09-30  Bruno Haible  <bruno@clisp.org>
30736         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
30737         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
30738         Set to 140000.
30740 2011-09-30  Bruno Haible  <bruno@clisp.org>
30742         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
30743         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
30744         invocation, say "right after AC_PROG_CC_STDC", not "right after
30745         AC_PROG_CC".
30746         Reported by Gary V. Vaughan <gary@gnu.org>.
30748 2011-09-30  Bruno Haible  <bruno@clisp.org>
30750         Centralize C99 requirement.
30751         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
30752         * modules/stdarg (configure.ac-early): Invoke it instead of
30753         AC_PROG_CC_STDC.
30754         Reported by Gary V. Vaughan and Paul Eggert.
30756 2011-09-29  Bruno Haible  <bruno@clisp.org>
30758         float: Fix LDBL_MAX value on Linux/PowerPC.
30759         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
30760         on Linux/PowerPC.
30761         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
30762         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
30763         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
30764         platform.
30765         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
30767 2011-09-29  Bruno Haible  <bruno@clisp.org>
30769         doc: Improve doc about gl_EARLY.
30770         * doc/gnulib-tool.texi (Initial import): Mention where to place an
30771         AC_PROG_CC_STDC invocation.
30772         Reported by Gary V. Vaughan <gary@gnu.org>.
30774 2011-09-28  Bruno Haible  <bruno@clisp.org>
30776         fgetc, fputc, fread, fwrite tests: Fix link error.
30777         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
30778         on non-MSVC platforms.
30779         * tests/test-fputc.c (main): Likewise.
30780         * tests/test-fread.c (main): Likewise.
30781         * tests/test-fwrite.c (main): Likewise.
30782         Reported by Jim Meyering.
30784 2011-09-27  Bruno Haible  <bruno@clisp.org>
30786         fputc, fwrite tests: Avoid test failure on MSVC.
30787         * tests/test-fgetc.c: Include msvc-inval.h.
30788         (main): Invoke gl_msvc_inval_ensure_handler.
30789         * tests/test-fputc.c: Include msvc-inval.h.
30790         (main): Invoke gl_msvc_inval_ensure_handler.
30791         * tests/test-fread.c: Include msvc-inval.h.
30792         (main): Invoke gl_msvc_inval_ensure_handler.
30793         * tests/test-fwrite.c: Include msvc-inval.h.
30794         (main): Invoke gl_msvc_inval_ensure_handler.
30795         * modules/fgetc-tests (Depends-on): Add msvc-inval.
30796         * modules/fputc-tests (Depends-on): Likewise.
30797         * modules/fread-tests (Depends-on): Likewise.
30798         * modules/fwrite-tests (Depends-on): Likewise.
30800 2011-09-27  Bruno Haible  <bruno@clisp.org>
30802         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
30803         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
30804         (raise): Remove older, duplicated declaration.
30805         (_gl_raise_SIGPIPE): New declaration.
30806         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
30807         (rpl_raise): Remove function.
30808         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
30809         a gnulib-defined SIGPIPE here.
30810         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
30811         'sigprocmask' has detected missing signal-blocking and the module
30812         'sigpipe' is enabled.
30813         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
30815 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
30817         base64-tests: avoid memory leak
30818         * tests/test-base64.c (main): Plug memory leak.
30820         base32: new module
30821         * modules/base32: New module.
30822         * lib/base32.c: New file.
30823         * lib/base32.h: Likewise.
30824         * m4/base32.m4: Likewise.
30825         * modules/base32-tests: New test.
30826         * tests/test-base32.c: Likewise.
30827         * MODULES.html.sh (Misc): Mention it.
30829 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
30831         gnulib: use more-standard license notice wording
30832         * gnulib-tool (func_emit_copyright_notice): When emitting a
30833         license notice into a file, use the standard wording as suggested
30834         by the current information for GNU maintainers, except say "file"
30835         rather than "program".  The new wording gives a license version
30836         number, which addresses an issue raised by Glenn Morris in
30837         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
30838         * m4/onceonly.m4: Use that same wording here, too.
30840         dup2: minor simplification
30841         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
30842         as lib/dup2.c no longer uses 'inline'.
30844 2011-09-25  Bruno Haible  <bruno@clisp.org>
30846         strings: Fix compilation error on MSVC.
30847         * lib/strings.in.h: Include <stddef.h> for size_t.
30849 2011-09-25  Bruno Haible  <bruno@clisp.org>
30851         fflush et al.: Document limitation on MSVC.
30852         * doc/posix-functions/fflush.texi: Document possible crash in handling
30853         mode other than DEFAULT_HANDLING.
30854         * doc/posix-functions/fgetc.texi: Likewise.
30855         * doc/posix-functions/fputc.texi: Likewise.
30856         * doc/posix-functions/fread.texi: Likewise.
30857         * doc/posix-functions/fwrite.texi: Likewise.
30859 2011-09-25  Bruno Haible  <bruno@clisp.org>
30861         msvc-inval: Allow three invalid parameter handling modes.
30862         * lib/msvc-inval.h: Don't include <stdlib.h> here.
30863         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
30864         macros.
30865         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
30866         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
30867         SANE_LIBRARY_HANDLING as a no-op.
30868         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
30869         <stdlib.h>.
30870         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
30872 2011-09-25  Bruno Haible  <bruno@clisp.org>
30874         msvc-inval: Make handler multithread-safe.
30875         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
30876         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
30877         declarations.
30878         (gl_msvc_inval_current): New declaration.
30879         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
30880         Operate on the structure returned by gl_msvc_inval_current().
30881         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
30882         Remove varaiables.
30883         (tls_index, tls_initialized): New variables.
30884         (not_per_thread): New variable.
30885         (gl_msvc_inval_current): New function.
30886         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
30887         returned by gl_msvc_inval_current().
30889 2011-09-25  Bruno Haible  <bruno@clisp.org>
30891         msvc-inval: Install handler globally.
30892         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
30893         !_MSC_VER.
30894         (gl_msvc_invalid_parameter_handler): Remove declaration.
30895         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
30896         declarations.
30897         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
30898         Install the handler globally, don't uninstall it.
30899         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
30900         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
30901         currently valid, call RaiseException instead.
30902         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
30903         for !_MSC_VER.
30905 2011-09-25  Bruno Haible  <bruno@clisp.org>
30907         strerror_r-posix: Fix for MSVC 9.
30908         * lib/strerror_r.c (local_snprintf): New function.
30909         (snprintf): Define to local_snprintf, not to _snprintf.
30911 2011-09-25  Bruno Haible  <bruno@clisp.org>
30913         ftruncate: Support for MSVC 9.
30914         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
30915         (chsize_nothrow): New function.
30916         (chsize): Redefine as a macro.
30917         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
30918         * modules/ftruncate (Depends-on): Add msvc-inval.
30920 2011-09-25  Bruno Haible  <bruno@clisp.org>
30922         New module 'fstat'.
30923         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
30924         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
30925         * lib/fchdir.c (rpl_fstat): Remove function.
30926         * m4/fstat.m4: New file.
30927         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
30928         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
30929         declared.
30930         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
30931         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
30932         * modules/fstat: New file.
30933         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
30934         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
30935         is set.
30936         * doc/posix-functions/fstat.texi: Mention the new module and the
30937         problem on MSVC.
30938         * NEWS: Mention the change.
30939         * modules/acl (Depends-on): Add fstat.
30940         * modules/chdir-safer (Depends-on): Likewise.
30941         * modules/chown (Depends-on): Likewise.
30942         * modules/copy-file (Depends-on): Likewise.
30943         * modules/fchdir (Depends-on): Likewise.
30944         * modules/fdopendir (Depends-on): Likewise.
30945         * modules/fopen (Depends-on): Likewise.
30946         * modules/fts (Depends-on): Likewise.
30947         * modules/getcwd (Depends-on): Likewise.
30948         * modules/isapipe (Depends-on): Likewise.
30949         * modules/linkat (Depends-on): Likewise.
30950         * modules/lseek (Depends-on): Likewise.
30951         * modules/mkdir-p (Depends-on): Likewise.
30952         * modules/open (Depends-on): Likewise.
30953         * modules/openat (Depends-on): Likewise.
30954         * modules/read-file (Depends-on): Likewise.
30955         * modules/renameat (Depends-on): Likewise.
30956         * modules/utimens (Depends-on): Likewise.
30958 2011-09-25  Bruno Haible  <bruno@clisp.org>
30960         linkat: Fix compilation on MSVC 9.
30961         * lib/linkat.c: Don't include <stdint.h>.
30963 2011-09-25  Bruno Haible  <bruno@clisp.org>
30965         fclose: Support for MSVC 9.
30966         * lib/fclose.c: Include msvc-inval.h.
30967         (fclose_nothrow): New function.
30968         (rpl_fclose): Use it.
30969         * modules/fclose (Depends-on): Add msvc-inval.
30970         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
30972 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
30974         dup2: minor simplifications
30975         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
30976         that it's a performance win.
30977         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
30978         ! defined __CYGWIN__)" to "ifdef F_GETFL".
30980 2011-09-24  Jim Meyering  <meyering@redhat.com>
30982         test-futimens: avoid a warning from gcc -Wshadow
30983         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
30984         to avoid a shadowing warning.
30986 2011-09-24  Bruno Haible  <bruno@clisp.org>
30988         fdopen: Support for MSVC 9.
30989         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
30990         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
30991         * lib/fdopen.c: Include msvc-inval.h.
30992         (fdopen_nothrow): New function.
30993         (rpl_fdopen): Use it.
30994         * modules/fdopen (Depends-on): Add msvc-inval.
30995         * modules/fclose-tests (Depends-on): Add fdopen.
30996         * modules/fflush-tests (Depends-on): Likewise.
30997         * modules/fgetc-tests (Depends-on): Likewise.
30998         * modules/fputc-tests (Depends-on): Likewise.
30999         * modules/fread-tests (Depends-on): Likewise.
31000         * modules/freopen-tests (Depends-on): Likewise.
31001         * modules/fseeko-tests (Depends-on): Likewise.
31002         * modules/ftello-tests (Depends-on): Likewise.
31003         * modules/fwrite-tests  (Depends-on): Likewise.
31004         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
31006 2011-09-24  Bruno Haible  <bruno@clisp.org>
31008         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
31009         * modules/fgetc-tests (Depends-on): Add unistd.
31010         * modules/fputc-tests (Depends-on): Likewise.
31011         * modules/fread-tests (Depends-on): Likewise.
31012         * modules/fwrite-tests (Depends-on): Likewise.
31014 2011-09-24  Bruno Haible  <bruno@clisp.org>
31016         dup: Simplify autoconf test.
31017         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
31018         on gl_MSVC_INVAL's result.
31020 2011-09-24  Bruno Haible  <bruno@clisp.org>
31022         Tests for function fwrite().
31023         * modules/fwrite-tests: New file.
31024         * tests/test-fwrite.c: New file.
31025         * modules/stdio-tests (Depends-on): Add fwrite-tests.
31027         Tests for function fread().
31028         * modules/fread-tests: New file.
31029         * tests/test-fread.c: New file.
31030         * modules/stdio-tests (Depends-on): Add fread-tests.
31032         Activate fputc tests.
31033         * modules/stdio-tests (Depends-on): Add fputc-tests.
31035         Enhance fgetc, fputc tests.
31036         * tests/test-fgetc.c (main): Also test the stream's error indicator.
31037         * tests/test-fputc.c (main): Likewise.
31039 2011-09-24  Bruno Haible  <bruno@clisp.org>
31041         write: Support for MSVC 9.
31042         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
31043         is not 1.
31044         * lib/write.c (write_nothrow): New function.
31045         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
31046         not 1. Use write_nothrow.
31047         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
31048         invalid parameter handler.
31049         (gl_PREREQ_WRITE): New macro.
31050         * modules/write (Depends-on): Add msvc-inval.
31051         (configure.ac): Invoke gl_PREREQ_WRITE.
31052         * doc/posix-functions/write.texi: Mention the problem on MSVC.
31054 2011-09-24  Bruno Haible  <bruno@clisp.org>
31056         read: Fix last commit.
31057         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
31059 2011-09-24  Bruno Haible  <bruno@clisp.org>
31061         dup2: Fix last commit.
31062         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
31063         (rpl_dup2): Disable fcntl workaround on native Windows.
31065         sigprocmask: Make code safer.
31066         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
31067         section that changes macro definitions for this compilation unit.
31069 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
31071         dup2: clarify by coalescing Windows-specific material
31072         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
31073         "msvc-nothrow.h"' to the Windows-specific section, so that the
31074         Emacs source need not contain these include files.
31075         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
31076         Windows-specific fixes into this function rather than just the
31077         nothrow fix, as this shortens and clarifies the code.  Always
31078         define as a function, as that's a bit cleaner than having it be
31079         sometimes a function and sometimes a macro.
31080         (rpl_dup2): Move the Windows-specific stuff out of here and into
31081         ms_windows_dup2.  Don't protect the Haiku-related fix with
31082         "#if !defined __linux__", as the same code also works around
31083         a Linux kernel bug, and it doesn't add any system calls on any
31084         platform.  Add comment about FreeBSD 6.1.
31086         sigprocmask: move #include directive
31087         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
31088         Windows-specific section, so that the Emacs source need not
31089         contain msvc-inval.h.
31091 2011-09-23  Bruno Haible  <bruno@clisp.org>
31093         read: Support for MSVC 9.
31094         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
31095         is not 1.
31096         * lib/read.c (read_nothrow): New function.
31097         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
31098         read_nothrow.
31099         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
31100         invalid parameter handler.
31101         (gl_PREREQ_READ): New macro.
31102         * modules/read (Depends-on): Add msvc-inval.
31103         (configure.ac): Invoke gl_PREREQ_READ.
31104         * doc/posix-functions/read.texi: Mention the problem on MSVC.
31106 2011-09-23  Bruno Haible  <bruno@clisp.org>
31108         close: Support for MSVC 9.
31109         * lib/close.c: Include <errno.h>, msvc-inval.h.
31110         (close_nothrow): New function.
31111         (rpl_close): Use it.
31112         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
31113         invalid parameter handler.
31114         * modules/close (Depends-on): Add msvc-inval.
31115         * modules/dup2-tests (Depends-on): Add close.
31116         * modules/dup3-tests (Depends-on): Likewise.
31117         * modules/fcntl-tests (Depends-on): Likewise.
31118         * modules/spawn-pipe-tests (Depends-on): Likewise.
31119         * modules/unistd-safer-tests (Depends-on): Likewise.
31120         * doc/posix-functions/close.texi: Mention the problem on MSVC.
31122 2011-09-23  Bruno Haible  <bruno@clisp.org>
31124         New module 'dup'.
31125         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
31126         Allow replacement.
31127         * lib/dup.c: New file.
31128         * lib/fchdir.c (rpl_dup): Remove function.
31129         * m4/dup.m4: New file.
31130         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
31131         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
31132         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
31133         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
31134         * modules/dup: New file.
31135         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
31136         'dup' module is in use.
31137         * modules/fdopendir (Depends-on): Add dup.
31138         * modules/fdutimensat-tests (Depends-on): Likewise.
31139         * modules/fts (Depends-on): Likewise.
31140         * modules/futimens-tests (Depends-on): Likewise.
31141         * modules/posix_spawnp-tests (Depends-on): Likewise.
31142         * modules/unistd-safer-tests (Depends-on): Likewise.
31143         * modules/utimens-tests (Depends-on): Likewise.
31144         * doc/posix-functions/dup.texi: Mention the new module and the problem
31145         on MSVC.
31147 2011-09-23  Bruno Haible  <bruno@clisp.org>
31149         getdtablesize: Support for MSVC 9.
31150         * lib/getdtablesize.c: Include msvc-inval.h.
31151         (_setmaxstdio_nothrow): New function.
31152         (_setmaxstdio): Redefine it.
31153         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
31154         * modules/getdtablesize (Depends-on): Add msvc-inval.
31155         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
31157 2011-09-23  Bruno Haible  <bruno@clisp.org>
31159         signal-h: Rename from signal.
31160         * modules/signal-h: Renamed from modules/signal.
31161         * modules/pthread_sigmask (Depends-on): Update.
31162         * modules/raise (Depends-on): Likewise.
31163         * modules/sigaction (Depends-on): Likewise.
31164         * modules/sigpipe (Depends-on): Likewise.
31165         * modules/sigprocmask (Depends-on): Likewise.
31166         * modules/sys_select (Depends-on): Likewise.
31167         * modules/signal-h-tests: Renamed from modules/signal-tests.
31168         (Files, Depends-on, Makefile.am): Update.
31169         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
31170         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
31171         (Files, Makefile.am): Update.
31172         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
31173         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
31174         * modules/signal: New placeholder file.
31175         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
31176         * doc/posix-headers/signal.texi: Update.
31177         * NEWS: Mention the change.
31179 2011-09-23  Bruno Haible  <bruno@clisp.org>
31181         sigprocmask: Avoid crashes through signal() on MSVC 9.
31182         * lib/sigprocmask.c: Include msvc-inval.h.
31183         (signal_nothrow): New function.
31184         (signal): Redefine it.
31185         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
31186         * modules/sigprocmask (Depends-on): Add msvc-inval.
31187         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
31189 2011-09-23  Bruno Haible  <bruno@clisp.org>
31191         Tests for module 'raise'.
31192         * modules/raise-tests: New file.
31193         * tests/test-raise.c: New file.
31195         raise: Support for MSVC.
31196         * lib/signal.in.h (raise): New declaration.
31197         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
31198         for native Windows platforms.
31199         * m4/raise.m4: New file.
31200         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
31201         HAVE_RAISE, REPLACE_RAISE.
31202         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
31203         REPLACE_RAISE.
31204         * modules/raise (Status, Notice): Remove fields.
31205         (Files): Add m4/raise.m4.
31206         (Depends-on): Add signal, msvc-inval.
31207         (configure.ac): Use the common idioms.
31208         (Maintainer): Add me.
31209         * tests/test-signal-c++.cc: Check the signature of raise.
31210         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
31212 2011-09-23  Bruno Haible  <bruno@clisp.org>
31214         pipe2: Fix compilation on pre-C99 compilers.
31215         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
31217 2011-09-23  Bruno Haible  <bruno@clisp.org>
31219         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
31220         * lib/msvc-nothrow.h: New file.
31221         * lib/msvc-nothrow.c: New file.
31222         * m4/msvc-nothrow.m4: New file.
31223         * modules/msvc-nothrow: New file.
31224         * lib/dup2.c: Include msvc-nothrow.h.
31225         (rpl_dup2): No need to protect _get_osfhandle call here.
31226         * lib/accept4.c: Include msvc-nothrow.h.
31227         * lib/error.c: Likewise.
31228         * lib/fcntl.c: Likewise.
31229         * lib/lseek.c: Likewise.
31230         * lib/nonblocking.c: Likewise.
31231         * lib/poll.c: Likewise.
31232         * lib/read.c: Likewise.
31233         * lib/select.c: Likewise.
31234         * lib/sockets.h: Likewise.
31235         * lib/sockets.c: Likewise.
31236         * lib/stdio-read.c: Likewise.
31237         * lib/stdio-write.c: Likewise.
31238         * lib/write.c: Likewise.
31239         * lib/w32sock.h: Likewise.
31240         * lib/w32spawn.h: Likewise.
31241         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
31242         * lib/fsync.c: Likewise.
31243         * lib/isapipe.c: Likewise.
31244         * modules/dup2 (Depends-on): Add msvc-nothrow.
31245         * modules/accept4 (Depends-on): Likewise.
31246         * modules/error (Depends-on): Likewise.
31247         * modules/fcntl (Depends-on): Likewise.
31248         * modules/lseek (Depends-on): Likewise.
31249         * modules/nonblocking (Depends-on): Likewise.
31250         * modules/poll (Depends-on): Likewise.
31251         * modules/read (Depends-on): Likewise.
31252         * modules/select (Depends-on): Likewise.
31253         * modules/sockets (Depends-on): Likewise.
31254         * modules/sigpipe (Depends-on): Likewise.
31255         * modules/write (Depends-on): Likewise.
31256         * modules/accept (Depends-on): Likewise.
31257         * modules/bind (Depends-on): Likewise.
31258         * modules/connect (Depends-on): Likewise.
31259         * modules/gethostname (Depends-on): Likewise.
31260         * modules/getpeername (Depends-on): Likewise.
31261         * modules/getsockname (Depends-on): Likewise.
31262         * modules/getsockopt (Depends-on): Likewise.
31263         * modules/ioctl (Depends-on): Likewise.
31264         * modules/listen (Depends-on): Likewise.
31265         * modules/recv (Depends-on): Likewise.
31266         * modules/recvfrom (Depends-on): Likewise.
31267         * modules/send (Depends-on): Likewise.
31268         * modules/sendto (Depends-on): Likewise.
31269         * modules/setsockopt (Depends-on): Likewise.
31270         * modules/shutdown (Depends-on): Likewise.
31271         * modules/socket (Depends-on): Likewise.
31272         * modules/execute (Depends-on): Likewise.
31273         * modules/spawn-pipe (Depends-on): Likewise.
31274         * modules/flock (Depends-on): Likewise.
31275         * modules/fsync (Depends-on): Likewise.
31276         * modules/isapipe (Depends-on): Likewise.
31277         * tests/test-cloexec.c: Include msvc-nothrow.h.
31278         * tests/test-dup-safer.c: Likewise.
31279         * tests/test-dup2.c: Likewise.
31280         * tests/test-dup3.c: Likewise.
31281         * tests/test-fcntl.c: Likewise.
31282         * tests/test-pipe.c: Likewise.
31283         * tests/test-pipe2.c: Likewise.
31284         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
31285         * modules/unistd-safer-tests (Depends-on): Likewise.
31286         * modules/dup2-tests (Depends-on): Likewise.
31287         * modules/dup3-tests (Depends-on): Likewise.
31288         * modules/fcntl-tests (Depends-on): Likewise.
31289         * modules/pipe-posix-tests (Depends-on): Likewise.
31290         * modules/pipe2-tests (Depends-on): Likewise.
31292 2011-09-23  Bruno Haible  <bruno@clisp.org>
31294         dup2: Make code more maintainable.
31295         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
31296         (rpl_dup2): Use it.
31297         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
31298         * modules/dup2 (configure.ac): Invoke it.
31299         Reported by Paul Eggert.
31301 2011-09-23  Bruno Haible  <bruno@clisp.org>
31303         msvc-inval: Fix compilation error.
31304         * lib/msvc-inval.h: Include <excpt.h>.
31306 2011-09-23  Bruno Haible  <bruno@clisp.org>
31308         mkdir: Tweak for MSVC 9.
31309         * lib/sys_stat.in.h: Update comments.
31310         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
31312         Tests for module 'chdir'.
31313         * modules/chdir-tests: New file.
31314         * tests/test-chdir.c: New file.
31316         New module 'chdir'.
31317         * modules/chdir: New file.
31318         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
31319         (chdir): New declaration.
31320         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
31321         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
31322         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
31323         * tests/test-unistd-c++.cc: Check signature of chdir.
31324         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
31325         * modules/chdir-long (Depends-on): Add chdir.
31326         * modules/fchdir (Depends-on): Likewise.
31327         * modules/rename (Depends-on): Likewise.
31328         * modules/savewd (Depends-on): Likewise.
31330         rmdir: Support for mingw, MSVC 9.
31331         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
31332         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
31334         getcwd: Tweak for MSVC 9.
31335         * lib/unistd.in.h: Update comments.
31336         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
31338 2011-09-22  Bruno Haible  <bruno@clisp.org>
31340         strerror_r-posix: Avoid a link error on MSVC.
31341         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
31342         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
31344 2011-09-22  Bruno Haible  <bruno@clisp.org>
31346         select: Avoid link errors on MSVC.
31347         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
31348         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
31349         * modules/pselect (Link): Likewise.
31350         * NEWS: Mention the change.
31351         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
31352         test-select-stdin against $(LIB_SELECT).
31353         * modules/pselect-tests (Makefile.am): Link test-pselect against
31354         $(LIB_SELECT).
31356 2011-09-22  Bruno Haible  <bruno@clisp.org>
31358         select: Avoid compilation error on MSVC.
31359         * lib/select.c: Don't include <stdbool.h>.
31361 2011-09-21  Bruno Haible  <bruno@clisp.org>
31363         Consolidate all uses of PATH_MAX in *.m4 files.
31364         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
31365         macros.
31366         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
31367         and gl_PATHMAX_SNIPPET.
31368         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
31369         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
31370         * modules/chdir-long (Files): Add m4/pathmax.m4.
31371         * modules/getcwd (Files): Likewise.
31373 2011-09-21  Bruno Haible  <bruno@clisp.org>
31375         ftruncate: Un-deprecate, concentrate on Win32 support.
31376         * modules/ftruncate (Status, Notice): Remove sections.
31377         (Depends-on): Add largefile.
31378         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
31379         non-mingw platforms.
31380         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
31381         include <io.h>.
31382         * modules/perror-tests (Depends-on): Add ftruncate.
31383         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
31384         'ftruncate' module.
31386 2011-09-21  Bruno Haible  <bruno@clisp.org>
31388         Add dependencies to new dirent related modules.
31389         * modules/opendir (Depends-on): Add closedir.
31390         * modules/getcwd (Depends-on): Add opendir, closedir.
31391         * modules/dirent-safer-tests (Depends-on): Likewise.
31392         * modules/fdopendir-tests (Depends-on): Likewise.
31393         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
31394         * modules/renameat-tests (Depends-on): Likewise.
31396 2011-09-21  Bruno Haible  <bruno@clisp.org>
31398         opendir: Avoid compilation error on mingw.
31399         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
31400         * modules/opendir (Depends-on): Add unistd.
31402 2011-09-21  Bruno Haible  <bruno@clisp.org>
31404         ftruncate tests: Avoid a test failure on mingw.
31405         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
31407 2011-09-21  Bruno Haible  <bruno@clisp.org>
31409         select tests: Avoid test failures on OSF/1 5.1 and mingw.
31410         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
31411         native Windows.
31413 2011-09-21  Bruno Haible  <bruno@clisp.org>
31415         New module 'fdopen'.
31416         * lib/stdio.in.h (fdopen): New declaration.
31417         * lib/fdopen.c: New file.
31418         * m4/fdopen.m4: New file.
31419         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
31420         REPLACE_FDOPEN.
31421         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
31422         REPLACE_FDOPEN.
31423         * modules/fdopen: New file.
31424         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
31425         * tests/test-stdio-c++.cc: Check signature of fdopen.
31426         * doc/posix-functions/fdopen.texi: Mention the new module.
31428 2011-09-21  Bruno Haible  <bruno@clisp.org>
31430         unlockpt tests: Avoid test failure on NetBSD 5.1.
31431         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
31432         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
31434 2011-09-21  Bruno Haible  <bruno@clisp.org>
31436         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
31437         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
31438         * tests/test-getlogin_r.c (main): Likewise.
31440 2011-09-20  Bruno Haible  <bruno@clisp.org>
31442         time tests: Don't require pid_t.
31443         * doc/posix-headers/time.texi: Revert last change.
31444         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
31445         * tests/test-time.c: Comment out the check for pid_t.
31447 2011-09-20  Bruno Haible  <bruno@clisp.org>
31449         fsync tests: Avoid a test failure on mingw.
31450         * tests/test-fsync.c (main): Allow a failure with EIO.
31452 2011-09-20  Bruno Haible  <bruno@clisp.org>
31454         euidaccess: Update comments.
31455         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
31457 2011-09-20  Bruno Haible  <bruno@clisp.org>
31459         Ensure EBADF returns for socket functions on mingw.
31460         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
31461         descriptor is invalid.
31462         * lib/bind.c (rpl_bind): Likewise.
31463         * lib/connect.c (rpl_connect): Likewise.
31464         * lib/getpeername.c (rpl_getpeername): Likewise.
31465         * lib/getsockname.c (rpl_getsockname): Likewise.
31466         * lib/getsockopt.c (rpl_getsockopt): Likewise.
31467         * lib/listen.c (rpl_listen): Likewise.
31468         * lib/recv.c (rpl_recv): Likewise.
31469         * lib/recvfrom.c (rpl_recvfrom): Likewise.
31470         * lib/send.c (rpl_send): Likewise.
31471         * lib/sendto.c (rpl_sendto): Likewise.
31472         * lib/setsockopt.c (rpl_setsockopt): Likewise.
31473         * lib/shutdown.c (rpl_shutdown): Likewise.
31475 2011-09-20  Bruno Haible  <bruno@clisp.org>
31477         select tests: EBADF tests.
31478         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
31479         test_bad_fd): New functions.
31480         (test_function): Invoke also test_bad_fd.
31482 2011-09-20  Bruno Haible  <bruno@clisp.org>
31484         Tests for module 'posix_spawn_file_actions_addopen.
31485         * modules/posix_spawn_file_actions_addopen-tests: New file.
31486         * tests/test-posix_spawn_file_actions_addopen.c: New file.
31488         Tests for module 'posix_spawn_file_actions_adddup2'.
31489         * modules/posix_spawn_file_actions_adddup2-tests: New file.
31490         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
31492         Tests for module 'posix_spawn_file_actions_addclose'.
31493         * modules/posix_spawn_file_actions_addclose-tests: New file.
31494         * tests/test-posix_spawn_file_actions_addclose.c: New file.
31496 2011-09-20  Bruno Haible  <bruno@clisp.org>
31498         Tests for module 'unlockpt'.
31499         * modules/unlockpt-tests: New file.
31500         * tests/test-unlockpt.c: New file.
31501         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
31503         Tests for module 'grantpt'.
31504         * modules/grantpt-tests: New file.
31505         * tests/test-grantpt.c: New file.
31506         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
31508 2011-09-20  Bruno Haible  <bruno@clisp.org>
31510         freopen tests: EBADF tests.
31511         * tests/test-freopen.c: Include errno.h, unistd.h.
31512         (main): Add tests for EBADF, commented out for the moment.
31514         fclose tests: EBADF tests.
31515         * tests/test-fclose.c (main): Add tests for EBADF.
31517         fflush tests: EBADF tests.
31518         * tests/test-fflush.c: Include errno.h, macros.h.
31519         (main): Add tests for EBADF.
31521         ftello tests: EBADF tests.
31522         * tests/test-ftello4.sh: New file.
31523         * tests/test-ftello4.c: New file.
31524         * modules/ftello-tests (Files): Add them.
31525         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
31527         fseeko tests: EBADF tests.
31528         * tests/test-fseeko4.sh: New file.
31529         * tests/test-fseeko4.c: New file.
31530         * modules/fseeko-tests (Files): Add them.
31531         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
31533         Tests for function fputc().
31534         * modules/fputc-tests: New file.
31535         * tests/test-fputc.c: New file.
31536         * modules/stdio-tests (Depends-on): Add fputc-tests.
31538         Tests for function fgetc().
31539         * modules/fgetc-tests: New file.
31540         * tests/test-fgetc.c: New file.
31541         * modules/stdio-tests (Depends-on): Add fgetc-tests.
31543         Tests for function fdopen().
31544         * modules/fdopen-tests: New file.
31545         * tests/test-fdopen.c: New file.
31546         * modules/stdio-tests (Depends-on): Add fdopen-tests.
31548         Tests for module 'vdprintf'.
31549         * modules/vdprintf-tests: New file.
31550         * tests/test-vdprintf.c: New file.
31552         Tests for module 'dprintf'.
31553         * modules/dprintf-tests: New file.
31554         * tests/test-dprintf.c: New file.
31556 2011-09-20  Bruno Haible  <bruno@clisp.org>
31558         Tests for module 'ioctl'.
31559         * modules/ioctl-tests: New file.
31560         * tests/test-ioctl.c: New file.
31562 2011-09-20  Bruno Haible  <bruno@clisp.org>
31564         fcntl tests: EBADF tests.
31565         * tests/test-fcntl.c (main): Add more tests for EBADF.
31567 2011-09-20  Bruno Haible  <bruno@clisp.org>
31569         utimensat tests: EBADF tests.
31570         * tests/test-utimensat.c (main): Add tests for EBADF.
31572         renameat tests: EBADF tests.
31573         * tests/test-renameat.c (main): Add tests for EBADF.
31575         mkfifoat tests: EBADF tests.
31576         * tests/test-mkfifoat.c (main): Add tests for EBADF.
31578         readlinkat tests: EBADF tests.
31579         * tests/test-readlinkat.c (main): Add tests for EBADF.
31581         symlinkat tests: EBADF tests.
31582         * tests/test-symlinkat.c (main): Add tests for EBADF.
31584         linkat tests: EBADF tests.
31585         * tests/test-linkat.c (main): Add tests for EBADF.
31587         Tests for module 'faccessat'.
31588         * modules/faccessat-tests: New file.
31589         * tests/test-faccessat.c: New file.
31591         fdopendir tests: EBADF tests.
31592         * tests/test-fdopendir.c (main): Add more tests for EBADF.
31594         openat tests: EBADF tests.
31595         * tests/test-fchownat.c (main): Add tests for EBADF.
31596         * tests/test-fstatat.c (main): Likewise.
31597         * tests/test-mkdirat.c (main): Likewise.
31598         * tests/test-openat.c (main): Likewise.
31599         * tests/test-unlinkat.c (main): Likewise.
31600         * tests/test-fchmodat.c: New file.
31601         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
31602         (Makefile.am): Also run 'test-fchmodat'.
31604 2011-09-20  Bruno Haible  <bruno@clisp.org>
31606         utimens, futimens, fdutimensat tests: EBADF tests.
31607         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
31609         Tests for function fstat().
31610         * modules/fstat-tests: New file.
31611         * tests/test-fstat.c: New file.
31612         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
31614 2011-09-20  Bruno Haible  <bruno@clisp.org>
31616         test-ttyname_r tests: EBADF tests.
31617         * tests/test-ttyname_r.c (main): Add tests for EBADF.
31619         Tests for module 'isatty'.
31620         * modules/isatty-tests: New file.
31621         * tests/test-isatty.c: New file.
31623         Tests for module 'write'.
31624         * modules/write-tests: New file.
31625         * tests/test-write.c: New file.
31627         Tests for module 'read'.
31628         * modules/read-tests: New file.
31629         * tests/test-read.c: New file.
31631         pwrite tests: EBADF tests.
31632         * tests/test-pwrite.c (main): Add tests for EBADF.
31634         pread tests: EBADF tests.
31635         * tests/test-pread.c (main): Add tests for EBADF.
31637         lseek tests: EBADF tests.
31638         * tests/test-lseek.c (main): Add more tests for EBADF.
31640         Tests for module 'ftruncate'.
31641         * modules/ftruncate-tests: New file.
31642         * tests/test-ftruncate.sh: New file.
31643         * tests/test-ftruncate.c: New file.
31645         fsync tests: EBADF tests.
31646         * tests/test-fsync.c (main): Add more tests for EBADF.
31648         fdatasync tests: EBADF tests.
31649         * tests/test-fdatasync.c (main): Add more tests for EBADF.
31651         Tests for module 'fchown'.
31652         * modules/fchown-tests: New file.
31653         * tests/test-fchown.c: New file.
31655         Tests for module 'fchmod'.
31656         * modules/fchmod-tests: New file.
31657         * tests/test-fchmod.c: New file.
31659         fchdir tests: EBADF tests.
31660         * tests/test-fchdir.c (main): Add more tests for EBADF.
31662         dup2 tests: EBADF tests.
31663         * tests/test-dup2.c (main): Add more tests for EBADF.
31665         Tests for module 'dup'.
31666         * modules/dup-tests: New file.
31667         * tests/test-dup.c: New file.
31669         Tests for module 'close'.
31670         * modules/close-tests: New file.
31671         * tests/test-close.c: New file.
31673 2011-09-20  Bruno Haible  <bruno@clisp.org>
31675         Tests for module 'shutdown'.
31676         * modules/shutdown-tests: New file.
31677         * tests/test-shutdown.c: New file.
31679         Tests for module 'setsockopt'.
31680         * modules/setsockopt-tests: New file.
31681         * tests/test-setsockopt.c: New file.
31683         Tests for module 'sendto'.
31684         * modules/sendto-tests: New file.
31685         * tests/test-sendto.c: New file.
31687         Tests for module 'send'.
31688         * modules/send-tests: New file.
31689         * tests/test-send.c: New file.
31691         Tests for module 'recvfrom'.
31692         * modules/recvfrom-tests: New file.
31693         * tests/test-recvfrom.c: New file.
31695         Tests for module 'recv'.
31696         * modules/recv-tests: New file.
31697         * tests/test-recv.c: New file.
31699         Tests for module 'listen'.
31700         * modules/listen-tests: New file.
31701         * tests/test-listen.c: New file.
31703         Tests for module 'getsockopt'.
31704         * modules/getsockopt-tests: New file.
31705         * tests/test-getsockopt.c: New file.
31707         Tests for module 'getsockname'.
31708         * modules/getsockname-tests: New file.
31709         * tests/test-getsockname.c: New file.
31711         Tests for module 'getpeername'.
31712         * modules/getpeername-tests: New file.
31713         * tests/test-getpeername.c: New file.
31715         Tests for module 'connect'.
31716         * modules/connect-tests: New file.
31717         * tests/test-connect.c: New file.
31719         Tests for module 'bind'.
31720         * modules/bind-tests: New file.
31721         * tests/test-bind.c: New file.
31723         accept4 tests: Fix for native Windows.
31724         * tests/test-accept4.c: Include sockets.h.
31725         (main): Invoke gl_sockets_startup.
31726         * modules/accept4-tests (Depends-on): Add sockets.
31728         accept tests: Fix for native Windows.
31729         * tests/test-accept.c: Include sockets.h.
31730         (main): Invoke gl_sockets_startup.
31731         * modules/accept-tests (Depends-on): Add sockets.
31733 2011-09-19  Bruno Haible  <bruno@clisp.org>
31735         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
31736         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
31737         do...while(0).
31738         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
31739         Suggested by Paul Eggert.
31741 2011-09-19  Bruno Haible  <bruno@clisp.org>
31743         sched: Ensure pid_t is defined.
31744         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
31745         not define pid_t.
31746         * lib/sched.in.h: Include <sys/types.h>.
31747         * doc/posix-headers/sched.texi: Mention the pid_t problem.
31748         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31750 2011-09-19  Bruno Haible  <bruno@clisp.org>
31752         msvc-inval: Ensure the entire expansion is a single statement.
31753         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
31754         of braces.
31756 2011-09-19  Jim Meyering  <meyering@redhat.com>
31758         tests: use printf, not echo in init.sh's warn_ function
31759         * tests/init.sh (warn_): Use printf, not echo.  The latter would
31760         misbehave when given strings containing a backslash or starting
31761         with e.g., -n.  James Youngman suggested setting IFS.
31763 2011-09-19  Eric Blake  <eblake@redhat.com>
31765         futimens: enhance test
31766         * tests/test-futimens.h (test_futimens): Also check for EBADF on
31767         closed non-negative fd.
31769         date: accept 'hence' as opposite of 'ago'
31770         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
31771         * tests/test-parse-datetime.c (main): Enhance test.
31772         Suggested by Jesse Wilson.
31774 2011-09-19  Jim Meyering  <meyering@redhat.com>
31776         getcwd: don't fail in a deep directory on a system without openat
31777         Before this change, getcwd would fail when called from a directory
31778         of depth PATH_MAX / 3 or greater.  That was due to the fact that
31779         the non-openat implementation used "..", "../..", "../../..", etc.
31780         to access ancestor directories.  With too many, that string would
31781         be longer than PATH_MAX.
31782         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
31783         using gnulib's openat replacement.
31784         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
31785         we're using the replacement function.
31787 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
31789         maint.mk: avoid warnings from perl about missing files
31790         * top/maint.mk (def_sym_regex): Ignore files listed in
31791         $(gl_other_headers_) that do not exist, say because a project
31792         does not use a corresponding module.
31794 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
31796         stat: use pathmax.h only if needed
31797         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
31798         This is better for Emacs, which does not have a mingw port and
31799         therefore can avoid the pathmax module.
31801         utimens: remove dependency on dup2
31802         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
31803         to work around the Linux kernel bug.
31804         * modules/utimens (Depends-on): Remove dup2.
31806 2011-09-18  Bruno Haible  <bruno@clisp.org>
31808         inet_ntop, inet_pton: Look for it also in libresolv.
31809         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
31810         libnsl, search for it in libresolv.
31811         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
31812         Needed on Solaris 7.
31814 2011-09-18  Bruno Haible  <bruno@clisp.org>
31816         accept, accept4 tests: Avoid link error on Solaris.
31817         * modules/accept-tests (Makefile.am): Link test-accept against
31818         $(LIBSOCKET).
31819         * modules/accept4-tests (Makefile.am): Link test-accept4 against
31820         $(LIBSOCKET).
31822         accept4: Avoid link error on Solaris.
31823         * modules/accept4 (Link): New section.
31825         socket functions: Avoid link errors on Solaris.
31826         * modules/accept (Depends-on): Add socketlib.
31827         (Link): New section.
31828         * modules/bind (Depends-on): Add socketlib.
31829         (Link): New section.
31830         * modules/connect (Depends-on): Add socketlib.
31831         (Link): New section.
31832         * modules/getpeername (Depends-on): Add socketlib.
31833         (Link): New section.
31834         * modules/getsockname (Depends-on): Add socketlib.
31835         (Link): New section.
31836         * modules/getsockopt (Depends-on): Add socketlib.
31837         (Link): New section.
31838         * modules/listen (Depends-on): Add socketlib.
31839         (Link): New section.
31840         * modules/recv (Depends-on): Add socketlib.
31841         (Link): New section.
31842         * modules/recvfrom (Depends-on): Add socketlib.
31843         (Link): New section.
31844         * modules/send (Depends-on): Add socketlib.
31845         (Link): New section.
31846         * modules/sendto (Depends-on): Add socketlib.
31847         (Link): New section.
31848         * modules/setsockopt (Depends-on): Add socketlib.
31849         (Link): New section.
31850         * modules/shutdown (Depends-on): Add socketlib.
31851         (Link): New section.
31852         * modules/socket (Depends-on): Add socketlib.
31853         (Link): New section.
31855 2011-09-18  Bruno Haible  <bruno@clisp.org>
31857         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
31858         * tests/test-ptsname.c (main): Terminate the test if it takes longer
31859         than 5 seconds.
31860         * modules/ptsname-tests (configure.ac): Test for alarm.
31862 2011-09-18  Bruno Haible  <bruno@clisp.org>
31864         posix_spawn_file_actions_add*: Fix module dependencies.
31865         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
31866         posix_spawn_file_actions_init.
31867         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
31868         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
31870 2011-09-18  Bruno Haible  <bruno@clisp.org>
31872         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
31873         * tests/test-rename.h (test_rename): Allow error code EEXIST.
31874         * tests/test-renameat.c (main): Likewise.
31876 2011-09-18  Bruno Haible  <bruno@clisp.org>
31878         Tests for module 'accept4'.
31879         * modules/accept4-tests: New file.
31880         * tests/test-accept4.c: New file.
31882 2011-09-18  Bruno Haible  <bruno@clisp.org>
31884         Tests for module 'accept'.
31885         * modules/accept-tests: New file.
31886         * tests/test-accept.c: New file.
31888 2011-09-18  Bruno Haible  <bruno@clisp.org>
31890         dup2: Support for MSVC.
31891         * lib/dup2.c: Include msvc-inval.h.
31892         (rpl_dup2): Handle invalid parameter notifications during dup2 and
31893         _get_osfhandle calls.
31894         * modules/dup2 (Depends-on): Add msvc-inval.
31895         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
31897         New module 'msvc-inval'.
31898         * lib/msvc-inval.h: New file.
31899         * lib/msvc-inval.c: New file.
31900         * m4/msvc-inval.m4: New file.
31901         * modules/msvc-inval: New file.
31903 2011-09-17  Bruno Haible  <bruno@clisp.org>
31905         Tests for module 'pclose'.
31906         * modules/pclose-tests: New file.
31908         New module 'pclose'.
31909         * lib/stdio.in.h (pclose): New declaration.
31910         * lib/pclose.c: New file.
31911         * m4/pclose.m4: New file.
31912         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
31913         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
31914         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
31915         * modules/pclose: New file.
31916         * modules/popen-tests (Depends-on): Add pclose.
31917         * modules/popen-safer-tests (Depends-on): Likewise.
31918         * doc/posix-functions/pclose.texi: Mention the new module.
31920 2011-09-17  Bruno Haible  <bruno@clisp.org>
31922         popen: Support for MSVC.
31923         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
31924         * lib/popen.c (popen): Provide alternate definition for native Windows.
31925         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
31926         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
31927         * modules/popen (Depends-on, configure.ac): Update condition.
31928         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
31929         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
31930         fixed.
31932 2011-09-17  Bruno Haible  <bruno@clisp.org>
31934         isnanl, isnand, isnanf: Work around MSVC bug.
31935         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
31937 2011-09-17  Bruno Haible  <bruno@clisp.org>
31939         sys_socket tests: Fix recent mistake.
31940         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
31942 2011-09-17  Bruno Haible  <bruno@clisp.org>
31944         putenv: Support for MSVC.
31945         * modules/putenv (Depends-on): Add environ.
31946         * lib/putenv.c (environ): Disable declaration.
31947         * lib/unistd.in.h: Update comment.
31949 2011-09-17  Bruno Haible  <bruno@clisp.org>
31951         math: Avoid macro redefinition warnings on MSVC.
31952         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
31953         Undefine before redefining.
31955 2011-09-17  Bruno Haible  <bruno@clisp.org>
31957         doc: Mention functions which are declared as macros.
31958         * doc/posix-functions/*[fl].texi: Mention that some functions are
31959         defined as macros with arguments only.
31961 2011-09-17  Bruno Haible  <bruno@clisp.org>
31963         Add dependencies to new dirent related modules.
31964         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
31965         * modules/fts (Depends-on): Likewise.
31966         * modules/glob (Depends-on): Likewise.
31967         * modules/savedir (Depends-on): Likewise.
31968         * modules/scandir (Depends-on): Likewise.
31969         * modules/dirent-safer (Depends-on): Add opendir, closedir.
31970         * modules/fdopendir (Depends-on): Add opendir.
31972 2011-09-17  Bruno Haible  <bruno@clisp.org>
31974         inet_pton: Support for MSVC on Windows Vista or newer.
31975         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
31976         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
31977         HAVE_DECL_INET_PTON is defined.
31978         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
31979         On platforms with <winsock2.h>, test whether inet_pton is declared in
31980         <ws2tcpip.h>. If so, arrange to replace it.
31981         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
31982         REPLACE_INET_PTON.
31983         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
31984         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
31985         (Depends-on, configure.ac): Update condition.
31986         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
31988 2011-09-17  Bruno Haible  <bruno@clisp.org>
31990         inet_ntop: Support for MSVC on Windows Vista or newer.
31991         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
31992         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
31993         HAVE_DECL_INET_NTOP is defined.
31994         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
31995         On platforms with <winsock2.h>, test whether inet_ntop is declared in
31996         <ws2tcpip.h>. If so, arrange to replace it.
31997         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
31998         REPLACE_INET_NTOP.
31999         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
32000         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
32001         (Depends-on, configure.ac): Update condition.
32002         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
32004 2011-09-16  Eric Blake  <eblake@redhat.com>
32006         test-fsync: yet another enhancement
32007         * tests/test-fsync.c (main): Also test behavior on read-only text
32008         file.
32010 2011-09-16  Bruno Haible  <bruno@clisp.org>
32012         Enhance fsync, fdatasync tests.
32013         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
32014         * tests/test-fdatasync.c (main): Likewise.
32016 2011-09-16  Bruno Haible  <bruno@clisp.org>
32018         Support for MSVC compiler: Ensure mode_t gets defined.
32019         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
32020         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32021         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
32022         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
32023         * tests/test-fcntl-h.c: Check that mode_t is defined.
32024         * tests/test-sys_stat.c: Likewise.
32025         * tests/test-sys_types.c: Likewise.
32026         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
32027         * doc/posix-headers/sys_stat.texi: Likewise.
32028         * doc/posix-headers/sys_types.texi: Likewise.
32030 2011-09-16  Bruno Haible  <bruno@clisp.org>
32032         sys_stat: Support for MSVC.
32033         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
32034         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
32035         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
32036         MSVC.
32038 2011-09-16  Bruno Haible  <bruno@clisp.org>
32040         Support for MSVC compiler: Ensure off_t gets defined.
32041         * lib/unistd.in.h: Include <sys/types.h>.
32042         * tests/test-fcntl-h.c: Check that off_t is defined.
32043         * tests/test-sys_stat.c: Likewise.
32044         * tests/test-sys_types.c: Likewise.
32046 2011-09-16  Eric Blake  <eblake@redhat.com>
32048         fdatasync: port to Solaris
32049         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
32050         * modules/fdatasync (Link): Document it.
32051         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
32053         fdatasync: port to MacOS X 10.7
32054         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
32055         declared.
32056         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
32057         * modules/unistd (Makefile.am): Substitute it.
32058         * lib/unistd.in.h (fdatasync): Declare on MacOS.
32059         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
32061         fdatasync: minor improvements
32062         * modules/fdatasync (Depends-on): Add condition for fsync.
32063         * lib/fdatasync.c (fdatasync): Add comment.
32064         * tests/test-unistd-c++.cc: Test fdatasync.
32066         unistd: update refs to newer POSIX
32067         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
32068         Suggested by Bruno Haible.
32070         fdatasync: new module
32071         * modules/fsync (Description): Document difference to fdatasync.
32072         * modules/fdatasync: New module.
32073         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
32074         * lib/fdatasync.c (fdatasync): Likewise.
32075         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
32076         defaults.
32077         * modules/unistd (Makefile.am): Set witnesses.
32078         * lib/unistd.in.h (fdatasync): Declare.
32079         * MODULES.html.sh: Document it.
32080         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
32081         * modules/fdatasync-tests: New test.
32082         * tests/test-fdatasync.c: Likewise.
32084 2011-09-16  Eric Blake  <eblake@redhat.com>
32086         test-fsync: enhance tests
32087         * modules/fsync-tests (Depends-on): Add errno, for mingw.
32088         * tests/test-fsync.c (main): Enhance test.
32090 2011-09-15  Bruno Haible  <bruno@clisp.org>
32092         Support for MSVC compiler: Ensure ssize_t gets defined.
32093         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
32094         * doc/posix-headers/stdio.texi: Likewise.
32095         * modules/stdio (Depends-on): Add ssize_t.
32096         * modules/sys_socket (Depends-on): Likewise.
32097         * modules/sys_types (Depends-on): Likewise.
32098         * modules/sys_uio (Depends-on): Likewise.
32099         * modules/unistd (Depends-on): Likewise.
32100         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
32101         * tests/test-sys_types.c: Check that ssize_t is defined.
32103 2011-09-14  Bruno Haible  <bruno@clisp.org>
32105         Avoid using #, the m4 comment starter character, near brackets.
32106         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
32107         delimiter character in sed expressions.
32108         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
32109         Suggested by Eric Blake.
32111         Properly quote AC_CHECK_DECLS' 4th argument.
32112         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
32113         argument.
32114         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
32115         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
32116         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
32117         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
32118         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
32119         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
32120         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
32121         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
32122         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
32123         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
32124         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
32125         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
32126         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
32127         * m4/isinf.m4 (gl_ISINF): Likewise.
32128         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
32129         * m4/readutmp.m4 (gl_READUTMP): Likewise.
32130         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32131         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
32132         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
32133         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
32134         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
32135         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
32136         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
32137         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
32138         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
32139         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
32140         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
32141         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
32142         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
32143         Reported by Eric Blake.
32145         Properly quote AC_CHECK_DECL's 4th argument.
32146         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
32147         argument.
32148         * m4/argp.m4 (gl_ARGP): Likewise.
32149         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
32150         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
32151         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
32152         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
32153         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
32154         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
32155         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
32156         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
32157         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
32158         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
32159         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
32160         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
32161         Reported by Eric Blake.
32163 2011-09-14  Eric Blake  <eblake@redhat.com>
32165         opendir: avoid compile warning
32166         * lib/opendir.c (includes): Always include errno.h.
32167         Reported by Tatsuro MATSUOKA.
32169 2011-09-14  Jim Meyering  <meyering@redhat.com>
32171         maint.mk: sc_tight_scope: propagate failure from sub-make
32172         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
32173         Reported by Martin von Gagern.
32175 2011-09-13  Bruno Haible  <bruno@clisp.org>
32177         tempname: Support for MSVC.
32178         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
32179         MSVC.
32180         * modules/tempname (Depends-on): Add fcntl-h.
32182 2011-09-13  Bruno Haible  <bruno@clisp.org>
32184         sys_time: Support for MSVC.
32185         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
32186         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
32187         include <winsock2.h>.
32188         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
32189         function declarations that collide with POSIX.
32190         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
32191         (Makefile.am): Substitute HAVE_WINSOCK2_H.
32193 2011-09-13  Bruno Haible  <bruno@clisp.org>
32195         stat: Support for MSVC.
32196         * lib/stat.c: Include pathmax.h.
32197         * modules/stat (Depends-on): Add pathmax.
32199         pathmax: Support for native Windows.
32200         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
32202 2011-09-12  Bruno Haible  <bruno@clisp.org>
32204         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
32205         * lib/dirent.in.h (struct dirent): New type.
32206         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
32207         DT_WHT): New macros.
32208         (DIR): New type.
32209         (opendir, closedir): Declare only if the module 'opendir' is enabled.
32210         (readdir, rewinddir): New declarations.
32211         * lib/dirent-private.h: New file.
32212         * lib/opendir.c: New file.
32213         * lib/readdir.c: New file.
32214         * lib/rewinddir.c: New file.
32215         * lib/closedir.c: New file.
32216         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
32217         * m4/opendir.m4: New file.
32218         * m4/readdir.m4: New file.
32219         * m4/rewinddir.m4: New file.
32220         * m4/closedir.m4: New file.
32221         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
32222         REPLACE_CLOSEDIR here.
32223         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
32224         readdir, rewinddir are declared.
32225         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
32226         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
32227         HAVE_REWINDDIR, HAVE_CLOSEDIR.
32228         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
32229         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
32230         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
32231         * modules/opendir: New file.
32232         * modules/readdir: New file.
32233         * modules/rewinddir: New file.
32234         * modules/closedir: New file.
32235         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
32236         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
32237         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
32238         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
32239         * NEWS: Mention the 'fchdir' change.
32241 2011-09-11  Bruno Haible  <bruno@clisp.org>
32243         asm-underscore.m4: Support for MSVC.
32244         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
32245         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
32247 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
32249         Doc about crypt functions.
32250         * doc/posix-functions/crypt.texi: Expand range of glibc versions
32251         needing for _GNU_SOURCE to get crypt.
32252         * doc/posix-functions/encrypt.texi: Likewise.
32253         * doc/posix-functions/setkey.texi: Likewise.
32255 2011-09-11  Bruno Haible  <bruno@clisp.org>
32257         doc: Update regarding MSVC 9.
32258         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
32259         tested".
32260         * doc/posix-functions/*.texi: Update with info about MSVC 9.
32261         * doc/posix-headers/*.texi: Likewise.
32262         * doc/pastposix-functions/*.texi: Likewise.
32263         * doc/glibc-functions/*.texi: Likewise.
32264         * doc/glibc-headers/*.texi: Likewise.
32266 2011-09-11  Bruno Haible  <bruno@clisp.org>
32268         unistd et al.: Don't assume <unistd.h> exists.
32269         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
32270         does not exist.
32271         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
32272         exist. But include <stdlib.h>.
32273         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
32274         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
32275         symlink() does not exist.
32276         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
32277         include <io.h> instead.
32278         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
32279         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
32280         include <direct.h> instead.
32281         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
32282         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
32283         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
32284         <io.h> instead.
32285         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
32286         correctly if the system does not have hard links.
32287         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
32288         <direct.h> instead.
32289         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
32290         it when looking for function declarations.
32291         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
32292         <direct.h> and <io.h> instead.
32293         * doc/posix-headers/unistd.texi: More details about MSVC problem.
32295 2011-09-11  Bruno Haible  <bruno@clisp.org>
32297         strcase: Support for MSVC.
32298         * modules/strcase (Status, Notice): Remove obsoletion mark.
32299         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
32300         * doc/posix-functions/strncasecmp.texi: Likewise.
32302         strings: Don't assume <strings.h> exists.
32303         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
32304         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
32305         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
32306         * doc/posix-headers/strings.texi: Mention the MSVC problem.
32308 2011-09-11  Bruno Haible  <bruno@clisp.org>
32310         dirent: Don't assume <dirent.h> exists.
32311         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
32312         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
32313         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
32314         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
32316 2011-09-11  Bruno Haible  <bruno@clisp.org>
32318         Fix wint_t on MSVC.
32319         * lib/wchar.in.h (wint_t): On MSVC, override it.
32320         * lib/wctype.in.h (wint_t): Likewise.
32321         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
32322         MSVC.
32323         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
32324         * doc/posix-headers/wctype.texi: Likewise.
32326 2011-09-11  Bruno Haible  <bruno@clisp.org>
32328         sys_types: Fix typo.
32329         * lib/sys_types.in.h: Fix typo in comment.
32330         Reported by Paul Eggert.
32332         Support for MSVC compiler: Ensure size_t gets defined.
32333         * modules/strings (Depends-on): Add 'sys_types'.
32334         * modules/sys_uio (Depends-on): Likewise.
32335         * lib/sys_uio.in.h: Update comment.
32337         C++ tests for module 'sys_types'.
32338         * modules/sys_types-c++-tests: New file.
32339         * tests/test-sys_types-c++.cc: New file.
32341         Tests for module 'sys_types'.
32342         * modules/sys_types-tests: New file.
32343         * tests/test-sys_types.c: New file.
32345         New module 'sys_types'.
32346         * lib/sys_types.in.h: New file.
32347         * m4/sys_types_h.m4: New file.
32348         * modules/sys_types: New file.
32349         * doc/posix-headers/sys_types.texi: Mention the new module and the
32350         size_t problem on MSVC 9.
32352 2011-09-11  Bruno Haible  <bruno@clisp.org>
32354         Support for MSVC compiler: Avoid division by a literal 0.
32355         * lib/math.in.h (NAN): Define through a function call also on MSVC.
32356         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
32357         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
32358         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
32359         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
32360         * tests/infinity.h: New file.
32361         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
32362         on MSVC.
32363         * tests/test-ceilf1.c: Include infinity.h.
32364         (main): Use Infinityf.
32365         * tests/test-ceil1.c: Include infinity.h.
32366         (main): Use Infinityd.
32367         * tests/test-ceill.c: Include infinity.h.
32368         (main): Use Infinityl.
32369         * tests/test-dprintf-posix.c: Include infinity.h.
32370         (test_function): Use Infinityd.
32371         * tests/test-floorf1.c: Include infinity.h.
32372         (main): Use Infinityf.
32373         * tests/test-floor1.c: Include infinity.h.
32374         (main): Use Infinityd.
32375         * tests/test-floorl.c: Include infinity.h.
32376         (main): Use Infinityl.
32377         * tests/test-fprintf-posix.c: Include infinity.h.
32378         (test_function): Use Infinityd.
32379         * tests/test-frexp.c: Include infinity.h.
32380         (main): Use Infinityd.
32381         * tests/test-frexpl.c: Include infinity.h.
32382         (main): Use Infinityl.
32383         * tests/test-isfinite.c: Include infinity.h.
32384         (test_isfinitef): Use Infinityf.
32385         (test_isfinited): Use Infinityd.
32386         (test_isfinitel): Use Infinityl.
32387         * tests/test-isinf.c: Include infinity.h.
32388         (test_isinff): Use Infinityf.
32389         (test_isinfd): Use Infinityd.
32390         (test_isinfl): Use Infinityl.
32391         * tests/test-isnan.c: Include infinity.h.
32392         (test_float): Use Infinityf.
32393         (test_double): Use Infinityd.
32394         (test_long_double): Use Infinityl.
32395         * tests/test-isnanf.h: Include infinity.h.
32396         (main): Use Infinityf.
32397         * tests/test-isnand.h: Include infinity.h.
32398         (main): Use Infinityd.
32399         * tests/test-isnanl.h: Include infinity.h.
32400         (main): Use Infinityl.
32401         * tests/test-ldexpl.c: Include infinity.h.
32402         (main): Use Infinityl.
32403         * tests/test-printf-posix.h: Include infinity.h.
32404         (test_function): Use Infinityd.
32405         * tests/test-roundf1.c: Include infinity.h.
32406         (main): Use Infinityf.
32407         * tests/test-round1.c: Include infinity.h.
32408         (main): Use Infinityd.
32409         * tests/test-roundl.c: Include infinity.h.
32410         (main): Use Infinityl.
32411         * tests/test-signbit.c: Include infinity.h.
32412         (test_signbitf): Use Infinityf.
32413         (test_signbitd): Use Infinityd.
32414         (test_signbitl): Use Infinityl.
32415         * tests/test-snprintf-posix.h: Include infinity.h.
32416         (test_function): Use Infinityd, Infinityl.
32417         * tests/test-sprintf-posix.h: Include infinity.h.
32418         (test_function): Use Infinityd, Infinityl.
32419         * tests/test-truncf1.c: Include infinity.h.
32420         (main): Use Infinityf.
32421         * tests/test-trunc1.c: Include infinity.h.
32422         (main): Use Infinityd.
32423         * tests/test-truncl.c: Include infinity.h.
32424         (main): Use Infinityl.
32425         * tests/test-vasnprintf-posix.c: Include infinity.h.
32426         (test_function): Use Infinityd, Infinityl.
32427         * tests/test-vasprintf-posix.c: Include infinity.h.
32428         (test_function): Use Infinityd, Infinityl.
32429         * modules/ceilf-tests (Files): Add tests/infinity.h.
32430         * modules/ceil-tests (Files): Likewise.
32431         * modules/ceill-tests (Files): Likewise.
32432         * modules/dprintf-posix-tests (Files): Likewise.
32433         * modules/floorf-tests (Files): Likewise.
32434         * modules/floor-tests (Files): Likewise.
32435         * modules/floorl-tests (Files): Likewise.
32436         * modules/fprintf-posix-tests (Files): Likewise.
32437         * modules/frexp-tests (Files): Likewise.
32438         * modules/frexp-nolibm-tests (Files): Likewise.
32439         * modules/frexpl-tests (Files): Likewise.
32440         * modules/frexpl-nolibm-tests (Files): Likewise.
32441         * modules/isfinite-tests (Files): Likewise.
32442         * modules/isinf-tests (Files): Likewise.
32443         * modules/isnan-tests (Files): Likewise.
32444         * modules/isnanf-tests (Files): Likewise.
32445         * modules/isnanf-nolibm-tests (Files): Likewise.
32446         * modules/isnand-tests (Files): Likewise.
32447         * modules/isnand-nolibm-tests (Files): Likewise.
32448         * modules/isnanl-tests (Files): Likewise.
32449         * modules/isnanl-nolibm-tests (Files): Likewise.
32450         * modules/ldexpl-tests (Files): Likewise.
32451         * modules/printf-posix-tests (Files): Likewise.
32452         * modules/roundf-tests (Files): Likewise.
32453         * modules/round-tests (Files): Likewise.
32454         * modules/roundl-tests (Files): Likewise.
32455         * modules/signbit-tests (Files): Likewise.
32456         * modules/snprintf-posix-tests (Files): Likewise.
32457         * modules/sprintf-posix-tests (Files): Likewise.
32458         * modules/truncf-tests (Files): Likewise.
32459         * modules/trunc-tests (Files): Likewise.
32460         * modules/truncl-tests (Files): Likewise.
32461         * modules/vasnprintf-posix-tests (Files): Likewise.
32462         * modules/vasprintf-posix-tests (Files): Likewise.
32463         * modules/vdprintf-posix-tests (Files): Likewise.
32464         * modules/vfprintf-posix-tests (Files): Likewise.
32465         * modules/vprintf-posix-tests (Files): Likewise.
32466         * modules/vsnprintf-posix-tests (Files): Likewise.
32467         * modules/vsprintf-posix-tests (Files): Likewise.
32468         * modules/xprintf-posix-tests (Files): Likewise.
32470 2011-09-11  Bruno Haible  <bruno@clisp.org>
32472         Ensure pid_t gets defined.
32473         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
32474         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
32475         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
32476         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32477         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
32478         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
32479         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
32480         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
32481         * tests/test-fcntl-h.c: Check that pid_t is defined.
32482         * tests/test-sched.c: Likewise.
32483         * tests/test-termios.c: Likewise.
32484         * tests/test-time.c: Likewise.
32485         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
32486         * doc/posix-headers/signal.texi: Likewise.
32487         * doc/posix-headers/sys_types.texi: Likewise.
32488         * doc/posix-headers/time.texi: Likewise.
32490 2011-09-11  Bruno Haible  <bruno@clisp.org>
32492         acl: Fix compilation on Solaris 10 (older version).
32493         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
32494         of ACE_EVERYONE.
32495         * lib/set-mode-acl.c (qset_acl): Likewise.
32496         Reported by Christian Jullien <eligis@orange.fr>.
32498 2011-09-10  Bruno Haible  <bruno@clisp.org>
32500         iconv, unsetenv: Add support for MSVC compiler.
32501         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
32502         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
32504 2011-09-10  Bruno Haible  <bruno@clisp.org>
32506         *printf: Add support for MSVC compiler.
32507         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
32508         handles the exception caused by the %n directive. When cross-compiling,
32509         guess no on native Windows.
32510         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
32511         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
32512         emulate it through vsnprintf.
32513         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
32514         * doc/posix-functions/dprintf.texi: Update documentation regarding
32515         MSVC 9.
32516         * doc/posix-functions/fprintf.texi: Likewise.
32517         * doc/posix-functions/printf.texi: Likewise.
32518         * doc/posix-functions/snprintf.texi: Likewise.
32519         * doc/posix-functions/sprintf.texi: Likewise.
32520         * doc/posix-functions/swprintf.texi: Likewise.
32521         * doc/posix-functions/vdprintf.texi: Likewise.
32522         * doc/posix-functions/vfprintf.texi: Likewise.
32523         * doc/posix-functions/vprintf.texi: Likewise.
32524         * doc/posix-functions/vsnprintf.texi: Likewise.
32525         * doc/posix-functions/vsprintf.texi: Likewise.
32526         * doc/glibc-functions/asprintf.texi: Likewise.
32527         * doc/glibc-functions/obstack_printf.texi: Likewise.
32528         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
32529         * doc/glibc-functions/vasprintf.texi: Likewise.
32531 2011-09-10  Bruno Haible  <bruno@clisp.org>
32533         nocrash: Add support for native Windows.
32534         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
32536 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
32537             Bruno Haible  <bruno@clisp.org>
32539         absolute-header, include-next: Add support for MSVC compiler.
32540         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
32541         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
32542         directory separator in #line directives.
32543         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
32544         recognize also backslash as directory separator in #line directives.
32546 2011-09-08  Jim Meyering  <meyering@redhat.com>
32548         maint.mk: mark the post-release commit log with "maint: " prefix
32549         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
32550         one-line commit-log summary.
32552 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
32553             Bruno Haible  <bruno@clisp.org>
32555         Doc about crypt functions.
32556         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
32557         systems.
32558         * doc/posix-functions/encrypt.texi: Likewise.
32559         * doc/posix-functions/setkey.texi: Likewise.
32561 2011-09-08  Simon Josefsson  <simon@josefsson.org>
32563         * lib/gc.h: Fix copyright header.
32565 2011-09-07  Bruno Haible  <bruno@clisp.org>
32567         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
32568         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
32569         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
32571 2011-09-07  Bruno Haible  <bruno@clisp.org>
32573         openat: Work around compilation error with OSF/1 5.1 DTK cc.
32574         * lib/fopen.c: Use different syntax for include of <stdio.h>.
32575         * lib/freopen.c: Likewise.
32576         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
32577         * lib/lstat.c: Likewise.
32578         * lib/stat.c: Likewise.
32579         * lib/open.c: Use different syntax for include of <fcntl.h>.
32580         * lib/openat.c: Include fcntl.h again, explicitly.
32582 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
32584         parse-datetime: document the newly accepted format
32585         * doc/parse-datetime.texi (Combined date and time of day items):
32586         New section.
32588 2011-09-06  Bruno Haible  <bruno@clisp.org>
32590         acl: Fix a test failure on newer Solaris 10 with ZFS.
32591         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
32592         ENOSYS as no ACL.
32593         Reported by Jim Meyering.
32595 2011-09-06  Bruno Haible  <bruno@clisp.org>
32597         acl: Update for AIX >= 5.3 with NFS.
32598         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
32599         ENOSYS as no ACL.
32601         acl: Fix a test failure on AIX >= 5.3 with NFS.
32602         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
32603         as no ACL.
32605 2011-09-06  Bruno Haible  <bruno@clisp.org>
32607         acl: Fix a test failure on IRIX 6.5 with NFS.
32608         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
32609         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
32610         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
32611         * lib/copy-acl.c (qcopy_acl): Likewise.
32613 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
32615         openat: port to AIX 7.1 with large files
32616         AIX 7.1 does a "#define openat open64at" if large files are in use,
32617         so we can't simply #undef openat.  Use the orig_openat trick (similar
32618         to orig_open in lib/open.c) to work around the problem.  Problem
32619         reported by Kevin Brott for GNU tar, in the thread containing
32620         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
32621         * lib/openat.c (__need_system_fcntl_h): Define first.
32622         Include <fcntl.h> and <sys/types.h> before undefining.
32623         (orig_openat) [HAVE_OPENAT]: New inline function.
32624         (openat) [HAVE_OPENAT]: Do not undef.
32625         (rpl_openat): Use orig_openat, not openat.
32627 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
32628             Bruno Haible  <bruno@clisp.org>
32630         acl: Avoid errors on NonStop Kernel.
32631         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
32632         ENOTSUP errors.
32634 2011-09-05  Bruno Haible  <bruno@clisp.org>
32636         acl: Clean up Solaris code.
32637         * lib/acl-internal.h: Remove no-op #if.
32638         * lib/file-has-acl.c: Likewise.
32639         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
32640         * lib/copy-acl.c (qcopy_acl): Likewise.
32642 2011-09-05  Bruno Haible  <bruno@clisp.org>
32644         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
32645         binaries built on the original Solaris 10.
32646         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
32647         trivial.
32649 2011-09-05  Bruno Haible  <bruno@clisp.org>
32651         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
32652         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
32653         10.
32654         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
32655         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
32656         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
32657         instead of acl_get, facl_get, acl_set, facl_set.
32659 2011-09-05  Bruno Haible  <bruno@clisp.org>
32661         copy-file: Try unit tests on more file systems.
32662         * tests/test-copy-file-1.sh: New file.
32663         * tests/test-copy-file-2.sh: New file.
32664         * modules/copy-file-tests (Files): Add them.
32665         (Makefile.am): Add them to TESTS.
32667         acl: Try unit tests on more file systems.
32668         * tests/test-file-has-acl-1.sh: New file.
32669         * tests/test-file-has-acl-2.sh: New file.
32670         * tests/test-set-mode-acl-1.sh: New file.
32671         * tests/test-set-mode-acl-2.sh: New file.
32672         * tests/test-copy-acl-1.sh: New file.
32673         * tests/test-copy-acl-2.sh: New file.
32674         * modules/acl-tests (Files): Add them.
32675         (Makefile.am): Add them to TESTS.
32677 2011-09-04  Bruno Haible  <bruno@clisp.org>
32679         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
32680         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
32681         10.
32682         (OLD_ALLOW, OLD_DENY): New macros.
32683         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
32684         ACE_ACCESS_ALLOWED_ACE_TYPE.
32685         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
32686         ACE_ACCESS_DENIED_ACE_TYPE.
32687         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
32688         (NEW_ACE_EXECUTE): Fix value.
32689         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
32690         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
32691         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
32692         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
32693         NEW_ACE_SYNCHRONIZE): New macros.
32694         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
32695         instead of acl_fromtext, acl_set, facl_set.
32696         Fixes a coreutils/tests/cp/perm failure.
32698 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
32700         openat: test for fstatat (..., 0) bug
32701         Further testing with tar suggests that fstatat (..., 0)
32702         does not work in general, on AIX 7.1; see
32703         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
32704         So, give up entirely on AIX 7.1's fstatat, and fall back on our
32705         replacement fstatat (which is what older AIX releases were using
32706         anyway).
32707         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
32708         use is now changed to orig_fstatat.  This was probably the right
32709         thing to do anyway.
32710         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
32711         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
32712         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
32713         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
32714         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
32715         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
32716         if the bug is found.
32718         openat: test for fstatat (AT_FDCWD, ..., 0) bug
32719         This tests for another fstatat bug on AIX 7.1:
32720         fstatat (AT_FDCWD, ..., 0) does not work.  See
32721         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
32722         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
32723         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
32724         (rpl_fstatat): Adjust so that it works around either (or both)
32725         bugs if present.
32726         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
32728 2011-09-03  Karl Berry  <karl@gnu.org>
32730         * doc/regex.texi (Character Class Operators): Avoid literal ":"
32731         in index entries.
32733 2011-09-02  Bruno Haible  <bruno@clisp.org>
32735         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
32736         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
32737         values of AR, ARFLAGS, RANLIB.
32738         Reported by John W. Eaton <jwe@gnu.org> for Octave.
32740 2011-09-02  Bruno Haible  <bruno@clisp.org>
32742         Find 'ar' program that fits with --host argument.
32743         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
32745 2011-09-02  Bruno Haible  <bruno@clisp.org>
32747         tests: init.sh: Support any non-GNU diff.
32748         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
32749         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
32750         Solaris 8.
32752 2011-09-02  Bruno Haible  <bruno@clisp.org>
32754         tests: init.sh: work also with any non-GNU diff that supports -u
32755         * tests/init.sh: Relax check for diff -u support.
32756         Rather than checking for GNU diff via --version, simply check
32757         for support for -u itself.  Useful at least on OpenBSD 4.9,
32758         AIX 7.1, IRIX 6.5, and Solaris 10.
32760 2011-09-01  Bruno Haible  <bruno@clisp.org>
32762         strtoimax, strtoumax: Document problem on HP-UX 11.
32763         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
32764         * doc/posix-functions/strtoumax.texi: Likewise.
32766 2011-09-01  Bruno Haible  <bruno@clisp.org>
32768         strtoumax: Avoid link error on OSF/1 with DTK cc.
32769         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
32770         defined as a function.
32771         * modules/strtoumax (Depends-on, configure.ac): Test only whether
32772         strtoumax is defined, not whether it is declared.
32774 2011-09-01  Bruno Haible  <bruno@clisp.org>
32776         strtoimax: Avoid link error on OSF/1 with DTK cc.
32777         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
32778         defined as a function.
32779         * modules/strtoimax (Depends-on, configure.ac): Test only whether
32780         strtoimax is defined, not whether it is declared.
32782 2011-09-01  Bruno Haible  <bruno@clisp.org>
32784         imaxdiv: Avoid link error on OSF/1 with DTK cc.
32785         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
32786         as a function.
32787         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
32788         whether it is declared.
32790 2011-09-01  Bruno Haible  <bruno@clisp.org>
32792         imaxabs: Avoid link error on OSF/1 with DTK cc.
32793         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
32794         as a function.
32795         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
32796         whether it is declared.
32798 2011-09-01  Bruno Haible  <bruno@clisp.org>
32800         Tests for module 'strtoumax'.
32801         * modules/strtoumax-tests: New file.
32802         * tests/test-strtoumax.c: New file.
32804         Tests for module 'strtoimax'.
32805         * modules/strtoimax-tests: New file.
32806         * tests/test-strtoimax.c: New file.
32808         Tests for module 'imaxdiv'.
32809         * modules/imaxdiv-tests: New file.
32810         * tests/test-imaxdiv.c: New file.
32812         Tests for module 'imaxabs'.
32813         * modules/imaxabs-tests: New file.
32814         * tests/test-imaxabs.c: New file.
32816 2011-09-01  Bruno Haible  <bruno@clisp.org>
32818         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
32819         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
32820         pthread_create.
32822 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
32824         openat: work around AIX 7.1 fstatat issue
32825         This should fix the problem that was not properly fixed
32826         in the previous change, dated 2011-08-30.
32827         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
32828         __need_system_stat_h defined.
32829         (orig_fstatat) [HAVE_FSTATAT]: New function.
32830         (rpl_fstatat): Go back to the old way of doing things,
32831         except call orig_fstatat instead of fstatat.
32832         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
32833         Remove unnecessary check whether fstatat fills in st_size etc.
32835 2011-09-01  Bruno Haible  <bruno@clisp.org>
32837         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
32838         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
32839         just include the system's header.
32841 2011-08-31  Jim Meyering  <meyering@redhat.com>
32843         tests: avoid spurious assertion failure in test-float.c on ppc64
32844         * tests/test-float.c (test_long_double): Comment out an assertion,
32845         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
32846         with gcc-4.4.4.
32848         maint: indent with spaces, not TABs
32849         I need to get in the habit of running gnulib's "make check".
32850         Both of these would have been caught.
32851         * m4/largefile.m4: Indent with spaces, not TABs.
32852         * lib/parse-datetime.y (iso_8601_time): Likewise.
32853         Spotted by Pádraig Brady.
32855         test-parse-datetime.c: accommodate a relatively strict gcc warning
32856         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
32857         to avoid a warning from gcc's -Werror=missing-declarations.
32858         Insert a few spaces-before-funcall-parenthesis.
32860 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
32862         parse-datetime: accept ISO 8601 date and time rep with "T" separator
32863         The parser now accepts ISO 8601 date-time strings with "T" as the
32864         separator.  It has long parsed dates like "2004-02-29 16:21:42"
32865         with a space between the date and time strings.  Now it also parses
32866         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
32867         variants like "2004-02-29T16:21:42.333-07:00"
32868         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
32869         of day representation using the 'T' separator character.
32870         * doc/parse-datetime.texi (General date syntax): replace use of
32871         deprecated --iso-8601 option with --rfc-3339 in example of date
32872         command output formats that can be parsed.
32873         * tests/test-parse-datetime.c (tm_diff): New function, taken from
32874         lib/parse-datetime.y.
32875         (gmt_offset): New function.
32876         (main): Add additional test cases to validate ISO8601 extended
32877         date and time of day parsing.
32879 2011-08-31  Bruno Haible  <bruno@clisp.org>
32881         freopen: Documentation.
32882         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
32883         name.
32884         Reported by Claudio Bley <claudio.bley@gmail.com>.
32886 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
32888         freopen: Don't crash if the filename argument is NULL.
32889         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
32890         NULL.
32892 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
32894         openat: work around AIX 7.1 fstatat bug
32895         Problem reported by Kevin Brott for GNU tar, in the thread containing
32896         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
32897         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
32898         FSTATAT_ST_SIZE_ETC_BROKEN.
32899         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
32900         rpl_fstatat.
32901         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
32902         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
32903         AC_CHECK_FUNCS_ONCE for fstatat.
32904         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
32905         fchmodat, mkdirat, openat and unlinkat.
32907 2011-08-30  Bruno Haible  <bruno@clisp.org>
32909         Avoid endless recursions if config.h includes some header files.
32910         * lib/fopen.c (__need_FILE): Define already before including config.h.
32911         * lib/freopen.c (__need_FILE): Likewise.
32912         * lib/open.c (__need_system_fcntl_h): Likewise.
32913         * lib/stat.c (__need_system_sys_stat_h): Likewise.
32914         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
32915         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
32917 2011-08-25  Karl Berry  <karl@gnu.org>
32919         * config/srclist.txt (ylwrap): new try.
32920         * build-aux/ylwrap: new file.
32922 2011-08-23  Bruno Haible  <bruno@clisp.org>
32924         tmpdir: Use a good default directory on native Windows.
32925         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
32926         (P_tmpdir): Default to _P_tmpdir on native Windows.
32927         (path_search): On native Windows, try the value returned by GetTempPath
32928         before trying P_tmpdir.
32929         * modules/tmpdir (Depends-on): Add pathmax.
32930         Suggested by John Darrington <john@darrington.wattle.id.au>.
32932 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
32934         doc: fix typo in README-release
32935         * top/README-release: Capitalize first word of a sentence.
32937 2011-08-19  Jim Meyering  <meyering@redhat.com>
32939         fts: do not exhaust memory when processing million-entry directories
32940         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
32941         directory would require about 256*N bytes of memory.  Thus, it was
32942         easy to construct a directory too large to be processed by any of
32943         those tools.  With this change, fts' maximum memory utilization is
32944         now limited to around 30MB.
32945         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
32946         (fts_read): When we've processed the final entry (i.e., when
32947         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
32948         using the parent entry to read any remaining entries.  Dispatch
32949         depending on what fts_build returns:
32950         - NULL+stop, aka failure: stop
32951         - NULL otherwise: move up in the dir hierarchy
32952         - non-NULL: handle this new entry
32953         (fts_build): Declare and use new local, continue_readdir.
32954         Prepare to be called from fts_read, when the entries
32955         from a partially-read directory have just been exhausted.
32956         In that case, we'll skip the opendir and instead use the parent's
32957         fts_dirp and derive dir_fd from that.
32958         Finally, in the readdir loop, if we read max_entries entries,
32959         exit the loop ensuring *not* to call closedir.  This is required
32960         so that fts_dirp can be reused on a subsequent call.
32961         Prompted by Ben England's report of memory exhaustion in find
32962         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
32964         maint: fts: move decl of `dp' down into while loop; split a long line
32965         * lib/fts.c (fts_build): No semantic change.
32967         fts: add/use new struct member, fts_dirp
32968         We are about to use this to manage any directory with
32969         too many entries to read all of them into memory at once.
32970         To do that, we'll need to save the DIR* pointer in each
32971         affected FTSENT struct.
32972         * lib/fts_.h: Include <dirent.h>.
32973         (struct FTSENT) [fts_dirp]: New member.
32974         * lib/fts.c (closedir_and_clear): Define.
32975         Use it in place of closedir so that we are sure to
32976         clear the new fts_dirp member when done with it.
32977         (fts_alloc): Initialize the new member.
32978         (fts_lfree): Free, if needed.
32980         maint: fts: give __opendir2 a new parameter and rename
32981         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
32982         than surreptitiously using sole caller's "dir_fd".
32983         (fts_opendir): Rename from __opendir2.
32985         maint: fts.c: remove __opendir2's now-unused parameter, oflag
32986         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
32988         maint: fts.c: correct off-by-one indentation
32989         * lib/fts.c (fts_build): Correct indentation, change style
32990         of a couple of block comments, and bracing style.
32992         maint: fts.c: move __opendir2 #define "up" out of function body
32993         * lib/fts.c (__opendir2): Move "up".  No semantic change.
32995         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
32996         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
32997         out for a long time and besides was useful only on BSD systems.
32999 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
33001         regex: port to Stratus OpenVOS
33002         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
33003         define to empty, rather than attempting nonportable optimizations.
33004         Problem reported by Paul Green in:
33005         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
33006         and fix suggested by Eric Blake in:
33007         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
33009 2011-08-17  Eric Blake  <eblake@redhat.com>
33011         getcwd: fix test failures on mingw
33012         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
33013         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
33014         test if long directory cannot be created, and allow mingw errno.
33016         getcwd-lgpl: fix m4 to match relaxed test for BSD
33017         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
33018         (gl_FUNC_GETCWD_SIGNATURE): New macro.
33019         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
33020         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
33021         signature problem.
33023         getcwd: fix compilation on mingw64
33024         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
33025         getcwd.
33026         Reported by Marc-André Lureau.
33028         pipe2: silence compiler warning
33029         * lib/pipe2.c (pipe2): Hide label if it is not used.
33031 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
33033         relocatable-prog: fix link error
33034         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
33035         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
33036         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
33037         into modules/relocatable-lib without noticing that
33038         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
33039         also needs to build relocatable.c.
33041 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
33043         getaddrinfo: fix sh typo in gai_strerrorA decl checking
33044         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
33045         shell code: it contained a 'break' that was not in a loop.
33046         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
33047         via a shell-language loop; this may have been true in old Autoconf
33048         versions, but it's not true in Autoconf 2.68.  I found this bug
33049         when testing coreutils git on Solaris 8, whose shell complains
33050         about the syntax error.
33052 2011-08-12  Simon Josefsson  <simon@josefsson.org>
33054         * lib/base64.c: Fix comment to reference RFC 4648.
33055         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
33056         <gvtulder@gmail.com>.
33058 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
33060         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
33062         po/Makefile.in.in: fix make -q problem
33063         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
33064         rule, since there's no file named 'check-macro-version' and its
33065         use as a file breaks make -q.
33066         (all): Don't depend on check-macro-version.
33067         (CHECK_MACRO_VERSION): New macro.
33068         (stamp-po): Use it.
33070         configmake: fix make -q problem
33071         * modules/configmake (configmake.h): Update configmake.h's time stamp
33072         even if the file does not change.  Otherwise, 'make -q' fails.
33073         Problem reported by Simon Josefsson in
33074         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
33076 2011-08-11  Jim Meyering  <meyering@redhat.com>
33078         git-version-gen: correct the advice in a comment
33079         * build-aux/git-version-gen: Correct comment.
33080         Don't recommend to list .tarball-version in .gitignore.
33082 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
33084         base64: fix off-by-one buffer size bug
33085         Problem and (trivial) fix reported by Gijs van Tulder in
33086         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
33087         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
33088         * tests/test-base64.c (main): Catch the bug.
33090 2011-08-10  Eric Blake  <eblake@redhat.com>
33092         closein: correct comments
33093         * lib/closein.c (close_stdin): Improve comments.
33095 2011-08-09  Bruno Haible  <bruno@clisp.org>
33097         More tests for 'fseeko'.
33098         * tests/test-fseeko3.c: New file, from Eric Blake.
33099         * tests/test-fseeko3.sh: New file.
33100         * modules/fseeko-tests (Files): Add them.
33101         (TESTS): Add test-fseeko3.sh.
33102         (check_PROGRAMS): Add test-fseeko3.
33104 2011-08-09  Eric Blake  <eblake@redhat.com>
33106         fseeko: remove unneeded hack
33107         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
33109         fseeko: fix bug on glibc
33110         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
33111         Reported by John W. Eaton.
33113 2011-08-08  Bruno Haible  <bruno@clisp.org>
33115         unictype/base: Fix interoperability with preinstalled libunistring.
33116         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
33117         Reported by Simon Josefsson.
33119 2011-08-08  Bruno Haible  <bruno@clisp.org>
33121         iswblank: Detect declaration correctly.
33122         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
33123         AC_CHECK_DECLS invocation.
33125 2011-08-08  Bruno Haible  <bruno@clisp.org>
33127         tcgetsid: Detect declaration correctly.
33128         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
33129         AC_CHECK_DECLS invocation.
33130         Reported by Simon Josefsson.
33132 2011-08-08  Eric Blake  <eblake@redhat.com>
33134         largefile: fix typo that regressed large file support
33135         * modules/largefile (configure.ac-early): Fix section name.
33137 2011-08-06  Karl Berry  <karl@gnu.org>
33139         * MODULES.html.sh (func_all_files): _Noreturn is no longer
33140         a separate module.
33142 2011-08-05  Simon Josefsson  <simon@josefsson.org>
33144         openat: Fix warnings and commens when building unlinkat.c on Hurd.
33145         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
33146         get prototype for free.
33148 2011-08-04  Bruno Haible  <bruno@clisp.org>
33150         Tests for module 'pathmax'.
33151         * modules/pathmax-tests: New file.
33152         * tests/test-pathmax.c: New file.
33154         canonicalize-lgpl: Support larger filenames on the Hurd.
33155         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
33156         Reported by Paul Eggert.
33158         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
33159         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
33160         * lib/chdir-long.h: Include pathmax.h.
33161         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
33162         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
33163         (PATH_MAX): Remove code that is done by pathmax.h.
33164         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
33165         * lib/tmpfile.c: Add a comment.
33166         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
33167         * modules/chdir-long (Depends-on): Add pathmax.
33168         * modules/getcwd (Depends-on): Add pathmax.
33169         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
33170         is not defined.
33171         * doc/posix-headers/limits.texi: Mention the pathmax module.
33172         * NEWS: Mention the change.
33174 2011-08-02  Bruno Haible  <bruno@clisp.org>
33176         pthread_sigmask: Actually use results of gl_THREADLIB.
33177         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
33178         gl_THREADLIB, not gl_[]THREADLIB.
33179         Reported by Eric Blake.
33181 2011-08-02  Jim Meyering  <meyering@redhat.com>
33183         maint.mk: relax the default _gl_TS_function_match regexp
33184         * top/maint.mk (_gl_TS_function_match): Don't require at least one
33185         space between function name and "(" in an "extern" declaration.
33186         That would fail to match a decl with no space there: extern void foo();
33188 2011-07-31  Iain Nicol  <iain@thenicols.net>
33190         git-version-gen: document that EXTRA_DIST must include .version
33191         * build-aux/git-version-gen: In the how-to-use comment, document
33192         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
33193         will fail when run from an unpacked distribution tarball.
33195 2011-08-01  Bruno Haible  <bruno@clisp.org>
33197         wctype-h: Fix last change.
33198         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
33199         REPLACE_TOWLOWER to 0.
33200         Reported by Sam Steingold <sds@gnu.org>.
33202 2011-07-31  Bruno Haible  <bruno@clisp.org>
33204         frexpl: Update autoconf test.
33205         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
33206         according to changes of 2011-06-20.
33208 2011-07-31  Bruno Haible  <bruno@clisp.org>
33210         sys_utsname: Add support for Minix.
33211         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
33212         <sys/utsname.h>.
33213         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33214         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
33216 2011-07-31  Bruno Haible  <bruno@clisp.org>
33218         strings: Add support for Minix.
33219         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
33220         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
33221         * doc/posix-headers/strings.texi: Document the Minix problem.
33223 2011-07-31  Bruno Haible  <bruno@clisp.org>
33225         wctype-h: Add support for Minix.
33226         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
33227         REPLACE_TOWLOWER.
33228         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
33229         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
33230         REPLACE_ISWCNTRL.
33232 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
33234         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
33235         This is a performance improvement for 64-bit hosts: it causes the
33236         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
33238 2011-07-31  Bruno Haible  <bruno@clisp.org>
33240         stdioext: Add support for Minix.
33241         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
33242         * lib/fpurge.c (fpurge): Likewise.
33243         * lib/freadahead.c (freadahead): Likewise.
33244         * lib/freadable.c (freadable): Likewise.
33245         * lib/freading.c (freading): Likewise.
33246         * lib/freadptr.c (freadptr): Likewise.
33247         * lib/freadseek.c (freadptrinc): Likewise.
33248         * lib/fseeko.c (rpl_fseeko): Likewise.
33249         * lib/fseterr.c (fseterr): Likewise.
33250         * lib/fwritable.c (fwritable): Likewise.
33251         * lib/fwriting.c (fwriting): Likewise.
33252         * lib/fflush.c (clear_ungetc_buffer): Update comment.
33253         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
33255 2011-07-31  Bruno Haible  <bruno@clisp.org>
33257         errno: Port to Minix.
33258         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
33259         ECONNABORTED are defined.
33260         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
33261         GNULIB_defined_ECONNABORTED): New macros.
33262         * lib/strerror-override.h (strerror_override): Test also
33263         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
33264         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
33265         ECONNABORTED.
33266         * doc/posix-headers/errno.texi: Mention the Minix problem.
33268 2011-07-31  Bruno Haible  <bruno@clisp.org>
33270         Work around declaration collisions on Minix.
33271         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
33272         defined, set REPLACE_MBSINIT.
33273         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
33274         defined, set REPLACE_MBRTOWC.
33275         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
33276         set REPLACE_MBRLEN.
33277         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
33278         defined, set REPLACE_MBSRTOWCS.
33279         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
33280         defined, set REPLACE_WCRTOMB.
33281         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
33282         defined, set REPLACE_WCSRTOMBS.
33284 2011-07-31  Bruno Haible  <bruno@clisp.org>
33286         Add support for Minix with ACK compiler.
33287         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
33288         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
33289         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
33291 2011-07-31  Bruno Haible  <bruno@clisp.org>
33293         Documentation about Minix.
33294         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
33295         * doc/glibc-headers/*.texi: Likewise.
33296         * doc/posix-functions/*.texi: Likewise.
33297         * doc/glibc-functions/*.texi: Likewise.
33299 2011-07-31  Bruno Haible  <bruno@clisp.org>
33301         snippet/warn-on-use: Fix indentation.
33302         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
33304 2011-07-25  Jim Meyering  <meyering@redhat.com>
33306         tests: test-update-copyright.sh: remove unnecessary "rm" commands
33307         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
33308         commands.
33310 2011-07-27  Jim Meyering  <meyering@redhat.com>
33312         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
33313         * top/maint.mk (gl_extract_significant_defines_): Now that
33314         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
33315         gnulib/lib/signal.in.h, and now that we recommend to
33316         define-if-undefined those two symbols in application code,
33317         we must filter them out of the "significant" list.
33318         This avoids a "make syntax-check" failure in coreutils.
33320 2011-07-26  Eric Blake  <eblake@redhat.com>
33322         warnings: add comments about previous patch
33323         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
33324         * m4/include_next.m4: Likewise.
33325         * m4/warn-on-use.m4: Likewise.
33326         * m4/warnings.m4: Likewise, and simplify use.
33327         Suggested by Stefano Lattarini.
33329         include-next, warnings: support older autoconf
33330         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
33331         AS_VAR_PUSHDEF in a way that works with older autoconf.
33332         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
33333         Reported by Daniel P. Berrange.
33335 2011-07-25  Bruno Haible  <bruno@clisp.org>
33337         fseek, ftell: Fix doc.
33338         * doc/posix-functions/fseek.texi: Reword statement about
33339         AC_SYS_LARGEFILE.
33340         * doc/posix-functions/ftell.texi: Likewise.
33342 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
33343             Bruno Haible  <bruno@clisp.org>
33345         Add dependencies to the 'largefile' module.
33346         * modules/fopen (Depends-on): Add 'largefile'.
33347         * modules/freopen (Depends-on): Likewise.
33348         * modules/fseeko (Depends-on): Likewise.
33349         * modules/ftello (Depends-on): Likewise.
33350         * modules/glob (Depends-on): Likewise.
33351         * modules/lseek (Depends-on): Likewise.
33352         * modules/lstat (Depends-on): Likewise.
33353         * modules/mkostemp (Depends-on): Likewise.
33354         * modules/mkostemps (Depends-on): Likewise.
33355         * modules/mkstemp (Depends-on): Likewise.
33356         * modules/mkstemps (Depends-on): Likewise.
33357         * modules/open (Depends-on): Likewise.
33358         * modules/openat (Depends-on): Likewise.
33359         * modules/pread (Depends-on): Likewise.
33360         * modules/pwrite (Depends-on): Likewise.
33361         * modules/scandir (Depends-on): Likewise.
33362         * modules/stat (Depends-on): Likewise.
33363         * modules/tmpfile (Depends-on): Likewise.
33364         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
33365         since the containing module now depends on the largefile module.
33366         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
33367         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
33368         off_t is fixed by gnulib.
33369         * doc/posix-functions/freopen.texi: Likewise.
33370         * doc/posix-functions/fseeko.texi: Likewise.
33371         * doc/posix-functions/fstatat.texi: Likewise.
33372         * doc/posix-functions/ftello.texi: Likewise.
33373         * doc/posix-functions/glob.texi: Likewise.
33374         * doc/posix-functions/lseek.texi: Likewise.
33375         * doc/posix-functions/lstat.texi: Likewise.
33376         * doc/posix-functions/mkstemp.texi: Likewise.
33377         * doc/posix-functions/open.texi: Likewise.
33378         * doc/posix-functions/openat.texi: Likewise.
33379         * doc/posix-functions/pread.texi: Likewise.
33380         * doc/posix-functions/pwrite.texi: Likewise.
33381         * doc/posix-functions/scandir.texi: Likewise.
33382         * doc/posix-functions/stat.texi: Likewise.
33383         * doc/posix-functions/tmpfile.texi: Likewise.
33384         * doc/glibc-functions/mkostemp.texi: Likewise.
33385         * doc/glibc-functions/mkostemps.texi: Likewise.
33386         * doc/glibc-functions/mkstemps.texi: Likewise.
33388 2011-07-25  Bruno Haible  <bruno@clisp.org>
33390         fcntl: Move AC_LIBOBJ invocation to module description.
33391         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
33392         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
33394         fcntl: Remove call-in from fchdir.m4.
33395         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
33396         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
33398         dup3: Remove potential call-in from fchdir.m4.
33399         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
33400         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
33402         dup2: Move AC_LIBOBJ invocation to module description.
33403         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
33404         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
33405         Don't invoke AC_LIBOBJ.
33406         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
33408         dup2: Remove call-in from fchdir.m4.
33409         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
33410         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
33412         fclose: Move AC_LIBOBJ invocation to module description.
33413         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
33414         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
33415         to 1.
33416         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
33418         fclose: Remove call-in from close.m4.
33419         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
33420         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
33422         close: Move AC_LIBOBJ invocation to module description.
33423         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
33424         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
33425         1.
33426         * modules/close (configure.ac): Invoke AC_LIBOBJ.
33428         close: Remove call-in from fchdir.m4.
33429         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
33430         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
33432         open: Move AC_LIBOBJ invocation to module description.
33433         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
33434         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
33435         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
33437         open: Remove call-in from fchdir.m4.
33438         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
33439         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
33441         fchdir: Start to remove gl_REPLACE_* idiom.
33442         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
33443         (gl_FUNC_FCHDIR): Invoke it.
33445 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
33447         * lib/ftell.c (ftell): Comment out cast.
33449         close: use gl_REPLACE_FCLOSE only if defined
33450         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
33451         is defined.  The close module doesn't depend on the fclose module
33452         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
33453         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
33454         I reproduced the problem with "./gnulib-tool --test close sys_socket".
33456 2011-07-24  Jim Meyering  <meyering@redhat.com>
33458         test-select.h: avoid warning when using gcc's -Wmissing-declarations
33459         * tests/test-select.h (test_function): Declare as "static".
33461 2011-07-24  Bruno Haible  <bruno@clisp.org>
33463         doc: Mention the effects of AC_SYS_LARGEFILE.
33464         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
33465         on this function.
33466         * doc/posix-functions/aio_error.texi: Likewise.
33467         * doc/posix-functions/aio_fsync.texi: Likewise.
33468         * doc/posix-functions/aio_read.texi: Likewise.
33469         * doc/posix-functions/aio_return.texi: Likewise.
33470         * doc/posix-functions/aio_suspend.texi: Likewise.
33471         * doc/posix-functions/aio_write.texi: Likewise.
33472         * doc/posix-functions/fgetpos.texi: Likewise.
33473         * doc/posix-functions/fopen.texi: Likewise.
33474         * doc/posix-functions/freopen.texi: Likewise.
33475         * doc/posix-functions/fsetpos.texi: Likewise.
33476         * doc/posix-functions/fstatvfs.texi: Likewise.
33477         * doc/posix-functions/ftruncate.texi: Likewise.
33478         * doc/posix-functions/ftw.texi: Likewise.
33479         * doc/posix-functions/getrlimit.texi: Likewise.
33480         * doc/posix-functions/glob.texi: Likewise.
33481         * doc/posix-functions/lio_listio.texi: Likewise.
33482         * doc/posix-functions/lockf.texi: Likewise.
33483         * doc/posix-functions/mkstemp.texi: Likewise.
33484         * doc/posix-functions/mmap.texi: Likewise.
33485         * doc/posix-functions/nftw.texi: Likewise.
33486         * doc/posix-functions/openat.texi: Likewise.
33487         * doc/posix-functions/opendir.texi: Likewise.
33488         * doc/posix-functions/posix_fadvise.texi: Likewise.
33489         * doc/posix-functions/posix_fallocate.texi: Likewise.
33490         * doc/posix-functions/pread.texi: Likewise.
33491         * doc/posix-functions/pwrite.texi: Likewise.
33492         * doc/posix-functions/readdir.texi: Likewise.
33493         * doc/posix-functions/readdir_r.texi: Likewise.
33494         * doc/posix-functions/rewinddir.texi: Likewise.
33495         * doc/posix-functions/scandir.texi: Likewise.
33496         * doc/posix-functions/seekdir.texi: Likewise.
33497         * doc/posix-functions/setrlimit.texi: Likewise.
33498         * doc/posix-functions/statvfs.texi: Likewise.
33499         * doc/posix-functions/telldir.texi: Likewise.
33500         * doc/posix-functions/tmpfile.texi: Likewise.
33501         * doc/posix-functions/truncate.texi: Likewise.
33502         * doc/glibc-functions/fallocate.texi: Likewise.
33503         * doc/glibc-functions/fstatfs.texi: Likewise.
33504         * doc/glibc-functions/fts_children.texi: Likewise.
33505         * doc/glibc-functions/fts_read.texi: Likewise.
33506         * doc/glibc-functions/getdirentries.texi: Likewise.
33507         * doc/glibc-functions/mkostemp.texi: Likewise.
33508         * doc/glibc-functions/mkostemps.texi: Likewise.
33509         * doc/glibc-functions/mkstemps.texi: Likewise.
33510         * doc/glibc-functions/preadv.texi: Likewise.
33511         * doc/glibc-functions/pwritev.texi: Likewise.
33512         * doc/glibc-functions/sendfile.texi: Likewise.
33513         * doc/glibc-functions/statfs.texi: Likewise.
33515 2011-07-24  Bruno Haible  <bruno@clisp.org>
33517         doc: Fix typo.
33518         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
33520 2011-07-24  Bruno Haible  <bruno@clisp.org>
33522         doc: Mention fsusage.
33523         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
33525 2011-07-24  Bruno Haible  <bruno@clisp.org>
33527         doc: Mention new glibc headers and functions.
33528         * doc/glibc-headers/gshadow.texi: New file.
33529         * doc/glibc-functions/endsgent.texi: New file.
33530         * doc/glibc-functions/fgetsgent.texi: New file.
33531         * doc/glibc-functions/fgetsgent_r.texi: New file.
33532         * doc/glibc-functions/getsgent.texi: New file.
33533         * doc/glibc-functions/getsgent_r.texi: New file.
33534         * doc/glibc-functions/getsgnam.texi: New file.
33535         * doc/glibc-functions/getsgnam_r.texi: New file.
33536         * doc/glibc-functions/putsgent.texi: New file.
33537         * doc/glibc-functions/setsgent.texi: New file.
33538         * doc/glibc-functions/sgetsgent.texi: New file.
33539         * doc/glibc-functions/sgetsgent_r.texi: New file.
33540         * doc/glibc-functions/malloc_info.texi: New file.
33541         * doc/glibc-functions/preadv.texi: New file.
33542         * doc/glibc-functions/pwritev.texi: New file.
33543         * doc/glibc-functions/register_printf_modifier.texi: New file.
33544         * doc/glibc-functions/register_printf_specifier.texi: New file.
33545         * doc/glibc-functions/register_printf_type.texi: New file.
33546         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
33547         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
33548         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
33549         * doc/glibc-functions/pthread_getname_np.texi: New file.
33550         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
33551         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
33552         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
33553         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
33554         * doc/glibc-functions/pthread_setname_np.texi: New file.
33555         * doc/glibc-functions/pthread_sigqueue.texi: New file.
33556         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
33557         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
33558         * doc/glibc-functions/qsort_r.texi: New file.
33559         * doc/glibc-functions/quick_exit.texi: New file.
33560         * doc/glibc-functions/syncfs.texi: New file.
33561         * doc/gnulib.texi: Include them.
33562         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
33563         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
33564         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
33565         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
33566         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
33567         * doc/glibc-functions/execvpe.texi: Likewise.
33569 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
33571         ftell: don't include <unistd.h>
33572         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
33573         guaranteed to define off_t, and the ftell module depends on the
33574         stdio module.
33576         ftell: do not assume wraparound signed arithmetic
33577         * lib/ftell.c: Include <limits.h>.
33578         (ftell): Don't assume wraparound signed arithmetic.
33580 2011-07-24  Bruno Haible  <bruno@clisp.org>
33582         close: No longer depend on module 'fclose'.
33583         * modules/close (Depends-on): Remove fclose.
33584         * NEWS: Mention the change.
33585         Suggested by Sam Steingold <sds@gnu.org>.
33587 2011-07-24  Bruno Haible  <bruno@clisp.org>
33589         fsusage: Enable large volume support on AIX >= 5.2.
33590         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
33591         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
33592         instead of STAT_STATVFS.
33593         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
33595         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
33596         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
33597         f_blocks field only on MacOS X.
33599         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
33600         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
33601         * modules/fsusage (Depends-on): Add largefile.
33603 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
33605         * README: Modernize discussion of signed integers.
33606         Assuming overflow wraparound is no longer safe.
33607         Mention ones' complement and signed magnitude.
33609 2011-07-22  Bruno Haible  <bruno@clisp.org>
33611         select tests, pselect tests: Refactor.
33612         * tests/test-select.h: New file, extracted from tests/test-select.c.
33613         (select_fn): New type.
33614         (test, do_select, do_select_nowait, do_select_wait, test_tty,
33615         test_connect_first, test_accept_first, test_pair, test_socket_pair,
33616         test_pipe): Add my_select argument.
33617         (test_function): Renamed from main. Add my_select argument.
33618         * tests/test-select.c: Move most code to tests/test-select.h. Include
33619         test-select.h.
33620         * modules/select-tests (Files): Add tests/test-select.h.
33621         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
33622         (my_select, main): New functions.
33623         * modules/pselect-tests (Files): Add tests/test-select.h,
33624         tests/macros.h, tests/signature.h.
33625         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
33626         (configure.ac): Check for <sys/wait.h>.
33628 2011-07-22  Bruno Haible  <bruno@clisp.org>
33630         sys_select tests: Check the signature of FD_*.
33631         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
33632         signature tests from here...
33633         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
33634         here.
33635         * modules/sys_select-tests (Files): Add tests/signature.h.
33637 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
33639         largefile: new module, replacing large-inode
33640         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
33641         * MODULES.html.sh: Add largefile, remove large-inode.
33642         * modules/largefile, m4/largefile.m4: New files.
33643         * modules/large-inode, m4/large-inode.m4: Remove.
33645         fsusage: port to MacOS X 10.7 with 4 TiB file systems
33646         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
33647         implementations that use only 32 bits to count blocks.
33648         On typical hosts with 1024-byte blocks, this fails with file
33649         systems as small as 4 TiB.  Problem reported by Herb Wartens
33650         <http://debbugs.gnu.org/9140> and this should also fix a similar
33651         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
33653         large-inode: New module
33654         * MODULES.html.sh: Add it.
33655         * modules/large-inode, m4/large-inode.m4: New files.
33657         extensions: Enable extensions on MacOS X 10.5 and later.
33658         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
33660 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
33662         file-has-acl: use acl_extended_file_nofollow if available
33663         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
33664         (acl_extended_file): New macro.
33665         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
33666         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
33668 2011-07-21  Bruno Haible  <bruno@clisp.org>
33670         Declare system functions in a way that works with C++.
33671         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
33672         declare fdopendir as extern "C".
33673         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
33674         declare frexpl as extern "C".
33675         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
33676         declare gai_strerror as extern "C".
33677         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
33678         programs, declare gai_strerror as extern "C".
33679         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
33680         declare getlogin_r as extern "C".
33681         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
33682         as extern "C".
33683         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
33684         declare ldexpl as extern "C".
33685         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
33686         as extern "C".
33687         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
33688         program, declare getmntinfo as extern "C".
33689         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
33690         stpncpy as extern "C".
33691         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
33692         program, declare __xpg_strerror_r as extern "C".
33693         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
33694         strndup as extern "C".
33695         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
33696         declare memset and bzero as extern "C".
33697         Reported by Sam Steingold <sds@gnu.org>.
33699 2011-07-12  Jim Meyering  <meyering@redhat.com>
33701         maint.mk: prohibit inclusion of "verify.h" without use
33702         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
33704 2011-07-19  Pádraig Brady  <P@draigBrady.com>
33706         timer-time: A new module to check for timer_settime()
33707         * m4/timer_time.m4: Check for the posix function.
33708         * modules/timer-time: Add the new module.
33709         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
33710         Mention it.
33712 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
33713             Bruno Haible  <bruno@clisp.org>
33715         pthread_sigmask: assume POSIX threads if --avoid=threadlib
33716         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
33717         not defined, assume POSIX threads and look for pthread_sigmask in
33718         $LIBS, without changing $CPPFLAGS.
33720 2011-07-19  Bruno Haible  <bruno@clisp.org>
33722         strstr: Update cross-compilation guess.
33723         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
33724         CPUs, guess no, in view of glibc
33725         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
33726         Suggested by Eric Blake. Reported by Reuben Thomas.
33728 2011-07-19  Pádraig Brady  <P@draigBrady.com>
33730         getopt-gnu: suppress core dumps from detection code
33731         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
33732         to suppress core dumps that may well occur on glibc systems.
33733         * modules/getopt-gnu: Depend on nocrash.
33735 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
33737         pthread_sigmask: ensure usleep is declared
33738         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
33739         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
33741 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
33743         doc: Document NonStop portability issues.
33744         * doc/posix-functions/sigaction.texi (sigaction):
33745         * doc/posix-headers/signal.texi (signal.h):
33746         Document NonStop.  See Joachim Schmitz in
33747         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
33749 2011-07-15  Bruno Haible  <bruno@clisp.org>
33751         ffsl, ffsll: Avoid unportable behaviour.
33752         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
33754 2011-07-15  Bruno Haible  <bruno@clisp.org>
33756         ffs: More tests.
33757         * tests/test-ffs.c (NBITS): New macro.
33758         (main): Add more tests.
33759         * tests/test-ffsl.c (NBITS): New macro.
33760         (main): Add more tests.
33761         * tests/test-ffsll.c (NBITS): New macro.
33762         (main): Add more tests.
33764 2011-07-15  Eric Blake  <eblake@redhat.com>
33766         ffsl, ffsll: new modules
33767         * modules/ffsl: New file.
33768         * modules/ffsll: Likewise.
33769         * m4/ffsl.m4: Likewise.
33770         * m4/ffsll.m4: Likewise.
33771         * lib/ffsl.c: Likewise.
33772         * lib/ffsl.h: Likewise.
33773         * lib/ffsll.c: Likewise.
33774         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
33775         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
33776         * modules/string (Makefile.am): Substitute witnesses.
33777         * lib/strings.in.h (ffsl, ffsll): Declare.
33778         * modules/ffsl-tests: New test file.
33779         * modules/ffsll-tests: Likewise.
33780         * tests/test-ffsl.c: Likewise.
33781         * tests/test-ffsll.c: Likewise.
33782         * MODULES.html.sh (Integer arithmetic functions): Mention it.
33783         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
33784         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
33786         ffs: fix m4 prerequisite
33787         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
33789         ffs: avoid undefined behavior
33790         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
33791         * tests/test-ffs.c (naive, main): Avoid signed shifts.
33792         Reported by Bruno Haible.
33794 2011-07-12  Bruno Haible  <bruno@clisp.org>
33796         pthread_sigmask: Rely on module 'threadlib'.
33797         * modules/pthread_sigmask (Depends-on): Add threadlib.
33798         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
33799         is defined.
33801 2011-07-12  Bruno Haible  <bruno@clisp.org>
33803         regex: Depend on module 'strcase'.
33804         * modules/regex (Depends-on): Add strcase, for strcasecmp().
33806 2011-07-12  Jim Meyering  <meyering@redhat.com>
33808         warn-on-use: fix typo in file name
33809         * modules/snippet/warn-on-use (Files): Correct file name:
33810         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
33812 2011-07-12  Bruno Haible  <bruno@clisp.org>
33814         strings: Document module.
33815         * doc/posix-headers/strings.texi: Mention module 'strings'.
33817 2011-07-12  Bruno Haible  <bruno@clisp.org>
33819         Rename module '_Noreturn' to 'snippet/_Noreturn'.
33820         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
33821         (Files, Makefile.am): Update.
33822         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
33823         * modules/stdlib (Depends-on): Update.
33825 2011-07-12  Bruno Haible  <bruno@clisp.org>
33827         * NEWS: Mention the changes.
33829         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
33830         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
33831         (Files, Makefile.am): Update.
33832         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
33833         * modules/arpa_inet (Depends-on): Update.
33834         * modules/ctype (Depends-on): Update.
33835         * modules/dirent (Depends-on): Update.
33836         * modules/fcntl-h (Depends-on): Update.
33837         * modules/glob (Depends-on): Update.
33838         * modules/iconv-h (Depends-on): Update.
33839         * modules/inttypes-incomplete (Depends-on): Update.
33840         * modules/langinfo (Depends-on): Update.
33841         * modules/locale (Depends-on): Update.
33842         * modules/math (Depends-on): Update.
33843         * modules/netdb (Depends-on): Update.
33844         * modules/poll-h (Depends-on): Update.
33845         * modules/pty (Depends-on): Update.
33846         * modules/search (Depends-on): Update.
33847         * modules/signal (Depends-on): Update.
33848         * modules/spawn (Depends-on): Update.
33849         * modules/stdio (Depends-on): Update.
33850         * modules/stdlib (Depends-on): Update.
33851         * modules/string (Depends-on): Update.
33852         * modules/strings (Depends-on): Update.
33853         * modules/sys_file (Depends-on): Update.
33854         * modules/sys_ioctl (Depends-on): Update.
33855         * modules/sys_select (Depends-on): Update.
33856         * modules/sys_socket (Depends-on): Update.
33857         * modules/sys_stat (Depends-on): Update.
33858         * modules/sys_time (Depends-on): Update.
33859         * modules/sys_times (Depends-on): Update.
33860         * modules/sys_utsname (Depends-on): Update.
33861         * modules/sys_wait (Depends-on): Update.
33862         * modules/termios (Depends-on): Update.
33863         * modules/time (Depends-on): Update.
33864         * modules/unistd (Depends-on): Update.
33865         * modules/wchar (Depends-on): Update.
33866         * modules/wctype-h (Depends-on): Update.
33867         * MODULES.html.sh (Support for building libraries and executables):
33868         Update.
33870         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
33871         * modules/snippet/unused-parameter: Renamed from
33872         modules/unused-parameter.
33873         (Files, Makefile.am): Update.
33874         * build-aux/snippet/unused-parameter.h: Renamed from
33875         build-aux/unused-parameter.h.
33876         * modules/selinux-h (Depends-on): Update.
33877         * modules/unistr/base (Depends-on): Update.
33878         * MODULES.html.sh (Core language properties): Update.
33880         Rename module 'link-warning' to 'snippet/link-warning'.
33881         * modules/snippet/link-warning: Renamed from modules/link-warning.
33882         (Files, Makefile.am): Update.
33883         * build-aux/snippet/link-warning.h: Renamed from
33884         build-aux/link-warning.h.
33885         * MODULES.html.sh (Support for building libraries and executables):
33886         Update.
33888         Rename module 'c++defs' to 'snippet/c++defs'.
33889         * modules/snippet/c++defs: Renamed from modules/c++defs.
33890         (Files, Makefile.am): Update.
33891         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
33892         * modules/arpa_inet (Depends-on): Update.
33893         * modules/ctype (Depends-on): Update.
33894         * modules/dirent (Depends-on): Update.
33895         * modules/fcntl-h (Depends-on): Update.
33896         * modules/glob (Depends-on): Update.
33897         * modules/iconv-h (Depends-on): Update.
33898         * modules/langinfo (Depends-on): Update.
33899         * modules/locale (Depends-on): Update.
33900         * modules/math (Depends-on): Update.
33901         * modules/netdb (Depends-on): Update.
33902         * modules/poll-h (Depends-on): Update.
33903         * modules/pty (Depends-on): Update.
33904         * modules/search (Depends-on): Update.
33905         * modules/signal (Depends-on): Update.
33906         * modules/spawn (Depends-on): Update.
33907         * modules/stdio (Depends-on): Update.
33908         * modules/stdlib (Depends-on): Update.
33909         * modules/string (Depends-on): Update.
33910         * modules/strings (Depends-on): Update.
33911         * modules/sys_ioctl (Depends-on): Update.
33912         * modules/sys_select (Depends-on): Update.
33913         * modules/sys_socket (Depends-on): Update.
33914         * modules/sys_stat (Depends-on): Update.
33915         * modules/sys_time (Depends-on): Update.
33916         * modules/sys_wait (Depends-on): Update.
33917         * modules/termios (Depends-on): Update.
33918         * modules/time (Depends-on): Update.
33919         * modules/unistd (Depends-on): Update.
33920         * modules/wchar (Depends-on): Update.
33921         * modules/wctype-h (Depends-on): Update.
33923         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
33924         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
33925         (Files, Makefile.am): Update.
33926         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
33927         * modules/argv-iter (Depends-on): Update.
33928         * modules/arpa_inet (Depends-on): Update.
33929         * modules/dirent (Depends-on): Update.
33930         * modules/fcntl-h (Depends-on): Update.
33931         * modules/fnmatch (Depends-on): Update.
33932         * modules/getopt-posix (Depends-on): Update.
33933         * modules/glob (Depends-on): Update.
33934         * modules/iconv-h (Depends-on): Update.
33935         * modules/inttypes-incomplete (Depends-on): Update.
33936         * modules/locale (Depends-on): Update.
33937         * modules/math (Depends-on): Update.
33938         * modules/netdb (Depends-on): Update.
33939         * modules/search (Depends-on): Update.
33940         * modules/signal (Depends-on): Update.
33941         * modules/spawn (Depends-on): Update.
33942         * modules/stdio (Depends-on): Update.
33943         * modules/stdlib (Depends-on): Update.
33944         * modules/string (Depends-on): Update.
33945         * modules/strings (Depends-on): Update.
33946         * modules/sys_socket (Depends-on): Update.
33947         * modules/sys_stat (Depends-on): Update.
33948         * modules/sys_time (Depends-on): Update.
33949         * modules/sys_times (Depends-on): Update.
33950         * modules/sys_utsname (Depends-on): Update.
33951         * modules/time (Depends-on): Update.
33952         * modules/unistd (Depends-on): Update.
33953         * modules/wchar (Depends-on): Update.
33954         * MODULES.html.sh (Support for building libraries and executables):
33955         Update.
33957 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
33959         Improvements on _Noreturn and related modules.
33961         modules/_Exit-tests: test _Noreturn too
33962         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
33963         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
33964         (main): Use them.
33966         stdnoreturn, stdnoreturn-tests: remove modules
33967         They're not needed here and a bit premature for use elsewhere.  See
33968         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
33969         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
33970         * tests/test-stdnoreturn.c: Remove files.
33971         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
33972         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
33973         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
33974         and using noreturn.
33975         * modules/openat, modules/sigpipe-die, modules/xalloc:
33976         * modules/xmemdup0, modules/xstrtol:
33977         Remove dependency on stdnoreturn.
33979         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
33980         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
33981         Reparenthesize to avoid GCC warning.
33982         Support Microsoft's syntax.
33983         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
33985         _Noreturn-tests: remove module
33986         * modules/_Noreturn-tests: Remove.
33987         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
33988         * tests/test-_Noreturn.c: Remove.
33989         * tests/test-stdnoreturn.c: Merge from the old
33990         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
33992 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
33994         _Noreturn, stdnoreturn, and related modules.
33996         * top/maint.mk: Adjust to new noreturn support.
33997         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
33998         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
34000         xalloc: use stdnoreturn.h
34001         * lib/xalloc.h: Include <stdnoreturn.h>.
34002         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34003         * modules/xalloc (Depends-on): Add stdnoreturn.
34005         xstrtol: use stdnoreturn.h
34006         * lib/xstrtol.h: Include <stdnoreturn.h>.
34007         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34008         * modules/xstrtol (Depends-on): Add stdnoreturn.
34010         xmemdup0: use stdnoreturn.h
34011         * lib/xmemdup0.h: Include <stdnoreturn.h>.
34012         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34013         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
34015         sigpipe-die: use stdnoreturn.h
34016         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
34017         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34018         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
34020         openat: use stdnoreturn.h
34021         * lib/openat.h: Include <stdnoreturn.h>.
34022         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34023         * modules/openat (Depends-on): Add stdnoreturn.
34025         * lib/openat-die.c (openat_save_fail): Modernize comment.
34027         * lib/xalloc-die.c (xalloc_die): Modernize comment.
34029         * lib/glthread/thread.h: Modernize comment.
34031         obstack: use _Noreturn
34032         * lib/obstack.c (__attribute__): Remove macro.
34033         (print_and_abort): Use _Noreturn.
34035         c-stack: use _Noreturn
34036         * lib/c-stack.c (die, overflow_handler, segv_handler):
34037         Use _Noreturn rather than __attribute__((noreturn)).
34039         argmatch-tests, exclude_tests: use _Noreturn
34040         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
34041         Remove.
34042         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
34044         stdlib: use _Noreturn
34045         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
34046         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
34047         * modules/stdlib (Depends-on): Add _Noreturn.
34048         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
34050         stdnoreturn-tests: new module
34051         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
34053         stdnoreturn: new module
34054         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
34055         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
34057         _Noreturn-tests: new module
34058         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
34060         _Noreturn: new module
34061         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
34062         New section, mentioning it.
34063         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
34065         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
34067 2011-07-11  Eric Blake  <eblake@redhat.com>
34069         ffs: new module
34070         * modules/ffs: New file.
34071         * m4/ffs.m4: Likewise.
34072         * lib/ffs.c: Likewise.
34073         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
34074         * modules/strings (Makefile.am): Substitute witness.
34075         (Depends-on): Add c++defs.
34076         * lib/strings.in.h (ffs): Declare.
34077         * modules/ffs-tests: New test file.
34078         * tests/test-ffs.c: Test new module.
34079         * MODULES.html.sh (Integer arithmetic functions): Mention it.
34080         * doc/posix-functions/ffs.texi (ffs): Likewise.
34082         regex: avoid compiler warning
34083         * lib/regex.c (includes): Include <strings.h>, for use of
34084         strcasecmp in regcomp.c.
34085         Reported by Joachim Schmitz.
34087 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
34089         stdint: respect system's intmax_t if INTMAX_MAX
34090         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
34091         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
34092         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
34093         long but int64_t is long long, and where we will clash with the
34094         system intmax_t if we override it.  See
34095         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
34096         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
34097         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
34098         similarly for UINTMAX_C.
34100 2011-07-08  Bruno Haible  <bruno@clisp.org>
34102         pthread_sigmask tests: Avoid a compiler warning.
34103         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
34104         non-zero.
34106         sigprocmask tests: A better way to avoid a compiler warning.
34107         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
34108         (main): Complain if system() returns non-zero.
34109         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
34111 2011-07-08  Bruno Haible  <bruno@clisp.org>
34113         pthread_sigmask: Work around IRIX bug.
34114         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
34115         bug.
34116         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
34117         there may be unblocked pending signals.
34118         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
34120 2011-07-08  Bruno Haible  <bruno@clisp.org>
34122         pthread_sigmask: Work around Cygwin bug.
34123         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
34124         bug.
34125         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
34126         the system's pthread_sigmask function.
34127         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
34129 2011-07-08  Bruno Haible  <bruno@clisp.org>
34131         pthread_sigmask: Work around bug in single-threaded implementation.
34132         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
34133         FreeBSD, HP-UX, Solaris bug.
34134         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
34135         * lib/pthread_sigmask.c: Include <stddef.h>.
34136         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
34137         the system's pthread_sigmask function.
34138         * modules/pthread_sigmask (configure.ac): Invoke
34139         gl_PREREQ_PTHREAD_SIGMASK.
34140         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
34141         HP-UX, Solaris.
34143 2011-07-08  Eric Blake  <eblake@redhat.com>
34145         test-sigprocmask: avoid compiler warning
34146         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
34147         * tests/test-sigprocmask.c (main): Use it to silence warning.
34148         Reported by Jim Meyering.
34150         test-snprintf: avoid compiler warning
34151         * tests/test-snprintf.c (main): Avoid shadowed declaration.
34152         * tests/test-vsnprintf.c (main): Likewise.
34153         Reported by Jim Meyering.
34155 2011-07-08  Bruno Haible  <bruno@clisp.org>
34157         Tests for module 'pthread_sigmask'.
34158         * modules/pthread_sigmask-tests: New file.
34159         * tests/test-pthread_sigmask1.c: New file, based on
34160         tests/test-sigprocmask.c.
34161         * tests/test-pthread_sigmask2.c: New file.
34163 2011-07-08  Jim Meyering  <meyering@redhat.com>
34165         test-getopt.h: avoid warning about an unused variable
34166         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
34168 2011-07-07  Jim Meyering  <meyering@redhat.com>
34170         maint: reduce list of files exempt from sc_prohibit_leading_TABs
34171         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
34172         now that it no longer contains leading TABs.
34173         Remove unused "url=FIXME" statement.
34175 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
34177         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
34178         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
34179         When gl_THREADLIB is not in use, assume that the POSIX sematics
34180         are desired.  This is better for Emacs, which uses POSIX semantics
34181         on GNUish and/or POSIXish platforms, and does not use threads at
34182         all otherwise.
34184         pthread_sigmask: fix typo when testing for libraries
34185         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
34186         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
34188 2011-07-08  Eric Blake  <eblake@redhat.com>
34190         fts: introduce FTS_NOATIME
34191         * lib/fts_.h (FTS_NOATIME): New bit flag.
34192         (FTS_OPTIONMASK): Adjust.
34193         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
34194         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
34196 2011-07-08  Bruno Haible  <bruno@clisp.org>
34198         Tests for module 'thread'.
34199         * modules/thread-tests: New file.
34200         * tests/test-thread_self.c: New file.
34201         * tests/test-thread_create.cc: New file.
34203 2011-07-08  Bruno Haible  <bruno@clisp.org>
34205         thread: Avoid gcc warnings when using gl_thread_self().
34206         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
34207         'void *'.
34208         (gl_thread_self_pointer): Update.
34210 2011-07-07  Bruno Haible  <bruno@clisp.org>
34212         signal-c++-tests: Check declaration of pthread_sigmask.
34213         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
34214         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
34215         $(LIB_PTHREAD_SIGMASK).
34217 2011-07-07  Bruno Haible  <bruno@clisp.org>
34219         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
34220         * lib/signal.in.h (pthread_sigmask): Override if
34221         REPLACE_PTHREAD_SIGMASK is 1.
34222         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
34223         REPLACE_PTHREAD_SIGMASK.
34224         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
34225         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
34226         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
34227         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
34228         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
34230 2011-07-07  Bruno Haible  <bruno@clisp.org>
34232         pthread_sigmask: Ensure declaration in <signal.h>.
34233         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
34234         include <pthread.h>.
34235         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
34236         problem.
34238 2011-07-07  Bruno Haible  <bruno@clisp.org>
34240         pthread_sigmask: Document the module.
34241         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
34243 2011-07-07  Bruno Haible  <bruno@clisp.org>
34245         pthread_sigmask: Follow gnulib conventions.
34246         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
34247         gl_PTHREAD_SIGMASK.
34248         * modules/pthread_sigmask (configure.ac): Update.
34250 2011-07-07  Bruno Haible  <bruno@clisp.org>
34252         pthread_sigmask: Make declaration C++ safe.
34253         * lib/signal.in.h: In two special conditions, just do an #include_next.
34254         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
34255         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
34256         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
34257         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
34258         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
34259         not REPLACE_PTHREAD_MASK.
34260         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
34261         not REPLACE_PTHREAD_MASK.
34262         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
34264 2011-07-07  Bruno Haible  <bruno@clisp.org>
34266         pthread_sigmask: Fix return value.
34267         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
34268         * lib/pthread_sigmask.c: New file.
34269         * modules/pthread_sigmask (Files): Add it.
34270         (configure.ac): Invoke AC_LIBOBJ.
34272 2011-07-07  Eric Blake  <eblake@redhat.com>
34274         getopt: more portable argv creation
34275         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
34276         const, use char arrays rather than strings.
34277         Suggested by Paul Eggert.
34279 2011-07-07  Bruno Haible  <bruno@clisp.org>
34281         Tests for module 'sigprocmask'.
34282         * modules/sigprocmask-tests: New file.
34283         * tests/test-sigprocmask.c: New file.
34285 2011-07-07  Bruno Haible  <bruno@clisp.org>
34287         float tests: Tweak.
34288         * tests/test-float.c (main): Tweak skip message.
34290 2011-07-07  Eric Blake  <eblake@redhat.com>
34292         getopt: avoid compiler warning during configure
34293         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
34294         assigning string literals to non-const pointer.
34296         getopt-gnu: avoid crash in glibc getopt
34297         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
34298         * tests/test-getopt.h (test_getopt): Enhance test.
34299         * tests/test-getopt_long.h (test_getopt_long): Likewise.
34300         * doc/posix-functions/getopt.texi (getopt): Document it.
34301         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34302         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34303         Likewise.
34305 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
34307         getopt: handle W; without long options in getopt [BZ #12922]
34308         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
34309         but no long options are defined, just return 'W'.
34311 2011-07-07  Bruno Haible  <bruno@clisp.org>
34313         Avoid literal tabs.
34314         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
34315         variable containing a tab instead of a literal tab.
34316         Reported by Jim Meyering.
34318 2011-07-07  Bruno Haible  <bruno@clisp.org>
34320         Comments.
34321         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
34323 2011-07-06  Bruno Haible  <bruno@clisp.org>
34325         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
34326         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
34327         <winsock2.h>.
34328         (rpl_fd_isset, FD_ISSET): New definitions, copied from
34329         lib/sys_socket.in.h.
34330         (close, gethostname): Hide declarations from <winsock2.h>.
34331         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
34332         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
34333         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
34334         (select): Don't override if gnulib's <sys/select.h> was already
34335         included.
34336         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
34337         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
34338         setsockopt, shutdown, select): Tweak indentation.
34340 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34342         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
34343         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
34344         in an application that does not use the sys_select module.
34346 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
34348         poll: do not return 0 on timeout=-1
34349         * lib/poll.c: Loop with yield if no events occurred.
34351 2011-07-06  Eric Blake  <eblake@redhat.com>
34353         pthread_sigmask: always replace when not using pthread
34354         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
34355         replacement when using some threading other than pthread.  Fix
34356         logic bug.
34358 2011-07-06  Bruno Haible  <bruno@clisp.org>
34360         Comments.
34361         * m4/printf.m4: Update comments about mingw.
34363 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34365         sys_select: define sigset_t more portably
34366         * lib/sys_select.in.h: Always include <sys/types.h>, since
34367         we now need sigset_t and mingw defines it there.
34368         Include <signal.h> before split inclusion guard, to avoid
34369         mishaps on Solaris, whose <signal.h> eventually includes us.
34370         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
34371         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
34372         which come from ...
34373         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
34374         gl_CHECK_TYPE_SIGSET_T.
34375         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
34376         does the real work.
34377         * modules/sys_select (Depends-on): Add 'signal'.
34379         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
34380         Suggested by Bruno Haible.
34382         pselect: Use pthread_sigmask, not sigprocmask.
34383         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
34384         multithreaded apps better than sigprocmask does.
34385         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
34386         sigprocmask directly.
34388 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
34390         * lib/pselect.c (pselect): Use plain name, without "rpl_".
34391         Don't #undef,  since we don't need any underlying pselect.
34392         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
34393         (Depends-on): Add select.
34394         (Link): Add $(LIBSOCKET).
34395         These changes suggested by Bruno Haible.
34397         pselect: document better
34398         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
34399         * doc/posix-functions/pselect.texi (pselect): Document new module.
34401         pthread_sigmask: new module
34402         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
34403         * doc/posix-functions/pthread_sigmask.texi: Document new module.
34404         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
34405         This is done only as a macro; I don't know how well that'll
34406         work for C++.  Move <sys/types.h> include before the include_next,
34407         to avoid mishap on Solaris.
34408         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
34409         * modules/signal (Makefile.am): Substitute the check's results.
34410         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
34412         test-pselect: new module
34413         * modules/pselect-tests, tests/test-pselect.c: New files.
34414         * tests/test-select.c, tests/test-sys_select-c++.cc:
34415         If TEST_PSELECT is defined, test pselect instead of testing select.
34417         * tests/test-sys_select.c (sigset_t): Test for it, too.
34418         Suggested by Bruno Haible.
34420 2011-07-05  Eric Blake  <eblake@redhat.com>
34422         snprintf: guarantee %1$d, for libintl
34423         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
34424         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
34425         * doc/posix-functions/snprintf.texi (snprintf): Update.
34426         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
34427         * tests/test-snprintf.c (main): Enhance test.
34428         * tests/test-vsnprintf.c (main): Likewise.
34430 2011-07-05  Jim Meyering  <meyering@redhat.com>
34432         maint: exempt stdio-read.c and stdio-write.c from the cppi check
34433         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
34434         per Bruno's request, to accommodate this idiom (no space after "#")
34435         even when the function is inside an #if block:
34436         char *
34437         gets (char *s)
34438         #undef gets
34439         {
34440           ...
34441         }
34443 2011-07-04  Jim Meyering  <meyering@redhat.com>
34445         maint: indent with spaces, not TABs, and add a rule to check this
34446         * tests/test-userspec.c: Indent with spaces, not TABs.
34447         * tests/test-argp.c: Likewise.
34448         * tests/test-c-stack2.sh: Likewise.
34449         * tests/test-parse-duration.sh: Likewise
34450         * m4/strtod.m4: Likewise.
34451         * m4/alloca.m4: Likewise.
34452         * m4/pselect.m4: Likewise.
34453         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
34455 2011-07-03  Jim Meyering  <meyering@redhat.com>
34457         maint.mk: correct omissions in prohibit_argmatch_without_use check
34458         This rule would mistakenly report that argmatch.h is included without
34459         use even when both the argmatch and invalid_arg macro were used.
34460         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
34461         of argmatch and invalid_arg.
34463 2011-07-03  Bruno Haible  <bruno@clisp.org>
34465         Comments about EINTR.
34466         * lib/safe-read.h: Explain the purpose of this module.
34467         * lib/safe-write.h: Likewise.
34468         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
34469         module.
34470         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
34471         module.
34472         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34474 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
34476         xnanosleep: Rewrite to use new dtotimespec module.
34477         It has the conversion code that used to be in xnanosleep.
34478         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
34479         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
34480         (TIME_T_MAX): Remove.
34481         (xnanosleep): Rewrite in terms of dtotimespec.
34482         * modules/xnanosleep (Depends-on): Add dtotimespec.
34483         Remove intprops, stdbool.
34485         timespec-add, timespec-sub: new modules
34486         * lib/timespec.h (timespec_add, timespec_sub): New decls.
34487         * lib/timespec-add.c, lib/timespec-sub.c:
34488         * modules/timespec-add, modules/timespec-sub: New files.
34490         dtotimespec: new module
34491         * lib/timespec.h (dtotimespec): New decl.
34492         * lib/dtotimespec.c, modules/dtotimespec: New files.
34494         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
34496         pselect: new module
34497         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
34498         (pselect): New decls.
34499         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
34500         since the standard pselect decl uses 'restrict'.
34501         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
34502         HAVE_PSELECT, REPLACE_PSELECT.
34503         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
34504         HAVE_PSELECT, REPLACE_PSELECT.
34505         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
34507         sys_select: don't depend on sys_socket
34508         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
34509         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
34510         This fix works on GNU and GNU-like platforms, but has not been tested
34511         on native Windows.
34512         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
34513         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
34514         gl_HEADER_SYS_SOCKET.
34515         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
34516         gl_PREREQ_SYS_H_WINSOCK2.
34518 2011-06-29  Eric Blake  <eblake@redhat.com>
34520         pipe2: fix C89 compile problem
34521         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
34522         Reported by Bruno Haible.
34524         pipe, pipe2: don't corrupt fd on error
34525         * lib/pipe.c (pipe): Leave fd unchanged on error.
34526         * lib/pipe2.c (pipe2): Likewise.
34527         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
34528         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
34530 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
34532         mmap-anon: do not use regular expressions inadvertently
34533         * m4/mmap-anon.m4: Remove trailing period from strings sought
34534         in the output.
34536 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
34538         nanosleep: fix integer overflow problem
34539         * lib/nanosleep.c (my_usleep): Don't assume signed integer
34540         arithmetic wraps around on overflow.
34542         nanosleep: simplify carrying
34543         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
34544         first call to the underyling nanosleep, not for the last one.
34545         This doesn't fix any bugs, but it simplifies the computation of
34546         the remaining delay.  Found while auditing integer overflow issues.
34548         dup2: remove test for existence of fcntl
34549         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
34550         "#if HAVE_FCNTL", in the configure-time test program.
34551         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
34552         and therefore speeds up "configure" a bit.  Found while
34553         adding the dup2 module to Emacs.
34555 2011-06-24  Eric Blake  <eblake@redhat.com>
34557         maint.mk: enhance useless header checks
34558         * top/maint.mk (_sc_header_without_use): Check both include
34559         styles.
34560         (sc_prohibit_assert_without_use)
34561         (sc_prohibit_close_stream_without_use)
34562         (sc_prohibit_getopt_without_use)
34563         (sc_prohibit_quotearg_without_use)
34564         (sc_prohibit_quote_without_use)
34565         (sc_prohibit_long_options_without_use)
34566         (sc_prohibit_inttostr_without_use)
34567         (sc_prohibit_ignore_value_without_use)
34568         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
34569         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
34570         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
34571         (sc_prohibit_hash_pjw_without_use)
34572         (sc_prohibit_safe_read_without_use)
34573         (sc_prohibit_argmatch_without_use)
34574         (sc_prohibit_canonicalize_without_use)
34575         (sc_prohibit_root_dev_ino_without_use)
34576         (sc_prohibit_openat_without_use)
34577         (sc_prohibit_c_ctype_without_use)
34578         (sc_prohibit_signal_without_use)
34579         (sc_prohibit_stdio--_without_use)
34580         (sc_prohibit_stdio-safer_without_use)
34581         (sc_prohibit_strings_without_use)
34582         (sc_prohibit_intprops_without_use)
34583         (sc_prohibit_stddef_without_use)
34584         (sc_prohibit_xfreopen_without_use): Update clients.
34586 2011-06-24  Jim Meyering  <meyering@redhat.com>
34588         syntax-check: keep one maint.mk rule in sync with its header
34589         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
34590         of the bug Eric has just fixed, with today's commit 25e4c2ec.
34591         I prefer to avoid temporary files here, so use <(...), but that
34592         is not supported by /bin/sh, so...
34593         (SHELL): Define to /bin/bash.
34595 2011-06-24  Eric Blake  <eblake@redhat.com>
34597         maint.mk: update sc_prohibit_intprops_without_use
34598         * top/maint.mk (_intprops_names): Match recent changes.
34600 2011-06-24  Bruno Haible  <bruno@clisp.org>
34602         strerror-override: No-op tweak.
34603         * lib/strerror-override.h (strerror_override): Reorder conditions,
34604         for consistency with lib/strerror-override.c.
34606 2011-06-23  Eric Blake  <eblake@redhat.com>
34608         maint.mk: test further PATH_MAX issues
34609         * top/maint.mk (sc_prohibit_path_max_array): Rename...
34610         (sc_prohibit_path_max_allocation): ...and also test alloca.
34611         Suggested by Jim Meyering.
34613 2011-06-22  Eric Blake  <eblake@redhat.com>
34615         maint.mk: add syntax-check to avoid char[PATH_MAX]
34616         * top/maint.mk (sc_prohibit_path_max_array): New rule.
34618         stat: be robust to PATH_MAX definition
34619         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
34620         * modules/stat (Depends-on): Add verify.
34622         link: work around IRIX bug
34623         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
34624         * lib/link.c (rpl_link): Work around it.
34625         * tests/test-link.h (test_link): Enhance test.
34626         * doc/posix-functions/link.texi (link): Document the bug.
34628         getopt: silence clang warning
34629         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
34630         dereference.
34631         Reported by Gustavo Martin Domato.
34633 2011-06-22  Jim Meyering  <meyering@redhat.com>
34635         bootstrap: do not insert a blank line into each .gitignore file
34636         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
34638 2011-06-21  Eric Blake  <eblake@redhat.com>
34640         perror: test for output mismatch
34641         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
34642         perror on IRIX.
34644         strerror_r: fix OpenBSD behavior on out-of-range
34645         * lib/strerror_r.c (strerror_r): Always use maximal string.
34646         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
34648         strerror_r: fix OpenBSD behavior on 0
34649         * lib/strerror-override.c (strerror_override): Also override 0
34650         when needed.
34651         * lib/strerror-override.h (strerror_override): Likewise.
34652         * lib/strerror.c (strerror): Simplify, now that 0 override is done
34653         earlier.
34654         * lib/strerror_r.c (strerror_r): Likewise.
34655         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
34656         behavior...
34657         (gl_FUNC_STRERROR_0): ...into new macro.
34658         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
34659         is overridden.
34660         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
34661         * modules/strerror-override (Files): Add strerror.m4.
34662         (configure.ac): Also provide override for 0 when needed.
34663         * doc/posix-functions/strerror.texi (strerror): Document this.
34664         * doc/posix-functions/perror.texi (perror): Likewise.
34666         perror: adjust array size
34667         * modules/perror (Depends-on): Add strerror-override.
34668         * lib/perror.c (perror): Use it to avoid magic number.
34670         strerror-override: reduce size
34671         * lib/strerror-override.c (strerror_override): Use fewer lines.
34673 2011-06-20  Bruno Haible  <bruno@clisp.org>
34675         pathmax: Ensure correct value for PATH_MAX on HP-UX.
34676         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
34678 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
34680         alloca: port to compilers that can optimize like GCC 4.6.0
34681         * lib/alloca.c (find_stack_direction): New signature, taken from
34682         Autoconf git.  This works with GCC 4.6.0.  This code should never
34683         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
34684         be used with other compilers that optimize as well as GCC 4.6.0 does.
34685         (alloca): Adjust to new signature.
34686         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
34687         New macro, which patches Autoconf in a similar way.
34689         c-stack: stop worrying about stack direction
34690         * lib/c-stack.c (find_stack_direction): Remove.
34691         (segv_handler): Don't worry about stack direction growth, as it's
34692         too much of a pain to configure this correctly, given how compilers
34693         are optimizing-away our stack-growth detection code.  Instead, assume
34694         that any access to just before or just after the stack is OK.
34695         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
34696         Don't require AC_FUNC_ALLOCA; no longer needed.
34698 2011-06-20  Eric Blake  <eblake@redhat.com>
34700         test-stat: don't allocate PATH_MAX bytes
34701         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
34702         PATH_MAX-sized buffer.
34703         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
34704         * modules/stat-tests (Depends-on): Likewise.
34705         * tests/test-fstatat.c (includes): Drop pathmax.h.
34706         * tests/test-stat.c (includes): Likewise.
34707         Reported by Bruno Haible.
34709 2011-06-20  Bruno Haible  <bruno@clisp.org>
34711         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
34712         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
34713         * lib/float.c: New file.
34714         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
34715         REPLACE_FLOAT_LDBL.
34716         * modules/float (Files): Add lib/float.c.
34717         (configure.ac): Invoke AC_LIBOBJ.
34718         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
34720 2011-06-20  Bruno Haible  <bruno@clisp.org>
34722         Tests for module 'float'.
34723         * modules/float-tests: New file.
34724         * tests/test-float.c: New file.
34726 2011-06-19  Bruno Haible  <bruno@clisp.org>
34728         isinf: Coding style.
34729         * lib/isinf.c: Use GNU coding style.
34731 2011-06-19  Bruno Haible  <bruno@clisp.org>
34733         linkat test: Avoid test failure on AIX 7.1.
34734         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
34735         * tests/test-link.h (test_link): Likewise.
34737 2011-06-19  Bruno Haible  <bruno@clisp.org>
34739         pread test: Avoid test failure on OpenBSD 4.9.
34740         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
34742 2011-06-19  Bruno Haible  <bruno@clisp.org>
34744         sprintf-posix: Fix test failure on AIX 7.1.
34745         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
34746         * doc/posix-functions/dprintf.texi: Mention limited precision problem
34747         on AIX.
34748         * doc/posix-functions/fprintf.texi: Likewise.
34749         * doc/posix-functions/printf.texi: Likewise.
34750         * doc/posix-functions/snprintf.texi: Likewise.
34751         * doc/posix-functions/sprintf.texi: Likewise.
34752         * doc/posix-functions/vdprintf.texi: Likewise.
34753         * doc/posix-functions/vfprintf.texi: Likewise.
34754         * doc/posix-functions/vprintf.texi: Likewise.
34755         * doc/posix-functions/vsnprintf.texi: Likewise.
34756         * doc/posix-functions/vsprintf.texi: Likewise.
34758 2011-06-19  Bruno Haible  <bruno@clisp.org>
34760         roundl-ieee: Fix test failure on AIX 7.1.
34761         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
34762         * doc/posix-functions/roundl.texi: Mention problem with negative
34763         arguments.
34765 2011-06-19  Bruno Haible  <bruno@clisp.org>
34767         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
34768         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
34769         * doc/posix-functions/round.texi: Mention problem with negative
34770         arguments.
34771         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
34773 2011-06-19  Bruno Haible  <bruno@clisp.org>
34775         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
34776         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
34777         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
34778         * doc/posix-functions/roundf.texi: Mention problem with negative
34779         arguments.
34780         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
34782 2011-06-19  Bruno Haible  <bruno@clisp.org>
34784         ceilf-ieee: Work around bug on MacOS X 10.5.
34785         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
34787         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
34788         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
34789         IEEE compliant, avoid compiler optimizations.
34790         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
34791         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
34792         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
34793         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34794         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34795         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
34796         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34797         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
34798         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
34799         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
34801 2011-06-19  Bruno Haible  <bruno@clisp.org>
34803         ceilf-ieee: Work around bug on AIX 7.1.
34804         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
34805         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
34807 2011-06-19  Bruno Haible  <bruno@clisp.org>
34809         ceil-ieee: Work around bug on AIX 7.1.
34810         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
34811         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
34813 2011-06-18  Bruno Haible  <bruno@clisp.org>
34815         fsync test: Avoid test failure on MacOS X and AIX.
34816         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
34817         EINVAL.
34819 2011-06-18  Bruno Haible  <bruno@clisp.org>
34821         openat, fdopendir tests: Fix link errors.
34822         * modules/openat-tests (Depends-on): Add progname.
34823         * modules/fdopendir-tests (Depends-on): Likewise.
34824         * tests/test-fchownat.c: Include progname.h.
34825         (main): Call set_program_name.
34826         * tests/test-fstatat.c: Include progname.h.
34827         (main): Call set_program_name.
34828         * tests/test-mkdirat.c: Include progname.h.
34829         (main): Call set_program_name.
34830         * tests/test-openat.c: Include progname.h.
34831         (main): Call set_program_name.
34832         * tests/test-unlinkat.c: Include progname.h.
34833         (main): Call set_program_name.
34834         * tests/test-fdopendir.c: Include progname.h.
34835         (main): Call set_program_name.
34837 2011-06-18  Bruno Haible  <bruno@clisp.org>
34839         Doc update.
34840         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
34841         HP-UX.
34842         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
34844 2011-06-18  Bruno Haible  <bruno@clisp.org>
34846         getcwd tests: Avoid compilation error on HP-UX 11.31.
34847         * modules/getcwd-tests (Depends-on): Add pathmax.
34848         * tests/test-getcwd.c: Include pathmax.h.
34850 2011-06-18  Bruno Haible  <bruno@clisp.org>
34852         isfinite, isinf: Fix link error on AIX 6 and 7.
34853         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
34854         needed, also test the macro with a 'float' argument.
34855         * m4/isinf.m4 (gl_ISINF): Likewise.
34857 2011-06-18  Bruno Haible  <bruno@clisp.org>
34859         getloadavg: Don't clobber LIBS. Regression from previous commit.
34860         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
34861         AC_CHECK_LIB from here...
34862         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
34863         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
34864         gl_func_getloadavg_done.
34865         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34867 2011-06-18  Bruno Haible  <bruno@clisp.org>
34869         clean-temp: Improve documentation.
34870         * lib/clean-temp.h: Explain better how to use this module.
34871         Reported by John Darrington <john@darrington.wattle.id.au>.
34873 2011-06-17  Bruno Haible  <bruno@clisp.org>
34875         pread, pwrite: Avoid cc warning on AIX.
34876         * lib/unistd.in.h (pread): Undefine before defining as a macro.
34877         (pwrite): Likewise.
34879 2011-06-17  Bruno Haible  <bruno@clisp.org>
34881         spawn-pipe tests: Fix link error.
34882         * tests/test-spawn-pipe-child.c: Undefine fprintf.
34883         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34885 2011-06-17  Bruno Haible  <bruno@clisp.org>
34887         Tests: Remove unnecessary dependency.
34888         * modules/canonicalize-tests (Depends-on): Remove progname.
34889         * modules/chown-tests (Depends-on): Likewise.
34890         * modules/dirname-tests (Depends-on): Likewise.
34891         * modules/fdopendir-tests (Depends-on): Likewise.
34892         * modules/fdutimensat-tests (Depends-on): Likewise.
34893         * modules/hash-tests (Depends-on): Likewise.
34894         * modules/lchown-tests (Depends-on): Likewise.
34895         * modules/linkat-tests (Depends-on): Likewise.
34896         * modules/renameat-tests (Depends-on): Likewise.
34897         * modules/spawn-pipe-tests (Depends-on): Likewise.
34898         * modules/utimensat-tests (Depends-on): Likewise.
34900 2011-06-17  Bruno Haible  <bruno@clisp.org>
34902         spawn-pipe tests: Fix link error.
34903         * tests/test-spawn-pipe-child.c: Undefine fflush.
34905 2011-06-17  Bruno Haible  <bruno@clisp.org>
34907         Fix tests link errors.
34908         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
34909         * modules/chown-tests (Makefile.am): Don't link test-chown with
34910         LIBINTL.
34911         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
34912         LIBINTL.
34913         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
34914         LIBINTL.
34915         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
34916         LIBINTL.
34918 2011-06-16  Bruno Haible  <bruno@clisp.org>
34920         crypto/gc-sha1: Fix recent regression.
34921         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
34922         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
34924         crypto/gc-md5: Fix recent regression.
34925         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
34927         crypto/gc-md4: Fix recent regression.
34928         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
34929         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
34931         crypto/gc-arctwo: Fix recent regression.
34932         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
34933         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
34935         crypto/gc-rijndael: Fix recent regression.
34936         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
34937         (configure.ac): Invoke AC_LIBOBJ here.
34938         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
34939         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34941         crypto/gc-hmac-sha1: Fix recent regression.
34942         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
34943         (configure.ac): Invoke AC_LIBOBJ here.
34944         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
34945         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34947         crypto/gc-hmac-md5: Fix recent regression.
34948         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
34949         (configure.ac): Invoke AC_LIBOBJ here.
34950         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
34951         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34953         crypto/gc-des: Fix recent regression.
34954         * modules/crypto/gc-des (Files): Remove m4/des.m4.
34955         (configure.ac): Invoke AC_LIBOBJ here.
34956         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
34957         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34959         crypto/gc-arcfour: Fix recent regression.
34960         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
34961         (configure.ac): Invoke AC_LIBOBJ here.
34962         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
34963         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34965 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
34967         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
34968         After the 2011-05-21 change, this macro requires
34969         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
34970         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
34972 2011-06-16  Bruno Haible  <bruno@clisp.org>
34974         fprintftime: Move AC_LIBOBJ invocations to module description.
34975         * m4/fprintftime.m4: Remove file.
34976         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
34977         (configure.ac): Remove gl_FPRINTFTIME call.
34978         (Makefile.am): Augment lib_SOURCES.
34979         Reported by Jim Meyering.
34981 2011-06-16  Bruno Haible  <bruno@clisp.org>
34983         tmpfile-safer: Finish 2011-05-23 commit.
34984         * m4/stdio-safer.m4: Really remove file.
34985         Reported by Jim Meyering.
34987 2011-06-16  Bruno Haible  <bruno@clisp.org>
34989         syntax-check: Fix typo.
34990         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
34991         printf-posix.m4.
34992         Reported by Jim Meyering.
34994 2011-06-13  Jim Meyering  <meyering@redhat.com>
34996         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
34997         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
34999 2011-05-23  Bruno Haible  <bruno@clisp.org>
35001         yesno: Move AC_LIBOBJ invocations to module description.
35002         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
35003         * modules/yesno (Makefile.am): Augment lib_SOURCES.
35005 2011-05-23  Bruno Haible  <bruno@clisp.org>
35007         xstrtol: Move AC_LIBOBJ invocations to module description.
35008         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
35009         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
35011 2011-05-23  Bruno Haible  <bruno@clisp.org>
35013         xstrtold: Move AC_LIBOBJ invocations to module description.
35014         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
35015         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
35017 2011-05-23  Bruno Haible  <bruno@clisp.org>
35019         xstrtod: Move AC_LIBOBJ invocations to module description.
35020         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
35021         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
35023 2011-05-23  Bruno Haible  <bruno@clisp.org>
35025         xnanosleep: Move AC_LIBOBJ invocations to module description.
35026         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
35027         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
35029 2011-05-23  Bruno Haible  <bruno@clisp.org>
35031         xgetcwd: Move AC_LIBOBJ invocations to module description.
35032         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
35033         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
35035 2011-05-23  Bruno Haible  <bruno@clisp.org>
35037         xalloc: Move AC_LIBOBJ invocations to module description.
35038         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
35039         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
35041 2011-05-23  Bruno Haible  <bruno@clisp.org>
35043         write-any-file: Move AC_LIBOBJ invocations to module description.
35044         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
35045         invocation.
35046         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
35048 2011-05-23  Bruno Haible  <bruno@clisp.org>
35050         utimens: Move AC_LIBOBJ invocations to module description.
35051         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
35052         * modules/utimens (Makefile.am): Augment lib_SOURCES.
35054 2011-05-23  Bruno Haible  <bruno@clisp.org>
35056         utimecmp: Move AC_LIBOBJ invocations to module description.
35057         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
35058         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
35060 2011-05-23  Bruno Haible  <bruno@clisp.org>
35062         userspec: Move AC_LIBOBJ invocations to module description.
35063         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
35064         * modules/userspec (Makefile.am): Augment lib_SOURCES.
35066 2011-05-23  Bruno Haible  <bruno@clisp.org>
35068         unlinkdir: Move AC_LIBOBJ invocations to module description.
35069         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
35070         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
35072 2011-05-23  Bruno Haible  <bruno@clisp.org>
35074         unistd-safer: Move AC_LIBOBJ invocations to module description.
35075         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
35076         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
35078 2011-05-23  Bruno Haible  <bruno@clisp.org>
35080         tempname: Move AC_LIBOBJ invocations to module description.
35081         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
35082         * modules/tempname (Makefile.am): Augment lib_SOURCES.
35084 2011-05-23  Bruno Haible  <bruno@clisp.org>
35086         strftime: Move AC_LIBOBJ invocations to module description.
35087         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
35088         * modules/strftime (Makefile.am): Augment lib_SOURCES.
35090 2011-05-23  Bruno Haible  <bruno@clisp.org>
35092         stdlib-safer: Move AC_LIBOBJ invocations to module description.
35093         * m4/stdlib-safer.m4: Remove file.
35094         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
35095         (configure.ac): Remove gl_STDLIB_SAFER call.
35096         (Makefile.am): Augment lib_SOURCES.
35098 2011-05-23  Bruno Haible  <bruno@clisp.org>
35100         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
35101         * m4/stdio-safer.m4: Remove file.
35102         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
35103         (configure.ac): Remove gl_TMPFILE_SAFER call.
35104         (Makefile.am): Augment lib_SOURCES.
35106 2011-05-23  Bruno Haible  <bruno@clisp.org>
35108         popen-safer: Move AC_LIBOBJ invocations to module description.
35109         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
35110         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
35111         (configure.ac): Remove gl_POPEN_SAFER call.
35112         (Makefile.am): Augment lib_SOURCES.
35114 2011-05-23  Bruno Haible  <bruno@clisp.org>
35116         freopen-safer: Move AC_LIBOBJ invocations to module description.
35117         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
35118         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
35119         (configure.ac): Remove gl_FREOPEN_SAFER call.
35120         (Makefile.am): Augment lib_SOURCES.
35122 2011-05-23  Bruno Haible  <bruno@clisp.org>
35124         fopen-safer: Move AC_LIBOBJ invocations to module description.
35125         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
35126         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
35127         (configure.ac): Remove gl_FOPEN_SAFER call.
35128         (Makefile.am): Augment lib_SOURCES.
35130 2011-05-23  Bruno Haible  <bruno@clisp.org>
35132         crypto/sha512: Move AC_LIBOBJ invocations to module description.
35133         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
35134         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
35136 2011-05-23  Bruno Haible  <bruno@clisp.org>
35138         crypto/sha256: Move AC_LIBOBJ invocations to module description.
35139         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
35140         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
35142 2011-05-23  Bruno Haible  <bruno@clisp.org>
35144         crypto/sha1: Move AC_LIBOBJ invocations to module description.
35145         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
35146         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
35148 2011-05-23  Bruno Haible  <bruno@clisp.org>
35150         settime: Move AC_LIBOBJ invocations to module description.
35151         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
35152         * modules/settime (Makefile.am): Augment lib_SOURCES.
35154 2011-05-23  Bruno Haible  <bruno@clisp.org>
35156         savedir: Move AC_LIBOBJ invocations to module description.
35157         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
35158         * modules/savedir (Makefile.am): Augment lib_SOURCES.
35160 2011-05-23  Bruno Haible  <bruno@clisp.org>
35162         save-cwd: Move AC_LIBOBJ invocations to module description.
35163         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
35164         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
35166 2011-05-23  Bruno Haible  <bruno@clisp.org>
35168         same: Move AC_LIBOBJ invocations to module description.
35169         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
35170         * modules/same (Makefile.am): Augment lib_SOURCES.
35172 2011-05-23  Bruno Haible  <bruno@clisp.org>
35174         safe-write: Move AC_LIBOBJ invocations to module description.
35175         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
35176         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
35177         instead of gl_SAFE_WRITE.
35178         (Makefile.am): Augment lib_SOURCES.
35180 2011-05-23  Bruno Haible  <bruno@clisp.org>
35182         safe-read: Move AC_LIBOBJ invocations to module description.
35183         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
35184         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
35185         of gl_SAFE_READ.
35186         (Makefile.am): Augment lib_SOURCES.
35188 2011-05-23  Bruno Haible  <bruno@clisp.org>
35190         safe-alloc: Move AC_LIBOBJ invocations to module description.
35191         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
35192         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
35194 2011-05-23  Bruno Haible  <bruno@clisp.org>
35196         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
35197         * m4/rijndael.m4: Remove file.
35198         * modules/crypto/rijndael (Files): Remove it.
35199         (configure.ac): Remove gl_RIJNDAEL call.
35200         (Makefile.am): Augment lib_SOURCES.
35202 2011-05-23  Bruno Haible  <bruno@clisp.org>
35204         readtokens: Move AC_LIBOBJ invocations to module description.
35205         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
35206         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
35208 2011-05-23  Bruno Haible  <bruno@clisp.org>
35210         read-file: Move AC_LIBOBJ invocations to module description.
35211         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
35212         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
35213         of gl_FUNC_READ_FILE.
35214         (Makefile.am): Augment lib_SOURCES.
35216 2011-05-23  Bruno Haible  <bruno@clisp.org>
35218         quotearg: Move AC_LIBOBJ invocations to module description.
35219         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
35220         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
35222 2011-05-23  Bruno Haible  <bruno@clisp.org>
35224         quote: Move AC_LIBOBJ invocations to module description.
35225         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
35226         * modules/quote (Makefile.am): Augment lib_SOURCES.
35228 2011-05-23  Bruno Haible  <bruno@clisp.org>
35230         posixver: Move AC_LIBOBJ invocations to module description.
35231         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
35232         * modules/posixver (Makefile.am): Augment lib_SOURCES.
35234 2011-05-23  Bruno Haible  <bruno@clisp.org>
35236         posixtm: Move AC_LIBOBJ invocations to module description.
35237         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
35238         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
35240 2011-05-23  Bruno Haible  <bruno@clisp.org>
35242         physmem: Move AC_LIBOBJ invocations to module description.
35243         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
35244         * modules/physmem (Makefile.am): Augment lib_SOURCES.
35246 2011-05-23  Bruno Haible  <bruno@clisp.org>
35248         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
35249         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
35250         invocation.
35251         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
35253 2011-05-23  Bruno Haible  <bruno@clisp.org>
35255         mpsort: Move AC_LIBOBJ invocations to module description.
35256         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
35257         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
35259 2011-05-23  Bruno Haible  <bruno@clisp.org>
35261         modechange: Move AC_LIBOBJ invocations to module description.
35262         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
35263         * modules/modechange (Makefile.am): Augment lib_SOURCES.
35265 2011-05-23  Bruno Haible  <bruno@clisp.org>
35267         mkdir-p: Move AC_LIBOBJ invocations to module description.
35268         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
35269         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
35271 2011-05-23  Bruno Haible  <bruno@clisp.org>
35273         mkancesdirs: Move AC_LIBOBJ invocations to module description.
35274         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
35275         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
35277 2011-05-23  Bruno Haible  <bruno@clisp.org>
35279         mgetgroups: Move AC_LIBOBJ invocations to module description.
35280         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
35281         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
35283 2011-05-23  Bruno Haible  <bruno@clisp.org>
35285         memxor: Move AC_LIBOBJ invocations to module description.
35286         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
35287         * modules/memxor (Makefile.am): Augment lib_SOURCES.
35289 2011-05-23  Bruno Haible  <bruno@clisp.org>
35291         memcoll: Move AC_LIBOBJ invocations to module description.
35292         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
35293         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
35295 2011-05-23  Bruno Haible  <bruno@clisp.org>
35297         memcasecmp: Move AC_LIBOBJ invocations to module description.
35298         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
35299         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
35301 2011-05-23  Bruno Haible  <bruno@clisp.org>
35303         crypto/md5: Move AC_LIBOBJ invocations to module description.
35304         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
35305         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
35307 2011-05-23  Bruno Haible  <bruno@clisp.org>
35309         crypto/md4: Move AC_LIBOBJ invocations to module description.
35310         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
35311         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
35313 2011-05-23  Bruno Haible  <bruno@clisp.org>
35315         crypto/md2: Move AC_LIBOBJ invocations to module description.
35316         * m4/md2.m4: Remove file.
35317         * modules/crypto/md2 (Files): Remove it.
35318         (configure.ac): Remove gl_MD2 call.
35319         (Makefile.am): Augment lib_SOURCES.
35321 2011-05-23  Bruno Haible  <bruno@clisp.org>
35323         long-options: Move AC_LIBOBJ invocations to module description.
35324         * m4/long-options.m4: Remove file.
35325         * modules/long-options (Files): Remove it.
35326         (configure.ac): Remove gl_LONG_OPTIONS call.
35327         (Makefile.am): Augment lib_SOURCES.
35329 2011-05-23  Bruno Haible  <bruno@clisp.org>
35331         i-ring: Move AC_LIBOBJ invocations to module description.
35332         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
35333         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
35335 2011-05-23  Bruno Haible  <bruno@clisp.org>
35337         idcache: Move AC_LIBOBJ invocations to module description.
35338         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
35339         * modules/idcache (Makefile.am): Augment lib_SOURCES.
35341 2011-05-23  Bruno Haible  <bruno@clisp.org>
35343         human: Move AC_LIBOBJ invocations to module description.
35344         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
35345         * modules/human (Makefile.am): Augment lib_SOURCES.
35347 2011-05-23  Bruno Haible  <bruno@clisp.org>
35349         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
35350         * m4/hmac-sha1.m4: Remove file.
35351         * modules/crypto/hmac-sha1 (Files): Remove it.
35352         (configure.ac): Remove gl_HMAC_SHA1 call.
35353         (Makefile.am): Augment lib_SOURCES.
35355 2011-05-23  Bruno Haible  <bruno@clisp.org>
35357         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
35358         * m4/hmac-md5.m4: Remove file.
35359         * modules/crypto/hmac-md5 (Files): Remove it.
35360         (configure.ac): Remove gl_HMAC_MD5 call.
35361         (Makefile.am): Augment lib_SOURCES.
35363 2011-05-23  Bruno Haible  <bruno@clisp.org>
35365         hash: Move AC_LIBOBJ invocations to module description.
35366         * m4/hash.m4: Remove file.
35367         * modules/hash (Files): Remove it.
35368         (configure.ac): Remove gl_HASH call.
35369         (Makefile.am): Augment lib_SOURCES.
35371 2011-05-23  Bruno Haible  <bruno@clisp.org>
35373         hard-locale: Move AC_LIBOBJ invocations to module description.
35374         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
35375         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
35377 2011-05-23  Bruno Haible  <bruno@clisp.org>
35379         getugroups: Move AC_LIBOBJ invocations to module description.
35380         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
35381         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
35383 2011-05-23  Bruno Haible  <bruno@clisp.org>
35385         gettime: Move AC_LIBOBJ invocations to module description.
35386         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
35387         * modules/gettime (Makefile.am): Augment lib_SOURCES.
35389 2011-05-23  Bruno Haible  <bruno@clisp.org>
35391         getndelim2: Move AC_LIBOBJ invocations to module description.
35392         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
35393         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
35395 2011-05-23  Bruno Haible  <bruno@clisp.org>
35397         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
35398         * m4/gc-pbkdf2-sha1.m4: Remove file.
35399         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
35400         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
35401         (Makefile.am): Augment lib_SOURCES.
35403 2011-05-23  Bruno Haible  <bruno@clisp.org>
35405         fts: Move AC_LIBOBJ invocations to module description.
35406         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
35407         * modules/fts (configure.ac): ... to here.
35409 2011-05-23  Bruno Haible  <bruno@clisp.org>
35411         file-type: Move AC_LIBOBJ invocations to module description.
35412         * m4/file-type.m4: Remove file.
35413         * modules/file-type (Files): Remove it.
35414         (configure.ac): Remove gl_FILE_TYPE call.
35415         (Makefile.am): Augment lib_SOURCES.
35417 2011-05-23  Bruno Haible  <bruno@clisp.org>
35419         filenamecat*: Respect rules for use of AC_LIBOBJ.
35420         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
35421         Remove AC_LIBOBJ invocation.
35422         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
35423         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
35425 2011-05-23  Bruno Haible  <bruno@clisp.org>
35427         filemode: Move AC_LIBOBJ invocations to module description.
35428         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
35429         * modules/filemode (Makefile.am): Augment lib_SOURCES.
35431 2011-05-23  Bruno Haible  <bruno@clisp.org>
35433         openat-safer: Move AC_LIBOBJ invocations to module description.
35434         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
35435         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
35437 2011-05-23  Bruno Haible  <bruno@clisp.org>
35439         fcntl-safer: Move AC_LIBOBJ invocations to module description.
35440         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
35441         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
35443 2011-05-23  Bruno Haible  <bruno@clisp.org>
35445         exclude: Move AC_LIBOBJ invocations to module description.
35446         * m4/exclude.m4: Remove file.
35447         * modules/exclude (Files): Remove it.
35448         (configure.ac): Remove gl_EXCLUDE call.
35449         (Makefile.am): Augment lib_SOURCES.
35451 2011-05-23  Bruno Haible  <bruno@clisp.org>
35453         dirname*: Respect rules for use of AC_LIBOBJ.
35454         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
35455         invocations.
35456         * modules/dirname (Makefile.am): Augment lib_SOURCES.
35457         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
35459 2011-05-23  Bruno Haible  <bruno@clisp.org>
35461         dirent-safer: Move AC_LIBOBJ invocations to module description.
35462         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
35463         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
35465 2011-05-23  Bruno Haible  <bruno@clisp.org>
35467         crypto/des: Move AC_LIBOBJ invocations to module description.
35468         * m4/des.m4: Remove file.
35469         * modules/crypto/des (Files): Remove it.
35470         (configure.ac): Remove gl_DES call.
35471         (Makefile.am): Augment lib_SOURCES.
35473 2011-05-23  Bruno Haible  <bruno@clisp.org>
35475         cycle-check: Move AC_LIBOBJ invocations to module description.
35476         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
35477         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
35479 2011-05-23  Bruno Haible  <bruno@clisp.org>
35481         c-strtold: Move AC_LIBOBJ invocations to module description.
35482         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
35483         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
35485 2011-05-23  Bruno Haible  <bruno@clisp.org>
35487         c-strtod: Move AC_LIBOBJ invocations to module description.
35488         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
35489         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
35491 2011-05-23  Bruno Haible  <bruno@clisp.org>
35493         crc: Move AC_LIBOBJ invocations to module description.
35494         * m4/crc.m4: Remove file.
35495         * modules/crc (Files): Remove it.
35496         (configure.ac): Remove gl_CRC call.
35497         (Makefile.am): Augment lib_SOURCES.
35499 2011-05-23  Bruno Haible  <bruno@clisp.org>
35501         close-stream: Move AC_LIBOBJ invocations to module description.
35502         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
35503         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
35505 2011-05-23  Bruno Haible  <bruno@clisp.org>
35507         closeout: Move AC_LIBOBJ invocations to module description.
35508         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
35509         * modules/closeout (Makefile.am): Augment lib_SOURCES.
35511 2011-05-23  Bruno Haible  <bruno@clisp.org>
35513         closein: Move AC_LIBOBJ invocations to module description.
35514         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
35515         * modules/closein (Makefile.am): Augment lib_SOURCES.
35517 2011-05-23  Bruno Haible  <bruno@clisp.org>
35519         cloexec: Move AC_LIBOBJ invocations to module description.
35520         * m4/cloexec.m4: Remove file.
35521         * modules/cloexec (Files): Remove it.
35522         (configure.ac): Remove gl_CLOEXEC call.
35523         (Makefile.am): Augment lib_SOURCES.
35525 2011-05-23  Bruno Haible  <bruno@clisp.org>
35527         check-version: Move AC_LIBOBJ invocations to module description.
35528         * m4/check-version.m4: Remove file.
35529         * modules/check-version (Files): Remove it.
35530         (configure.ac): Remove gl_CHECK_VERSION call.
35531         (Makefile.am): Augment lib_SOURCES.
35533 2011-05-23  Bruno Haible  <bruno@clisp.org>
35535         chdir-safer: Move AC_LIBOBJ invocations to module description.
35536         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
35537         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
35539 2011-05-23  Bruno Haible  <bruno@clisp.org>
35541         canonicalize: Move AC_LIBOBJ invocations to module description.
35542         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
35543         AC_LIBOBJ invocation.
35544         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
35546 2011-05-23  Bruno Haible  <bruno@clisp.org>
35548         canon-host: Move AC_LIBOBJ invocations to module description.
35549         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
35550         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
35551         instead of gl_CANON_HOST.
35552         (Makefile.am): Augment lib_SOURCES.
35554 2011-05-23  Bruno Haible  <bruno@clisp.org>
35556         backupfile: Move AC_LIBOBJ invocations to module description.
35557         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
35558         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
35560 2011-05-23  Bruno Haible  <bruno@clisp.org>
35562         argmatch: Move AC_LIBOBJ invocations to module description.
35563         * m4/argmatch.m4: Remove file.
35564         * modules/argmatch (Files): Remove it.
35565         (configure.ac): Remove gl_ARGMATCH call.
35566         (Makefile.am): Augment lib_SOURCES.
35568 2011-05-23  Bruno Haible  <bruno@clisp.org>
35570         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
35571         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
35572         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
35574 2011-05-23  Bruno Haible  <bruno@clisp.org>
35576         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
35577         * m4/arcfour.m4: Remove file.
35578         * modules/crypto/arcfour (Files): Remove it.
35579         (configure.ac): Remove gl_ARCFOUR call.
35580         (Makefile.am): Augment lib_SOURCES.
35582 2011-05-22  Bruno Haible  <bruno@clisp.org>
35584         write: Move AC_LIBOBJ invocations to module description.
35585         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
35586         * modules/write (configure.ac): ... to here.
35588 2011-05-22  Bruno Haible  <bruno@clisp.org>
35590         wmemset: Move AC_LIBOBJ invocations to module description.
35591         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
35592         here...
35593         * modules/wmemset (configure.ac): ... to here.
35595 2011-05-22  Bruno Haible  <bruno@clisp.org>
35597         wmemmove: Move AC_LIBOBJ invocations to module description.
35598         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
35599         here...
35600         * modules/wmemmove (configure.ac): ... to here.
35602 2011-05-22  Bruno Haible  <bruno@clisp.org>
35604         wmemcpy: Move AC_LIBOBJ invocations to module description.
35605         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
35606         here...
35607         * modules/wmemcpy (configure.ac): ... to here.
35609 2011-05-22  Bruno Haible  <bruno@clisp.org>
35611         wmemcmp: Move AC_LIBOBJ invocations to module description.
35612         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
35613         here...
35614         * modules/wmemcmp (configure.ac): ... to here.
35616 2011-05-22  Bruno Haible  <bruno@clisp.org>
35618         wmemchr: Move AC_LIBOBJ invocations to module description.
35619         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
35620         here...
35621         * modules/wmemchr (configure.ac): ... to here.
35623 2011-05-22  Bruno Haible  <bruno@clisp.org>
35625         wcswidth: Move AC_LIBOBJ invocations to module description.
35626         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
35627         here...
35628         * modules/wcswidth (configure.ac): ... to here.
35630 2011-05-22  Bruno Haible  <bruno@clisp.org>
35632         wcwidth: Respect rules for use of AC_LIBOBJ.
35633         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
35634         invocation from here...
35635         * modules/wcwidth (configure.ac): ... to here.
35636         (Depends-on): Update conditions.
35638 2011-05-22  Bruno Haible  <bruno@clisp.org>
35640         wctype: Move AC_LIBOBJ invocations to module description.
35641         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
35642         invocation from here...
35643         * modules/wctype (configure.ac): ... to here.
35644         (Depends-on): Update conditions.
35646 2011-05-22  Bruno Haible  <bruno@clisp.org>
35648         wctrans: Move AC_LIBOBJ invocations to module description.
35649         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
35650         invocation from here...
35651         * modules/wctrans (configure.ac): ... to here.
35653 2011-05-22  Bruno Haible  <bruno@clisp.org>
35655         wctomb: Move AC_LIBOBJ invocations to module description.
35656         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
35657         invocations from here...
35658         * modules/wctomb (configure.ac): ... to here.
35660 2011-05-22  Bruno Haible  <bruno@clisp.org>
35662         wctob: Move AC_LIBOBJ invocations to module description.
35663         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
35664         gl_PREREQ_WCTOB invocations from here...
35665         * modules/wctob (configure.ac): ... to here.
35666         (Depends-on): Update conditions.
35668 2011-05-22  Bruno Haible  <bruno@clisp.org>
35670         wcsxfrm: Move AC_LIBOBJ invocations to module description.
35671         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
35672         here...
35673         * modules/wcsxfrm (configure.ac): ... to here.
35675 2011-05-22  Bruno Haible  <bruno@clisp.org>
35677         wcstok: Move AC_LIBOBJ invocations to module description.
35678         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
35679         * modules/wcstok (configure.ac): ... to here.
35681 2011-05-22  Bruno Haible  <bruno@clisp.org>
35683         wcsstr: Move AC_LIBOBJ invocations to module description.
35684         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
35685         * modules/wcsstr (configure.ac): ... to here.
35687 2011-05-22  Bruno Haible  <bruno@clisp.org>
35689         wcsspn: Move AC_LIBOBJ invocations to module description.
35690         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
35691         * modules/wcsspn (configure.ac): ... to here.
35693 2011-05-22  Bruno Haible  <bruno@clisp.org>
35695         wcsrtombs: Move AC_LIBOBJ invocations to module description.
35696         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
35697         gl_PREREQ_WCSRTOMBS invocations from here...
35698         * modules/wcsrtombs (configure.ac): ... to here.
35700 2011-05-22  Bruno Haible  <bruno@clisp.org>
35702         wcsrchr: Move AC_LIBOBJ invocations to module description.
35703         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
35704         here...
35705         * modules/wcsrchr (configure.ac): ... to here.
35707 2011-05-22  Bruno Haible  <bruno@clisp.org>
35709         wcspbrk: Move AC_LIBOBJ invocations to module description.
35710         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
35711         here...
35712         * modules/wcspbrk (configure.ac): ... to here.
35714 2011-05-22  Bruno Haible  <bruno@clisp.org>
35716         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
35717         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
35718         gl_PREREQ_WCSNRTOMBS invocations from here...
35719         * modules/wcsnrtombs (configure.ac): ... to here.
35721 2011-05-22  Bruno Haible  <bruno@clisp.org>
35723         wcsnlen: Move AC_LIBOBJ invocations to module description.
35724         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
35725         here...
35726         * modules/wcsnlen (configure.ac): ... to here.
35728 2011-05-22  Bruno Haible  <bruno@clisp.org>
35730         wcsncpy: Move AC_LIBOBJ invocations to module description.
35731         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
35732         here...
35733         * modules/wcsncpy (configure.ac): ... to here.
35735 2011-05-22  Bruno Haible  <bruno@clisp.org>
35737         wcsncmp: Move AC_LIBOBJ invocations to module description.
35738         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
35739         here...
35740         * modules/wcsncmp (configure.ac): ... to here.
35742 2011-05-22  Bruno Haible  <bruno@clisp.org>
35744         wcsncat: Move AC_LIBOBJ invocations to module description.
35745         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
35746         here...
35747         * modules/wcsncat (configure.ac): ... to here.
35749 2011-05-22  Bruno Haible  <bruno@clisp.org>
35751         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
35752         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
35753         from here...
35754         * modules/wcsncasecmp (configure.ac): ... to here.
35756 2011-05-22  Bruno Haible  <bruno@clisp.org>
35758         wcslen: Move AC_LIBOBJ invocations to module description.
35759         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
35760         * modules/wcslen (configure.ac): ... to here.
35762 2011-05-22  Bruno Haible  <bruno@clisp.org>
35764         wcsdup: Move AC_LIBOBJ invocations to module description.
35765         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
35766         * modules/wcsdup (configure.ac): ... to here.
35768 2011-05-22  Bruno Haible  <bruno@clisp.org>
35770         wcscspn: Move AC_LIBOBJ invocations to module description.
35771         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
35772         here...
35773         * modules/wcscspn (configure.ac): ... to here.
35775 2011-05-22  Bruno Haible  <bruno@clisp.org>
35777         wcscpy: Move AC_LIBOBJ invocations to module description.
35778         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
35779         * modules/wcscpy (configure.ac): ... to here.
35781 2011-05-22  Bruno Haible  <bruno@clisp.org>
35783         wcscoll: Move AC_LIBOBJ invocations to module description.
35784         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
35785         here...
35786         * modules/wcscoll (configure.ac): ... to here.
35788 2011-05-22  Bruno Haible  <bruno@clisp.org>
35790         wcscmp: Move AC_LIBOBJ invocations to module description.
35791         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
35792         * modules/wcscmp (configure.ac): ... to here.
35794 2011-05-22  Bruno Haible  <bruno@clisp.org>
35796         wcschr: Move AC_LIBOBJ invocations to module description.
35797         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
35798         * modules/wcschr (configure.ac): ... to here.
35800 2011-05-22  Bruno Haible  <bruno@clisp.org>
35802         wcscat: Move AC_LIBOBJ invocations to module description.
35803         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
35804         * modules/wcscat (configure.ac): ... to here.
35806 2011-05-22  Bruno Haible  <bruno@clisp.org>
35808         wcscasecmp: Move AC_LIBOBJ invocations to module description.
35809         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
35810         here...
35811         * modules/wcscasecmp (configure.ac): ... to here.
35813 2011-05-22  Bruno Haible  <bruno@clisp.org>
35815         wcrtomb: Move AC_LIBOBJ invocations to module description.
35816         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
35817         invocations from here...
35818         * modules/wcrtomb (configure.ac): ... to here.
35820 2011-05-22  Bruno Haible  <bruno@clisp.org>
35822         wcpncpy: Move AC_LIBOBJ invocations to module description.
35823         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
35824         here...
35825         * modules/wcpncpy (configure.ac): ... to here.
35827 2011-05-22  Bruno Haible  <bruno@clisp.org>
35829         wcpcpy: Move AC_LIBOBJ invocations to module description.
35830         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
35831         * modules/wcpcpy (configure.ac): ... to here.
35833 2011-05-22  Bruno Haible  <bruno@clisp.org>
35835         waitpid: Move AC_LIBOBJ invocations to module description.
35836         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
35837         invocation from here...
35838         * modules/waitpid (configure.ac): ... to here.
35840 2011-05-22  Bruno Haible  <bruno@clisp.org>
35842         utimensat: Move AC_LIBOBJ invocations to module description.
35843         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
35844         here...
35845         * modules/utimensat (configure.ac): ... to here.
35847 2011-05-22  Bruno Haible  <bruno@clisp.org>
35849         usleep: Move AC_LIBOBJ invocations to module description.
35850         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
35851         here...
35852         * modules/usleep (configure.ac): ... to here.
35854 2011-05-22  Bruno Haible  <bruno@clisp.org>
35856         unlockpt: Move AC_LIBOBJ invocations to module description.
35857         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
35858         gl_PREREQ_UNLOCKPT invocations from here...
35859         * modules/unlockpt (configure.ac): ... to here.
35861 2011-05-22  Bruno Haible  <bruno@clisp.org>
35863         unlink: Respect rules for use of AC_LIBOBJ.
35864         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
35865         * modules/unlink (configure.ac): ... to here.
35867 2011-05-22  Bruno Haible  <bruno@clisp.org>
35869         uname: Move AC_LIBOBJ invocations to module description.
35870         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
35871         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
35872         here...
35873         * modules/uname (configure.ac): ... to here.
35875 2011-05-22  Bruno Haible  <bruno@clisp.org>
35877         ttyname_r: Move AC_LIBOBJ invocations to module description.
35878         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
35879         gl_PREREQ_TTYNAME_R invocations from here...
35880         * modules/ttyname_r (configure.ac): ... to here.
35882 2011-05-22  Bruno Haible  <bruno@clisp.org>
35884         tsearch: Move AC_LIBOBJ invocations to module description.
35885         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
35886         invocations from here...
35887         * modules/tsearch (configure.ac): ... to here.
35889 2011-05-22  Bruno Haible  <bruno@clisp.org>
35891         towctrans: Move AC_LIBOBJ invocations to module description.
35892         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
35893         AC_LIBOBJ invocation from here...
35894         * modules/towctrans (configure.ac): ... to here.
35896 2011-05-22  Bruno Haible  <bruno@clisp.org>
35898         tmpfile: Move AC_LIBOBJ invocations to module description.
35899         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
35900         invocations from here...
35901         * modules/tmpfile (configure.ac): ... to here.
35903 2011-05-22  Bruno Haible  <bruno@clisp.org>
35905         times: Move AC_LIBOBJ invocations to module description.
35906         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
35907         * modules/times (configure.ac): ... to here.
35909 2011-05-22  Bruno Haible  <bruno@clisp.org>
35911         time_r: Move AC_LIBOBJ invocations to module description.
35912         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
35913         invocations from here...
35914         * modules/time_r (configure.ac): ... to here.
35916 2011-05-22  Bruno Haible  <bruno@clisp.org>
35918         timegm: Move AC_LIBOBJ invocations to module description.
35919         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
35920         invocations from here...
35921         * modules/timegm (configure.ac): ... to here.
35923 2011-05-22  Bruno Haible  <bruno@clisp.org>
35925         tcgetsid: Move AC_LIBOBJ invocations to module description.
35926         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
35927         and gl_PREREQ_TCGETSID invocations from here...
35928         * modules/tcgetsid (configure.ac): ... to here.
35929         (Depends-on): Update conditions.
35931 2011-05-22  Bruno Haible  <bruno@clisp.org>
35933         symlinkat: Move AC_LIBOBJ invocations to module description.
35934         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
35935         here...
35936         * modules/symlinkat (configure.ac): ... to here.
35938 2011-05-22  Bruno Haible  <bruno@clisp.org>
35940         symlink: Move AC_LIBOBJ invocations to module description.
35941         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
35942         here...
35943         * modules/symlink (configure.ac): ... to here.
35945 2011-05-22  Bruno Haible  <bruno@clisp.org>
35947         strverscmp: Move AC_LIBOBJ invocations to module description.
35948         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
35949         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
35950         from here...
35951         * modules/strverscmp (configure.ac): ... to here.
35953 2011-05-22  Bruno Haible  <bruno@clisp.org>
35955         strtok_r: Move AC_LIBOBJ invocations to module description.
35956         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
35957         and gl_PREREQ_STRTOK_R invocations from here...
35958         * modules/strtok_r (configure.ac): ... to here.
35959         (Depends-on): Update conditions.
35961 2011-05-22  Bruno Haible  <bruno@clisp.org>
35963         strtoumax: Move AC_LIBOBJ invocations to module description.
35964         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
35965         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
35966         from here...
35967         * modules/strtoumax (configure.ac): ... to here.
35969 2011-05-22  Bruno Haible  <bruno@clisp.org>
35971         strtoimax: Move AC_LIBOBJ invocations to module description.
35972         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
35973         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
35974         from here...
35975         * modules/strtoimax (configure.ac): ... to here.
35977 2011-05-22  Bruno Haible  <bruno@clisp.org>
35979         strtoull: Move AC_LIBOBJ invocations to module description.
35980         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
35981         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
35982         from here...
35983         * modules/strtoull (configure.ac): ... to here.
35985 2011-05-22  Bruno Haible  <bruno@clisp.org>
35987         strtoll: Move AC_LIBOBJ invocations to module description.
35988         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
35989         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
35990         here...
35991         * modules/strtoll (configure.ac): ... to here.
35993 2011-05-22  Bruno Haible  <bruno@clisp.org>
35995         strtoul: Move AC_LIBOBJ invocations to module description.
35996         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
35997         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
35998         * modules/strtoul (configure.ac): ... to here.
36000 2011-05-22  Bruno Haible  <bruno@clisp.org>
36002         strtol: Move AC_LIBOBJ invocations to module description.
36003         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
36004         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
36005         * modules/strtol (configure.ac): ... to here.
36007 2011-05-22  Bruno Haible  <bruno@clisp.org>
36009         strtod: Move AC_LIBOBJ invocations to module description.
36010         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
36011         invocations from here...
36012         * modules/strtod (configure.ac): ... to here.
36014 2011-05-22  Bruno Haible  <bruno@clisp.org>
36016         strstr*: Move AC_LIBOBJ invocations to module description.
36017         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
36018         invocations from here...
36019         * modules/strstr-simple (configure.ac): ... to here.
36020         * modules/strstr (configure.ac): ... and here.
36022 2011-05-22  Bruno Haible  <bruno@clisp.org>
36024         strsignal: Move AC_LIBOBJ invocations to module description.
36025         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
36026         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
36027         * modules/strsignal (configure.ac): ... to here.
36028         (Depends-on): Update conditions.
36030 2011-05-22  Bruno Haible  <bruno@clisp.org>
36032         strsep: Move AC_LIBOBJ invocations to module description.
36033         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
36034         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
36035         here...
36036         * modules/strsep (configure.ac): ... to here.
36038 2011-05-22  Bruno Haible  <bruno@clisp.org>
36040         strptime: Move AC_LIBOBJ invocations to module description.
36041         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
36042         gl_PREREQ_STRPTIME invocations from here...
36043         * modules/strptime (configure.ac): ... to here.
36045 2011-05-22  Bruno Haible  <bruno@clisp.org>
36047         strpbrk: Move AC_LIBOBJ invocations to module description.
36048         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
36049         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
36050         here...
36051         * modules/strpbrk (configure.ac): ... to here.
36053 2011-05-22  Bruno Haible  <bruno@clisp.org>
36055         strnlen: Move AC_LIBOBJ invocations to module description.
36056         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
36057         invocations from here...
36058         * modules/strnlen (configure.ac): ... to here.
36060 2011-05-22  Bruno Haible  <bruno@clisp.org>
36062         strndup: Move AC_LIBOBJ invocations to module description.
36063         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
36064         invocations from here...
36065         * modules/strndup (configure.ac): ... to here.
36066         (Depends-on): Update conditions.
36068 2011-05-22  Bruno Haible  <bruno@clisp.org>
36070         strncat: Move AC_LIBOBJ invocations to module description.
36071         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
36072         invocations from here...
36073         * modules/strncat (configure.ac): ... to here.
36075 2011-05-22  Bruno Haible  <bruno@clisp.org>
36077         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
36078         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
36079         invocations from here...
36080         * modules/strdup (configure.ac): ... to here.
36081         * modules/strdup-posix (configure.ac): ... and here.
36083 2011-05-22  Bruno Haible  <bruno@clisp.org>
36085         strcspn: Move AC_LIBOBJ invocations to module description.
36086         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
36087         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
36088         here...
36089         * modules/strcspn (configure.ac): ... to here.
36091 2011-05-22  Bruno Haible  <bruno@clisp.org>
36093         strchrnul: Move AC_LIBOBJ invocations to module description.
36094         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
36095         gl_PREREQ_STRCHRNUL invocations from here...
36096         * modules/strchrnul (configure.ac): ... to here.
36098 2011-05-22  Bruno Haible  <bruno@clisp.org>
36100         strcasestr*: Move AC_LIBOBJ invocations to module description.
36101         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
36102         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
36103         * modules/strcasestr-simple (configure.ac): ... to here.
36104         * modules/strcasestr (configure.ac): ... and here.
36106 2011-05-22  Bruno Haible  <bruno@clisp.org>
36108         strcase: Move AC_LIBOBJ invocations to module description.
36109         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
36110         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
36111         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
36112         gl_PREREQ_STRNCASECMP invocations from here...
36113         * modules/strcase (configure.ac): ... to here.
36115 2011-05-22  Bruno Haible  <bruno@clisp.org>
36117         stpncpy: Move AC_LIBOBJ invocations to module description.
36118         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
36119         here...
36120         * modules/stpncpy (configure.ac): ... to here.
36122 2011-05-22  Bruno Haible  <bruno@clisp.org>
36124         stpcpy: Move AC_LIBOBJ invocations to module description.
36125         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
36126         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
36127         here...
36128         * modules/stpcpy (configure.ac): ... to here.
36130 2011-05-21  Bruno Haible  <bruno@clisp.org>
36132         stat: Move AC_LIBOBJ invocations to module description.
36133         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
36134         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
36135         here...
36136         * modules/stat (configure.ac): ... to here.
36138 2011-05-21  Bruno Haible  <bruno@clisp.org>
36140         sleep: Move AC_LIBOBJ invocations to module description.
36141         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
36142         * modules/sleep (configure.ac): ... to here.
36144 2011-05-21  Bruno Haible  <bruno@clisp.org>
36146         signbit: Move AC_LIBOBJ invocations to module description.
36147         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
36148         * modules/signbit (configure.ac): ... to here.
36150 2011-05-21  Bruno Haible  <bruno@clisp.org>
36152         sigprocmask: Move AC_LIBOBJ invocations to module description.
36153         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
36154         gl_PREREQ_SIGPROMASK invocations from here...
36155         * modules/sigprocmask (configure.ac): ... to here.
36157 2011-05-21  Bruno Haible  <bruno@clisp.org>
36159         sigaction: Move AC_LIBOBJ invocations to module description.
36160         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
36161         gl_PREREQ_SIGACTION invocations from here...
36162         * modules/sigaction (configure.ac): ... to here.
36164 2011-05-21  Bruno Haible  <bruno@clisp.org>
36166         sig2str: Move AC_LIBOBJ invocations to module description.
36167         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
36168         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
36169         here...
36170         * modules/sig2str (configure.ac): ... to here.
36172 2011-05-21  Bruno Haible  <bruno@clisp.org>
36174         setlocale: Move AC_LIBOBJ invocations to module description.
36175         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
36176         gl_PREREQ_SETLOCALE invocations from here...
36177         * modules/setlocale (configure.ac): ... to here.
36179 2011-05-21  Bruno Haible  <bruno@clisp.org>
36181         unsetenv: Move AC_LIBOBJ invocations to module description.
36182         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
36183         and gl_PREREQ_UNSETENV invocations from here...
36184         * modules/unsetenv (configure.ac): ... to here.
36185         (Depends-on): Update.
36187 2011-05-21  Bruno Haible  <bruno@clisp.org>
36189         setenv: Move AC_LIBOBJ invocations to module description.
36190         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
36191         here...
36192         * modules/setenv (configure.ac): ... to here.
36194 2011-05-21  Bruno Haible  <bruno@clisp.org>
36196         selinux-h: Move AC_LIBOBJ invocations to module description.
36197         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
36198         AC_LIBOBJ invocation from here...
36199         * modules/selinux-h (configure.ac): ... to here.
36201 2011-05-21  Bruno Haible  <bruno@clisp.org>
36203         select: Respect rules for use of AC_LIBOBJ.
36204         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
36205         here...
36206         * modules/select (configure.ac): ... to here.
36208 2011-05-21  Bruno Haible  <bruno@clisp.org>
36210         scandir: Move AC_LIBOBJ invocations to module description.
36211         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
36212         invocations from here...
36213         * modules/scandir (configure.ac): ... to here.
36215 2011-05-21  Bruno Haible  <bruno@clisp.org>
36217         rpmatch: Move AC_LIBOBJ invocations to module description.
36218         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
36219         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
36220         here...
36221         * modules/rpmatch (configure.ac): ... to here.
36223 2011-05-21  Bruno Haible  <bruno@clisp.org>
36225         rmdir: Respect rules for use of AC_LIBOBJ.
36226         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
36227         * modules/rmdir (configure.ac): ... to here.
36229 2011-05-21  Bruno Haible  <bruno@clisp.org>
36231         renameat: Move AC_LIBOBJ invocations to module description.
36232         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
36233         here...
36234         * modules/renameat (configure.ac): ... to here.
36236 2011-05-21  Bruno Haible  <bruno@clisp.org>
36238         rename: Respect rules for use of AC_LIBOBJ.
36239         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
36240         here...
36241         * modules/rename (configure.ac): ... to here.
36243 2011-05-21  Bruno Haible  <bruno@clisp.org>
36245         remove: Move AC_LIBOBJ invocations to module description.
36246         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
36247         here...
36248         * modules/remove (configure.ac): ... to here.
36250 2011-05-21  Bruno Haible  <bruno@clisp.org>
36252         relocatable-lib: Move AC_LIBOBJ invocations to module description.
36253         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
36254         macro.
36255         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
36256         * modules/relocatable-lib (configure.ac): ... to here.
36257         * modules/relocatable-prog-wrapper (configure.ac): Invoke
36258         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
36260 2011-05-21  Bruno Haible  <bruno@clisp.org>
36262         relocatable-prog: Move AC_LIBOBJ invocations to module description.
36263         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
36264         here...
36265         * modules/relocatable-prog (configure.ac): ... to here.
36267 2011-05-21  Bruno Haible  <bruno@clisp.org>
36269         regex: Move AC_LIBOBJ invocations to module description.
36270         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
36271         invocations from here...
36272         * modules/regex (configure.ac): ... to here.
36274 2011-05-21  Bruno Haible  <bruno@clisp.org>
36276         realloc-*: Move AC_LIBOBJ invocations to module description.
36277         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
36278         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
36279         AC_LIBOBJ invocations from here...
36280         * modules/realloc-gnu (configure.ac): ... to here.
36281         * modules/realloc-posix (configure.ac): ... and here.
36283 2011-05-21  Bruno Haible  <bruno@clisp.org>
36285         readutmp: Move AC_LIBOBJ invocations to module description.
36286         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
36287         * modules/readutmp (configure.ac): ... to here.
36289 2011-05-21  Bruno Haible  <bruno@clisp.org>
36291         readlinkat: Move AC_LIBOBJ invocations to module description.
36292         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
36293         here...
36294         * modules/readlinkat (configure.ac): ... to here.
36296 2011-05-21  Bruno Haible  <bruno@clisp.org>
36298         readlink: Move AC_LIBOBJ invocations to module description.
36299         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
36300         gl_PREREQ_READLINK invocations from here...
36301         * modules/readlink (configure.ac): ... to here.
36303 2011-05-21  Bruno Haible  <bruno@clisp.org>
36305         readline: Move AC_LIBOBJ invocations to module description.
36306         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
36307         gl_PREREQ_READLINE invocations from here...
36308         * modules/readline (configure.ac): ... to here.
36310 2011-05-21  Bruno Haible  <bruno@clisp.org>
36312         read: Move AC_LIBOBJ invocations to module description.
36313         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
36314         * modules/read (configure.ac): ... to here.
36316 2011-05-21  Bruno Haible  <bruno@clisp.org>
36318         rawmemchr: Move AC_LIBOBJ invocations to module description.
36319         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
36320         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
36321         from here...
36322         * modules/rawmemchr (configure.ac): ... to here.
36324 2011-05-21  Bruno Haible  <bruno@clisp.org>
36326         random_r: Move AC_LIBOBJ invocations to module description.
36327         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
36328         gl_PREREQ_RANDOM_R invocations from here...
36329         * modules/random_r (configure.ac): ... to here.
36331 2011-05-21  Bruno Haible  <bruno@clisp.org>
36333         pwrite: Move AC_LIBOBJ invocations to module description.
36334         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
36335         * modules/pwrite (configure.ac): ... to here.
36337 2011-05-21  Bruno Haible  <bruno@clisp.org>
36339         putenv: Move AC_LIBOBJ invocations to module description.
36340         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
36341         * modules/putenv (configure.ac): ... to here.
36343 2011-05-21  Bruno Haible  <bruno@clisp.org>
36345         login_tty: Move AC_LIBOBJ invocations to module description.
36346         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
36347         * modules/login_tty (configure.ac): ... to here.
36349 2011-05-21  Bruno Haible  <bruno@clisp.org>
36351         openpty: Move AC_LIBOBJ invocations to module description.
36352         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
36353         * modules/openpty (configure.ac): ... to here.
36355 2011-05-21  Bruno Haible  <bruno@clisp.org>
36357         forkpty: Move AC_LIBOBJ invocations to module description.
36358         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
36359         * modules/forkpty (configure.ac): ... to here.
36361 2011-05-21  Bruno Haible  <bruno@clisp.org>
36363         ptsname: Move AC_LIBOBJ invocations to module description.
36364         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
36365         invocations from here...
36366         * modules/ptsname (configure.ac): ... to here.
36368 2011-05-21  Bruno Haible  <bruno@clisp.org>
36370         pread: Move AC_LIBOBJ invocations to module description.
36371         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
36372         * modules/pread (configure.ac): ... to here.
36374 2011-05-21  Bruno Haible  <bruno@clisp.org>
36376         posix_spawn*: Move AC_LIBOBJ invocations to module description.
36377         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
36378         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
36379         * modules/posix_spawn (configure.ac): ... to here.
36380         * modules/posix_spawnp (configure.ac): ... and here.
36382 2011-05-21  Bruno Haible  <bruno@clisp.org>
36384         popen: Move AC_LIBOBJ invocations to module description.
36385         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
36386         invocations from here...
36387         * modules/popen (configure.ac): ... to here.
36389 2011-05-21  Bruno Haible  <bruno@clisp.org>
36391         poll: Move AC_LIBOBJ invocations to module description.
36392         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
36393         invocations from here...
36394         * modules/poll (configure.ac): ... to here.
36396 2011-05-21  Bruno Haible  <bruno@clisp.org>
36398         pipe-posix: Move AC_LIBOBJ invocations to module description.
36399         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
36400         * modules/pipe-posix (configure.ac): ... to here.
36402 2011-05-21  Bruno Haible  <bruno@clisp.org>
36404         openat: Respect rules for use of AC_LIBOBJ.
36405         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
36406         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
36407         * modules/openat (configure.ac): ... to here.
36409 2011-05-21  Bruno Haible  <bruno@clisp.org>
36411         obstack-printf*: Move AC_LIBOBJ invocations to module description.
36412         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
36413         invocation from here...
36414         * modules/obstack-printf (configure.ac): ... to here.
36415         * modules/obstack-printf-posix (configure.ac): ... and here.
36417 2011-05-21  Bruno Haible  <bruno@clisp.org>
36419         nl_langinfo: Move AC_LIBOBJ invocations to module description.
36420         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
36421         from here...
36422         * modules/nl_langinfo (configure.ac): ... to here.
36424 2011-05-21  Bruno Haible  <bruno@clisp.org>
36426         nanosleep: Move AC_LIBOBJ invocations to module description.
36427         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
36428         gl_PREREQ_NANOSLEEP invocations from here...
36429         * modules/nanosleep (configure.ac): ... to here.
36431 2011-05-21  Bruno Haible  <bruno@clisp.org>
36433         mountlist: Move AC_LIBOBJ invocations to module description.
36434         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
36435         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
36436         * modules/mountlist (configure.ac): ... to here.
36438 2011-05-21  Bruno Haible  <bruno@clisp.org>
36440         mktime: Respect rules for use of AC_LIBOBJ.
36441         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
36442         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
36443         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
36444         (gl_FUNC_MKTIME_INTERNAL): ... and here...
36445         * modules/mktime (configure.ac): ... to here.
36446         * modules/mktime-internal (configure.ac): ... and here.
36447         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
36449 2011-05-21  Bruno Haible  <bruno@clisp.org>
36451         mkstemps: Move AC_LIBOBJ invocations to module description.
36452         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
36453         here...
36454         * modules/mkstemps (configure.ac): ... to here.
36456 2011-05-21  Bruno Haible  <bruno@clisp.org>
36458         mkstemp: Move AC_LIBOBJ invocations to module description.
36459         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
36460         gl_PREREQ_MKSTEMP invocations from here...
36461         * modules/mkstemp (configure.ac): ... to here.
36463 2011-05-21  Bruno Haible  <bruno@clisp.org>
36465         mkostemps: Move AC_LIBOBJ invocations to module description.
36466         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
36467         here...
36468         * modules/mkostemps (configure.ac): ... to here.
36470 2011-05-21  Bruno Haible  <bruno@clisp.org>
36472         mkostemp: Move AC_LIBOBJ invocations to module description.
36473         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
36474         gl_PREREQ_MKOSTEMP invocations from here...
36475         * modules/mkostemp (configure.ac): ... to here.
36477 2011-05-21  Bruno Haible  <bruno@clisp.org>
36479         mknod: Move AC_LIBOBJ invocations to module description.
36480         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
36481         * modules/mknod (configure.ac): ... to here.
36483 2011-05-21  Bruno Haible  <bruno@clisp.org>
36485         mkfifoat: Move AC_LIBOBJ invocations to module description.
36486         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
36487         here...
36488         * modules/mkfifoat (configure.ac): ... to here.
36490 2011-05-21  Bruno Haible  <bruno@clisp.org>
36492         mkfifo: Respect rules for use of AC_LIBOBJ.
36493         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
36494         here...
36495         * modules/mkfifo (configure.ac): ... to here.
36497 2011-05-21  Bruno Haible  <bruno@clisp.org>
36499         mkdtemp: Move AC_LIBOBJ invocations to module description.
36500         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
36501         invocations from here...
36502         * modules/mkdtemp (configure.ac): ... to here.
36504 2011-05-21  Bruno Haible  <bruno@clisp.org>
36506         mkdir: Move AC_LIBOBJ invocations to module description.
36507         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
36508         * modules/mkdir (configure.ac): ... to here.
36510 2011-05-21  Bruno Haible  <bruno@clisp.org>
36512         memset: Move AC_LIBOBJ invocations to module description.
36513         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
36514         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
36515         here...
36516         * modules/memset (configure.ac): ... to here.
36518 2011-05-21  Bruno Haible  <bruno@clisp.org>
36520         memrchr: Move AC_LIBOBJ invocations to module description.
36521         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
36522         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
36523         here...
36524         * modules/memrchr (configure.ac): ... to here.
36526 2011-05-21  Bruno Haible  <bruno@clisp.org>
36528         mempcpy: Move AC_LIBOBJ invocations to module description.
36529         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
36530         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
36531         here...
36532         * modules/mempcpy (configure.ac): ... to here.
36534 2011-05-21  Bruno Haible  <bruno@clisp.org>
36536         memmove: Move AC_LIBOBJ invocations to module description.
36537         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
36538         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
36539         here...
36540         * modules/memmove (configure.ac): ... to here.
36542 2011-05-21  Bruno Haible  <bruno@clisp.org>
36544         memmem*: Move AC_LIBOBJ invocations to module description.
36545         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
36546         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
36547         here...
36548         (gl_FUNC_MEMMEM): ... and here...
36549         * modules/memmem-simple (configure.ac): ... to here.
36550         * modules/memmem (configure.ac): ... and here.
36552 2011-05-21  Bruno Haible  <bruno@clisp.org>
36554         memcpy: Move AC_LIBOBJ invocations to module description.
36555         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
36556         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
36557         here...
36558         * modules/memcpy (configure.ac): ... to here.
36560 2011-05-21  Bruno Haible  <bruno@clisp.org>
36562         memcmp: Simplify autoconf macro.
36563         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
36564         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
36565         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
36567 2011-05-21  Bruno Haible  <bruno@clisp.org>
36569         memcmp: Move AC_LIBOBJ invocations to module description.
36570         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
36571         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
36572         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
36573         * modules/memcmp (configure.ac): ... to here.
36574         (Depends-on): Update conditions.
36576 2011-05-21  Bruno Haible  <bruno@clisp.org>
36578         memchr: Respect rules for use of AC_LIBOBJ.
36579         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
36580         invocations from here...
36581         * modules/memchr (configure.ac): ... to here.
36583 2011-05-21  Bruno Haible  <bruno@clisp.org>
36585         mbtowc: Move AC_LIBOBJ invocations to module description.
36586         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
36587         invocations from here...
36588         * modules/mbtowc (configure.ac): ... to here.
36590 2011-05-21  Bruno Haible  <bruno@clisp.org>
36592         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
36593         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
36594         gl_PREREQ_MBSRTOWCS invocations from here...
36595         * modules/mbsrtowcs (configure.ac): ... to here.
36597 2011-05-21  Bruno Haible  <bruno@clisp.org>
36599         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
36600         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
36601         gl_PREREQ_MBSNRTOWCS invocations from here...
36602         * modules/mbsnrtowcs (configure.ac): ... to here.
36604 2011-05-21  Bruno Haible  <bruno@clisp.org>
36606         mbsinit: Move AC_LIBOBJ invocations to module description.
36607         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
36608         invocations from here...
36609         * modules/mbsinit (configure.ac): ... to here.
36611 2011-05-21  Bruno Haible  <bruno@clisp.org>
36613         mbrlen: Move AC_LIBOBJ invocations to module description.
36614         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
36615         invocations from here...
36616         * modules/mbrlen (configure.ac): ... to here.
36618 2011-05-21  Bruno Haible  <bruno@clisp.org>
36620         mbrtowc: Respect rules for use of AC_LIBOBJ.
36621         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
36622         invocations from here...
36623         * modules/mbrtowc (configure.ac): ... to here.
36625 2011-05-21  Bruno Haible  <bruno@clisp.org>
36627         malloc-*: Move AC_LIBOBJ invocations to module description.
36628         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
36629         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
36630         AC_LIBOBJ invocations from here...
36631         * modules/malloc-gnu (configure.ac): ... to here.
36632         * modules/malloc-posix (configure.ac): ... and here.
36634 2011-05-21  Bruno Haible  <bruno@clisp.org>
36636         lstat, openat: Respect rules for use of AC_LIBOBJ.
36637         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
36638         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
36639         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
36640         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
36641         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
36642         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
36643         here.
36644         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
36646 2011-05-21  Bruno Haible  <bruno@clisp.org>
36648         lseek: Move AC_LIBOBJ invocations to module description.
36649         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
36650         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
36651         * modules/lseek (configure.ac): ... to here.
36653 2011-05-21  Bruno Haible  <bruno@clisp.org>
36655         linkat: Move AC_LIBOBJ invocations to module description.
36656         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
36657         here...
36658         * modules/linkat (configure.ac): ... to here.
36660 2011-05-21  Bruno Haible  <bruno@clisp.org>
36662         link: Respect rules for use of AC_LIBOBJ.
36663         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
36664         * modules/link (configure.ac): ... to here.
36666 2011-05-21  Bruno Haible  <bruno@clisp.org>
36668         lchown: Move AC_LIBOBJ invocations to module description.
36669         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
36670         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
36671         * modules/lchown (configure.ac): ... to here.
36673 2011-05-21  Bruno Haible  <bruno@clisp.org>
36675         iswctype: Move AC_LIBOBJ invocations to module description.
36676         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
36677         here...
36678         * modules/iswctype (configure.ac): ... to here.
36680 2011-05-21  Bruno Haible  <bruno@clisp.org>
36682         iswblank: Move AC_LIBOBJ invocations to module description.
36683         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
36684         here...
36685         * modules/iswblank (configure.ac): ... to here.
36687 2011-05-21  Bruno Haible  <bruno@clisp.org>
36689         atanl: Move AC_LIBOBJ invocations to module description.
36690         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
36691         * modules/atanl (configure.ac): ... to here.
36693 2011-05-21  Bruno Haible  <bruno@clisp.org>
36695         acosl: Move AC_LIBOBJ invocations to module description.
36696         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
36697         * modules/acosl (configure.ac): ... to here.
36699 2011-05-21  Bruno Haible  <bruno@clisp.org>
36701         asinl: Respect rules for use of AC_LIBOBJ.
36702         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
36703         * modules/asinl (configure.ac): ... to here.
36705 2011-05-21  Bruno Haible  <bruno@clisp.org>
36707         tanl: Move AC_LIBOBJ invocations to module description.
36708         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
36709         * modules/tanl (configure.ac): ... to here.
36711 2011-05-21  Bruno Haible  <bruno@clisp.org>
36713         cosl: Move AC_LIBOBJ invocations to module description.
36714         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
36715         * modules/cosl (configure.ac): ... to here.
36717 2011-05-21  Bruno Haible  <bruno@clisp.org>
36719         sinl: Move AC_LIBOBJ invocations to module description.
36720         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
36721         * modules/sinl (configure.ac): ... to here.
36723 2011-05-21  Bruno Haible  <bruno@clisp.org>
36725         logl: Move AC_LIBOBJ invocations to module description.
36726         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
36727         * modules/logl (configure.ac): ... to here.
36729 2011-05-21  Bruno Haible  <bruno@clisp.org>
36731         expl: Move AC_LIBOBJ invocations to module description.
36732         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
36733         * modules/expl (configure.ac): ... to here.
36735 2011-05-21  Bruno Haible  <bruno@clisp.org>
36737         roundl: Move AC_LIBOBJ invocations to module description.
36738         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
36739         * modules/roundl (configure.ac): ... to here.
36741 2011-05-21  Bruno Haible  <bruno@clisp.org>
36743         round: Move AC_LIBOBJ invocations to module description.
36744         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
36745         * modules/round (configure.ac): ... to here.
36747 2011-05-21  Bruno Haible  <bruno@clisp.org>
36749         roundf: Move AC_LIBOBJ invocations to module description.
36750         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
36751         * modules/roundf (configure.ac): ... to here.
36753 2011-05-21  Bruno Haible  <bruno@clisp.org>
36755         truncl: Move AC_LIBOBJ invocations to module description.
36756         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
36757         * modules/truncl (configure.ac): ... to here.
36759 2011-05-21  Bruno Haible  <bruno@clisp.org>
36761         trunc: Move AC_LIBOBJ invocations to module description.
36762         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
36763         * modules/trunc (configure.ac): ... to here.
36765 2011-05-21  Bruno Haible  <bruno@clisp.org>
36767         truncf: Move AC_LIBOBJ invocations to module description.
36768         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
36769         * modules/truncf (configure.ac): ... to here.
36771 2011-05-21  Bruno Haible  <bruno@clisp.org>
36773         ceill: Move AC_LIBOBJ invocations to module description.
36774         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
36775         * modules/ceill (configure.ac): ... to here.
36777 2011-05-21  Bruno Haible  <bruno@clisp.org>
36779         ceil: Move AC_LIBOBJ invocations to module description.
36780         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
36781         * modules/ceil (configure.ac): ... to here.
36783 2011-05-21  Bruno Haible  <bruno@clisp.org>
36785         ceilf: Move AC_LIBOBJ invocations to module description.
36786         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
36787         * modules/ceilf (configure.ac): ... to here.
36789 2011-05-21  Bruno Haible  <bruno@clisp.org>
36791         floorl: Respect rules for use of AC_LIBOBJ.
36792         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
36793         * modules/floorl (configure.ac): ... to here.
36795 2011-05-21  Bruno Haible  <bruno@clisp.org>
36797         floor: Respect rules for use of AC_LIBOBJ.
36798         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
36799         * modules/floor (configure.ac): ... to here.
36801 2011-05-21  Bruno Haible  <bruno@clisp.org>
36803         floorf: Move AC_LIBOBJ invocations to module description.
36804         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
36805         * modules/floorf (configure.ac): ... to here.
36807 2011-05-20  Bruno Haible  <bruno@clisp.org>
36809         sqrtl: Respect rules for use of AC_LIBOBJ.
36810         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
36811         * modules/sqrtl (configure.ac): ... to here.
36813 2011-05-20  Bruno Haible  <bruno@clisp.org>
36815         ldexpl: Respect rules for use of AC_LIBOBJ.
36816         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
36817         * modules/ldexpl (configure.ac): ... to here.
36819 2011-05-20  Bruno Haible  <bruno@clisp.org>
36821         frexpl*: Respect rules for use of AC_LIBOBJ.
36822         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
36823         invocation from here...
36824         * modules/frexpl (configure.ac): ... to here.
36825         * modules/frexpl-nolibm (configure.ac): ... and here.
36827 2011-05-20  Bruno Haible  <bruno@clisp.org>
36829         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
36830         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
36831         invocation from here...
36832         * modules/frexp (configure.ac): ... to here.
36833         * modules/frexp-nolibm (configure.ac): ... and here.
36835 2011-05-20  Bruno Haible  <bruno@clisp.org>
36837         isnan: Respect rules for use of AC_LIBOBJ.
36838         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
36839         invocations here.
36840         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
36841         REPLACE_ISNAN.
36842         * modules/isnand (configure.ac): Likewise.
36843         * modules/isnanl (configure.ac): Likewise.
36845 2011-05-20  Bruno Haible  <bruno@clisp.org>
36847         isnanl*: Respect rules for use of AC_LIBOBJ.
36848         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
36849         invocation from here...
36850         * modules/isnanl (configure.ac): ... to here.
36851         * modules/isnanl-nolibm (configure.ac): ... and here.
36853 2011-05-20  Bruno Haible  <bruno@clisp.org>
36855         isnand*: Move AC_LIBOBJ invocations to module description.
36856         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
36857         invocation from here...
36858         * modules/isnand (configure.ac): ... to here.
36859         * modules/isnand-nolibm (configure.ac): ... and here.
36861 2011-05-20  Bruno Haible  <bruno@clisp.org>
36863         isnanf*: Move AC_LIBOBJ invocations to module description.
36864         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
36865         invocation from here...
36866         * modules/isnanf (configure.ac): ... to here.
36867         * modules/isnanf-nolibm (configure.ac): ... and here.
36869 2011-05-20  Bruno Haible  <bruno@clisp.org>
36871         isnan*: Separate the AC_LIBOBJ invocations.
36872         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
36873         AC_LIBOBJ invocation.
36874         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
36875         here.
36876         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
36877         AC_LIBOBJ invocation.
36878         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
36879         here.
36880         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
36881         AC_LIBOBJ invocation.
36882         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
36883         here.
36884         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
36886 2011-05-08  Bruno Haible  <bruno@clisp.org>
36888         isinf: Move AC_LIBOBJ invocations to module description.
36889         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
36890         * modules/isinf (configure.ac): ... to here.
36892 2011-05-08  Bruno Haible  <bruno@clisp.org>
36894         isfinite: Move AC_LIBOBJ invocations to module description.
36895         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
36896         * modules/isfinite (configure.ac): ... to here.
36898 2011-05-08  Bruno Haible  <bruno@clisp.org>
36900         isblank: Move AC_LIBOBJ invocations to module description.
36901         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
36902         here...
36903         * modules/isblank (configure.ac): ... to here.
36905 2011-05-08  Bruno Haible  <bruno@clisp.org>
36907         isapipe: Move AC_LIBOBJ invocations to module description.
36908         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
36909         gl_PREREQ_ISAPIPE invocations from here...
36910         * modules/isapipe (configure.ac): ... to here.
36911         (Depends-on): Update condition.
36913 2011-05-08  Bruno Haible  <bruno@clisp.org>
36915         ioctl: Move AC_LIBOBJ invocations to module description.
36916         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
36917         invocations from here...
36918         * modules/ioctl (configure.ac): ... to here.
36919         (Depends-on): Update condition.
36921 2011-05-08  Bruno Haible  <bruno@clisp.org>
36923         imaxdiv: Move AC_LIBOBJ invocations to module description.
36924         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
36925         invocations from here...
36926         * modules/imaxdiv (configure.ac): ... to here.
36928 2011-05-08  Bruno Haible  <bruno@clisp.org>
36930         imaxabs: Move AC_LIBOBJ invocations to module description.
36931         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
36932         invocations from here...
36933         * modules/imaxabs (configure.ac): ... to here.
36935 2011-05-08  Bruno Haible  <bruno@clisp.org>
36937         getaddrinfo: Move AC_LIBOBJ invocations to module description.
36938         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
36939         AC_LIBOBJ invocations from here...
36940         * modules/getaddrinfo (configure.ac): ... to here.
36941         (Depends-on): Add conditions.
36943 2011-05-08  Bruno Haible  <bruno@clisp.org>
36945         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
36946         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
36947         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
36948         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
36949         (gl_PREREQ_INET_PTON): ... from here.
36950         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
36951         gl_PREREQ_INET_PTON here.
36952         (Depends-on): Update condition.
36954 2011-05-08  Bruno Haible  <bruno@clisp.org>
36956         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
36957         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
36958         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
36959         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
36960         (gl_PREREQ_INET_NTOP): ... from here.
36961         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
36962         gl_PREREQ_INET_NTOP here.
36963         (Depends-on): Update condition.
36965 2011-05-08  Bruno Haible  <bruno@clisp.org>
36967         iconv_open: Move AC_LIBOBJ invocations to module description.
36968         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
36969         AC_LIBOBJ invocations from here...
36970         * modules/iconv_open (configure.ac): ... to here.
36972 2011-05-08  Bruno Haible  <bruno@clisp.org>
36974         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
36975         If module 'iconv_open' is among the main modules and module
36976         'iconv_open-utf' is among the tests dependencies, then
36977         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
36978         return the special iconv_t values. Therefore iconv() and iconv_close()
36979         must support these special iconv_t values, already in lib, not only in
36980         tests.
36981         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
36982         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
36983         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
36984         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
36985         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
36986         (Depends-on): Add the dependencies of iconv_open-utf.
36987         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
36988         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
36989         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
36991 2011-05-08  Bruno Haible  <bruno@clisp.org>
36993         group-member: Move AC_LIBOBJ invocations to module description.
36994         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
36995         gl_PREREQ_GROUP_MEMBER invocations from here...
36996         * modules/group-member (configure.ac): ... to here.
36998 2011-05-08  Bruno Haible  <bruno@clisp.org>
37000         grantpt: Move AC_LIBOBJ invocations to module description.
37001         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
37002         invocations from here...
37003         * modules/grantpt (configure.ac): ... to here.
37005 2011-05-08  Bruno Haible  <bruno@clisp.org>
37007         glob: Move AC_LIBOBJ invocations to module description.
37008         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
37009         from here...
37010         * modules/glob (configure.ac): ... to here.
37012 2011-05-08  Bruno Haible  <bruno@clisp.org>
37014         getusershell: Move AC_LIBOBJ invocations to module description.
37015         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
37016         Move AC_LIBOBJ invocation from here...
37017         * modules/getusershell (configure.ac): ... to here.
37018         (Depends-on): Update condition.
37020 2011-05-08  Bruno Haible  <bruno@clisp.org>
37022         gettimeofday: Move AC_LIBOBJ invocations to module description.
37023         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
37024         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
37025         gl_PREREQ_GETTIMEOFDAY invocations from here...
37026         * modules/gettimeofday (configure.ac): ... to here.
37028 2011-05-08  Bruno Haible  <bruno@clisp.org>
37030         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
37031         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
37032         just gl_FUNC_TZSET.
37033         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
37034         (gl_FUNC_TZSET_CLOBBER): Remove actions.
37035         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
37036         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
37038 2011-05-08  Bruno Haible  <bruno@clisp.org>
37040         getsubopt: Move AC_LIBOBJ invocations to module description.
37041         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
37042         gl_PREREQ_GETSUBOPT invocations from here...
37043         * modules/getsubopt (configure.ac): ... to here.
37045 2011-05-08  Bruno Haible  <bruno@clisp.org>
37047         getpass-gnu: Move AC_LIBOBJ invocations to module description.
37048         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
37049         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
37050         * modules/getpass-gnu (configure.ac): ... to here.
37052 2011-05-08  Bruno Haible  <bruno@clisp.org>
37054         getpass: Move AC_LIBOBJ invocations to module description.
37055         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
37056         gl_PREREQ_GETPASS invocations from here...
37057         * modules/getpass (configure.ac): ... to here.
37059 2011-05-08  Bruno Haible  <bruno@clisp.org>
37061         getpagesize: Move AC_LIBOBJ invocations to module description.
37062         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
37063         from here...
37064         * modules/getpagesize (configure.ac): ... to here.
37066 2011-05-08  Bruno Haible  <bruno@clisp.org>
37068         getopt: Move AC_LIBOBJ invocations to module description.
37069         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
37070         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
37071         invocations from here...
37072         * modules/getopt-gnu (configure.ac): ... to here.
37073         * modules/getopt-posix (configure.ac): ... and here.
37074         (Depends-on): Update condition.
37076 2011-05-08  Bruno Haible  <bruno@clisp.org>
37078         getopt, argp: Respect rules for use of AC_LIBOBJ.
37079         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
37080         (gl_REPLACE_GETOPT_ALWAYS): New macro.
37081         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
37082         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
37084 2011-05-08  Bruno Haible  <bruno@clisp.org>
37086         getlogin_r: Move AC_LIBOBJ invocations to module description.
37087         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
37088         gl_PREREQ_GETLOGIN_R invocations from here...
37089         * modules/getlogin_r (configure.ac): ... to here.
37091 2011-05-08  Bruno Haible  <bruno@clisp.org>
37093         getlogin: Move AC_LIBOBJ invocations to module description.
37094         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
37095         here...
37096         * modules/getlogin (configure.ac): ... to here.
37098 2011-05-08  Bruno Haible  <bruno@clisp.org>
37100         getloadavg: Move AC_LIBOBJ invocations to module description.
37101         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
37102         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
37103         * modules/getloadavg (configure.ac): ... to here.
37105 2011-05-08  Bruno Haible  <bruno@clisp.org>
37107         gethrxtime: Move AC_LIBOBJ invocations to module description.
37108         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
37109         LIB_GETHRXTIME from here...
37110         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
37111         invocations from here...
37112         * modules/gethrxtime (configure.ac): ... to here.
37114 2011-05-08  Bruno Haible  <bruno@clisp.org>
37116         gethostname: Move AC_LIBOBJ invocations to module description.
37117         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
37118         gl_PREREQ_GETHOSTNAME invocations from here...
37119         * modules/gethostname (configure.ac): ... to here.
37121 2011-05-08  Bruno Haible  <bruno@clisp.org>
37123         getgroups: Move AC_LIBOBJ invocations to module description.
37124         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
37125         here...
37126         * modules/getgroups (configure.ac): ... to here.
37128 2011-05-08  Bruno Haible  <bruno@clisp.org>
37130         getdtablesize: Move AC_LIBOBJ invocations to module description.
37131         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
37132         invocation from here...
37133         * modules/getdtablesize (configure.ac): ... to here.
37135 2011-05-08  Bruno Haible  <bruno@clisp.org>
37137         getdomainname: Move AC_LIBOBJ invocations to module description.
37138         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
37139         gl_PREREQ_GETDOMAINNAME invocations from here...
37140         * modules/getdomainname (configure.ac): ... to here.
37142 2011-05-08  Bruno Haible  <bruno@clisp.org>
37144         getline: Move AC_LIBOBJ invocations to module description.
37145         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
37146         invocations from here...
37147         * modules/getline (configure.ac): ... to here.
37149 2011-05-08  Bruno Haible  <bruno@clisp.org>
37151         getline: Simplify.
37152         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
37153         It's already handled through the module dependency.
37155 2011-05-08  Bruno Haible  <bruno@clisp.org>
37157         getdelim: Move AC_LIBOBJ invocations to module description.
37158         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
37159         and gl_PREREQ_GETDELIM invocations from here...
37160         * modules/getdelim (configure.ac): ... to here.
37161         (Depends-on): Fix condition.
37163 2011-05-08  Bruno Haible  <bruno@clisp.org>
37165         getcwd: Move AC_LIBOBJ invocations to module description.
37166         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
37167         invocations from here...
37168         * modules/getcwd (configure.ac): ... to here.
37170 2011-05-08  Bruno Haible  <bruno@clisp.org>
37172         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
37173         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
37174         here...
37175         * modules/getcwd-lgpl (configure.ac): ... to here.
37177 2011-05-07  Bruno Haible  <bruno@clisp.org>
37179         crypto/gc: Move AC_LIBOBJ invocations to module description.
37180         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
37181         * modules/crypto/gc (configure.ac): ... to here.
37183 2011-05-07  Bruno Haible  <bruno@clisp.org>
37185         fwriting: Move AC_LIBOBJ invocations to module description.
37186         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
37187         here...
37188         * modules/fwriting (configure.ac): ... to here.
37190 2011-05-07  Bruno Haible  <bruno@clisp.org>
37192         fwritable: Move AC_LIBOBJ invocations to module description.
37193         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
37194         here...
37195         * modules/fwritable (configure.ac): ... to here.
37197 2011-05-07  Bruno Haible  <bruno@clisp.org>
37199         futimens: Move AC_LIBOBJ invocations to module description.
37200         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
37201         here...
37202         * modules/futimens (configure.ac): ... to here.
37204 2011-05-07  Bruno Haible  <bruno@clisp.org>
37206         ftruncate: Move AC_LIBOBJ invocations to module description.
37207         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
37208         gl_PREREQ_FTRUNCATE invocations from here...
37209         * modules/ftruncate (configure.ac): ... to here.
37211 2011-05-07  Bruno Haible  <bruno@clisp.org>
37213         fsync: Move AC_LIBOBJ invocations to module description.
37214         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
37215         invocations from here...
37216         * modules/fsync (configure.ac): ... to here.
37218 2011-05-07  Bruno Haible  <bruno@clisp.org>
37220         fsusage: Move AC_LIBOBJ invocations to module description.
37221         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
37222         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
37223         * modules/fsusage (configure.ac): ... to here.
37225 2011-05-07  Bruno Haible  <bruno@clisp.org>
37227         freopen: Move AC_LIBOBJ invocations to module description.
37228         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
37229         invocations from here...
37230         * modules/freopen (configure.ac): ... to here.
37232 2011-05-07  Bruno Haible  <bruno@clisp.org>
37234         free: Move AC_LIBOBJ invocations to module description.
37235         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
37236         invocations from here...
37237         * modules/free (configure.ac): ... to here.
37239 2011-05-07  Bruno Haible  <bruno@clisp.org>
37241         freadable: Move AC_LIBOBJ invocations to module description.
37242         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
37243         here...
37244         * modules/freadable (configure.ac): ... to here.
37246 2011-05-07  Bruno Haible  <bruno@clisp.org>
37248         fpurge: Move AC_LIBOBJ invocations to module description.
37249         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
37250         invocations from here...
37251         * modules/fpurge (configure.ac): ... to here.
37253 2011-05-07  Bruno Haible  <bruno@clisp.org>
37255         fpending: Move AC_LIBOBJ invocations to module description.
37256         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
37257         gl_FUNC_FPENDING.
37258         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
37259         invocations from here...
37260         * modules/fpending (configure.ac): ... to here.
37262 2011-05-07  Bruno Haible  <bruno@clisp.org>
37264         fopen: Move AC_LIBOBJ invocations to module description.
37265         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
37266         invocations from here...
37267         * modules/fopen (configure.ac): ... to here.
37269 2011-05-07  Bruno Haible  <bruno@clisp.org>
37271         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
37272         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
37273         gl_FUNC_FNMATCH_POSIX.
37274         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
37275         invocations from here...
37276         * modules/fnmatch (configure.ac): ... to here.
37277         * modules/fnmatch-gnu (configure.ac): ... and here.
37279 2011-05-07  Bruno Haible  <bruno@clisp.org>
37281         flock: Move AC_LIBOBJ invocations to module description.
37282         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
37283         invocations from here...
37284         * modules/flock (configure.ac): ... to here.
37286 2011-05-07  Bruno Haible  <bruno@clisp.org>
37288         fileblocks: Move AC_LIBOBJ invocations to module description.
37289         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
37290         gl_PREREQ_FILEBLOCKS invocations from here...
37291         * modules/fileblocks (configure.ac): ... to here.
37293 2011-05-06  Bruno Haible  <bruno@clisp.org>
37295         fflush: Move AC_LIBOBJ invocations to module description.
37296         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
37297         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
37298         invocations from here...
37299         * modules/fflush (configure.ac): ... to here.
37301 2011-05-06  Bruno Haible  <bruno@clisp.org>
37303         fdopendir: Move AC_LIBOBJ invocations to module description.
37304         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
37305         here...
37306         * modules/fdopendir (configure.ac): ... to here.
37307         (Depends-on): Improve conditions.
37309 2011-05-06  Bruno Haible  <bruno@clisp.org>
37311         _Exit: Move AC_LIBOBJ invocations to module description.
37312         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
37313         invocations from here...
37314         * modules/_Exit (configure.ac): ... to here.
37316 2011-05-21  Bruno Haible  <bruno@clisp.org>
37318         euidaccess: Respect rules for use of AC_LIBOBJ.
37319         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
37320         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
37321         from here...
37322         * modules/euidaccess (configure.ac): ... to here.
37324 2011-05-06  Bruno Haible  <bruno@clisp.org>
37326         error: Move AC_LIBOBJ invocations to module description.
37327         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
37328         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
37329         invocations from here...
37330         * modules/error (configure.ac): ... to here.
37332 2011-05-06  Bruno Haible  <bruno@clisp.org>
37334         duplocale: Move AC_LIBOBJ invocations to module description.
37335         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
37336         gl_PREREQ_DUPLOCALE invocations from here...
37337         * modules/duplocale (configure.ac): ... to here.
37339 2011-05-05  Bruno Haible  <bruno@clisp.org>
37341         dirfd: Move AC_LIBOBJ invocations to module description.
37342         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
37343         gl_FUNC_DIRFD.
37344         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
37345         here...
37346         * modules/dirfd (configure.ac): ... to here.
37347         (Depends-on): Fix condition.
37349 2011-05-05  Bruno Haible  <bruno@clisp.org>
37351         chown: Respect rules for use of AC_LIBOBJ.
37352         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
37353         * modules/chown (configure.ac): ... to here.
37355 2011-05-05  Bruno Haible  <bruno@clisp.org>
37357         chdir-long: Move AC_LIBOBJ invocations to module description.
37358         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
37359         gl_PREREQ_CHDIR_LONG invocations from here...
37360         * modules/chdir-long (configure.ac): ... to here.
37362 2011-05-05  Bruno Haible  <bruno@clisp.org>
37364         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
37365         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
37366         from here...
37367         * modules/canonicalize-lgpl (configure.ac): ... to here.
37369 2011-05-05  Bruno Haible  <bruno@clisp.org>
37371         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
37372         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
37373         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
37374         REPLACE_CALLOC.
37375         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
37376         * modules/calloc-gnu (configure.ac): Likewise.
37378 2011-05-05  Bruno Haible  <bruno@clisp.org>
37380         btowc: Move AC_LIBOBJ invocations to module description.
37381         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
37382         invocations from here...
37383         * modules/btowc (configure.ac): ... to here.
37385 2011-05-21  Bruno Haible  <bruno@clisp.org>
37387         atexit: Move AC_LIBOBJ invocations to module description.
37388         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
37389         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
37390         here...
37391         * modules/atexit (configure.ac): ... to here.
37393 2011-05-05  Bruno Haible  <bruno@clisp.org>
37395         atoll: Move AC_LIBOBJ invocations to module description.
37396         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
37397         invocations from here...
37398         * modules/atoll (configure.ac): ... to here.
37400 2011-05-05  Bruno Haible  <bruno@clisp.org>
37402         argz: Move AC_LIBOBJ invocations to module description.
37403         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
37404         * modules/argz (configure.ac): ... to here.
37406 2011-05-05  Bruno Haible  <bruno@clisp.org>
37408         alphasort: Move AC_LIBOBJ invocations to module description.
37409         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
37410         gl_PREREQ_ALPHASORT invocations from here...
37411         * modules/alphasort (configure.ac): ... to here.
37413 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
37415         verify: new macro verify_expr; verify_true deprecated
37416         * NEWS: Mention this.
37417         * doc/verify.texi (Compile-time Assertions): Document this.
37418         * lib/verify.h (verify_true): Deprecate.
37419         (verify_expr): New macro.
37420         * tests/test-verify.c (function): Test verify_expr.
37422 2011-06-14  Jim Meyering  <meyering@redhat.com>
37424         init.sh: give more portable redirection-related advice in a comment
37425         * tests/init.sh (stderr_fileno_): Update the advice in comments.
37426         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
37427         for lots of discussion.  Stefano Lattarini suggested the solution
37428         of putting "9>&2" after the command.  Reported by Bruno Haible.
37430 2011-06-13  Bruno Haible  <bruno@clisp.org>
37432         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
37433         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
37434         'none'.
37436 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
37438         ftoastr: use strtof only if HAVE_STRTOF
37439         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
37440         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
37441         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
37442         * modules/ftoastr (configure.ac): Check for strtof.
37444 2011-06-13  Bruno Haible  <bruno@clisp.org>
37446         gnulib-tool: Addendum to 2011-06-08 commit.
37447         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
37448         and --witness-c-macro have been given, augment AM_CPPFLAGS.
37450 2011-06-13  Bruno Haible  <bruno@clisp.org>
37452         fseeko: Provide a non-inline replacement of fseek().
37453         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
37454         * modules/fseeko (Depends-on): Add fseek.
37455         * modules/fseek (License): Change to LGPLv2+.
37457 2011-06-13  Bruno Haible  <bruno@clisp.org>
37459         ftello: Provide a non-inline replacement of ftell().
37460         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
37461         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
37462         not have ftello() (such as on mingw).
37463         * modules/ftello (Depends-on): Add ftell.
37464         * modules/ftell (License): Change to LGPLv2+.
37466 2011-05-07  Bruno Haible  <bruno@clisp.org>
37468         ftell: Move AC_LIBOBJ invocations to module description.
37469         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
37470         * modules/ftell (configure.ac): ... to here.
37472 2011-05-07  Bruno Haible  <bruno@clisp.org>
37474         ftello: Respect rules for use of AC_LIBOBJ.
37475         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
37476         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
37477         here...
37478         * modules/ftello (configure.ac): ... to here.
37480 2011-05-07  Bruno Haible  <bruno@clisp.org>
37482         fseeko: Simplify.
37483         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
37484         (gl_FUNC_FSEEKO): Inline it here.
37486 2011-05-07  Bruno Haible  <bruno@clisp.org>
37488         fseek: Move AC_LIBOBJ invocations to module description.
37489         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
37490         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
37491         * modules/fseek (configure.ac): ... to here.
37493 2011-05-07  Bruno Haible  <bruno@clisp.org>
37495         fseek: Respect rules for use of AC_LIBOBJ.
37496         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
37497         here...
37498         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
37500 2011-05-07  Bruno Haible  <bruno@clisp.org>
37502         fseeko: Respect rules for use of AC_LIBOBJ.
37503         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
37504         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
37505         here...
37506         * modules/fseeko (configure.ac): ... to here.
37508 2011-06-13  Bruno Haible  <bruno@clisp.org>
37510         gnulib-tool: Allow comments in the 'Depends-on' section.
37511         * doc/gnulib.texi (Module description): Mention comment syntax in the
37512         Depends-on section.
37513         * gnulib-tool (func_get_dependencies): Filter out comment lines.
37515 2011-06-13  Bruno Haible  <bruno@clisp.org>
37517         file-set.h: guard __attibute__ use, now that it's not always defined
37518         * lib/file-set.h (record_file): Use __attribute__ only with compiler
37519         versions that support it.  This fixes a coreutils build failure with
37520         the vendor cc on HP-UX 11.31.
37522 2011-06-12  Bruno Haible  <bruno@clisp.org>
37524         acl: Add support for HP-UX >= 11.11 JFS ACLs.
37525         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
37526         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
37527         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
37528         (acl, aclsort): New declarations.
37529         (aclv_nontrivial): New declaration.
37530         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
37531         (file_has_acl): Read also the second kind of HP-UX ACLs.
37532         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
37533         kind of HP-UX ACLs if the first kind fails.
37534         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
37535         second kind of HP-UX ACLs.
37536         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
37537         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
37538         agree.
37539         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
37540         hpuxjfs.
37541         Handle hpuxjfs.
37542         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
37543         hpuxjfs.
37544         Handle hpuxjfs.
37545         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
37546         (func_test_same_acls): Use both lsacl and getacl.
37547         Handle hpuxjfs.
37548         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
37549         (func_test_same_acls): Use both lsacl and getacl.
37550         Handle hpuxjfs.
37552 2011-06-12  Bruno Haible  <bruno@clisp.org>
37554         acl: Complete the 2010-08-10 fix.
37555         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
37556         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
37557         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
37558         explicitly.
37559         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
37560         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
37562 2011-06-12  Bruno Haible  <bruno@clisp.org>
37564         spawn-pipe tests: Comments.
37565         * tests/test-spawn-pipe-child.c (main): Update comment.
37566         Reported by James Youngman <jay@gnu.org>.
37568 2011-06-11  James Youngman  <jay@gnu.org>
37570         New module 'stat-size'.
37571         * modules/stat-size: New module.  Provides macros for accessing
37572         file size information in instances of struct stat.  Depends on the
37573         fileblocks module because it calls st_blocks.
37574         * lib/stat-size.h: New file, adapted from coreutils' system.h.
37575         * doc/gnulib.texi: Include stat-size.texi.
37576         * doc/stat-size.texi: Documentation for this module.
37577         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
37578         * m4/fileblocks.m4: Mention that stat-size depends on the call to
37579         AC_STRUCT_ST_BLOCKS.
37581 2011-06-09  Bruno Haible  <bruno@clisp.org>
37583         thread: Support pthreads-win32.
37584         * lib/glthread/thread.h (gl_thread_self): Define differently on
37585         pthreads-win32.
37586         (gl_null_thread): New declaration.
37587         (gl_thread_self_pointer): New macro.
37588         * lib/glthread/thread.c (gl_null_thread): New constant.
37589         * tests/test-lock.c: Use gl_thread_self_pointer instead of
37590         gl_thread_self.
37591         * tests/test-tls.c: Likewise.
37592         Suggested by Paul Eggert. Reported by Eric Blake.
37594 2011-06-09  Bruno Haible  <bruno@clisp.org>
37596         thread: Fix confusion between NULL and 0.
37597         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
37598         Reported by Paul Eggert.
37600 2011-06-09  Bruno Haible  <bruno@clisp.org>
37602         spawn-pipe tests: Avoid test failure on HP-UX 11.
37603         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
37604         is closed.
37606 2011-06-09  Bruno Haible  <bruno@clisp.org>
37608         acl tests: Fix compilation error on HP-UX 11.
37609         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
37611 2011-06-09  Bruno Haible  <bruno@clisp.org>
37613         rmdir: Avoid test failure on HP-UX 10.20.
37614         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
37615         EEXIST.
37617 2011-06-08  Eric Blake  <eblake@redhat.com>
37619         perror: fix test on mingw
37620         * modules/perror-tests (Depends-on): Add dup2.
37622         strerror_r-posix: fix on MacOS
37623         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
37624         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
37625         logic bug.
37626         * lib/strerror_r.c (strerror_r): Fix the bug.
37627         * lib/strerror.c (strerror): Likewise.
37628         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
37629         problem.
37630         * doc/posix-functions/strerror.texi (strerror): Likewise.
37631         * doc/posix-functions/perror.texi (perror): Likewise.
37632         * tests/test-strerror.c (main): Enhance test.
37633         * tests/test-strerror_r.c (main): Likewise.
37635 2011-06-08  Bruno Haible  <bruno@clisp.org>
37637         gnulib-tool: Better isolation between different gnulib-tool invocations.
37638         * gnulib-tool: New option --witness-c-macro.
37639         (witness_c_macro): New variable.
37640         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
37641         AM_CPPFLAGS define it as a C macro.
37642         (func_emit_tests_Makefile_am): Likewise.
37643         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
37644         read it from there.
37645         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
37646         m4_define, not AC_DEFUN.
37647         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
37648         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
37649         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
37650         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
37651         s|...|...|, to substitute the values of the GNULIB_* module indicator
37652         variables.
37653         * modules/dirent (Makefile.am): Likewise.
37654         * modules/fcntl-h (Makefile.am): Likewise.
37655         * modules/iconv-h (Makefile.am): Likewise.
37656         * modules/langinfo (Makefile.am): Likewise.
37657         * modules/locale (Makefile.am): Likewise.
37658         * modules/math (Makefile.am): Likewise.
37659         * modules/netdb (Makefile.am): Likewise.
37660         * modules/poll-h (Makefile.am): Likewise.
37661         * modules/pty (Makefile.am): Likewise.
37662         * modules/search (Makefile.am): Likewise.
37663         * modules/signal (Makefile.am): Likewise.
37664         * modules/spawn (Makefile.am): Likewise.
37665         * modules/stdio (Makefile.am): Likewise.
37666         * modules/stdlib (Makefile.am): Likewise.
37667         * modules/string (Makefile.am): Likewise.
37668         * modules/sys_ioctl (Makefile.am): Likewise.
37669         * modules/sys_select (Makefile.am): Likewise.
37670         * modules/sys_socket (Makefile.am): Likewise.
37671         * modules/sys_stat (Makefile.am): Likewise.
37672         * modules/sys_times (Makefile.am): Likewise.
37673         * modules/sys_utsname (Makefile.am): Likewise.
37674         * modules/sys_wait (Makefile.am): Likewise.
37675         * modules/termios (Makefile.am): Likewise.
37676         * modules/time (Makefile.am): Likewise.
37677         * modules/unistd (Makefile.am): Likewise.
37678         * modules/wchar (Makefile.am): Likewise.
37680 2011-06-08  Eric Blake  <eblake@redhat.com>
37682         strerror: simplify replacement
37683         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
37684         * modules/strerror (configure.ac): No prereqs needed here...
37685         * modules/strerror-override (configure.ac): ...but this needs it.
37686         (Files): Add file for needed prereq macro.
37688 2011-06-08  Bruno Haible  <bruno@clisp.org>
37690         strerror_r-posix: Tweaks.
37691         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
37692         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
37693         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
37694         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
37695         (gl_FUNC_STRERROR_R): ... to here.
37696         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
37698 2011-06-07  Eric Blake  <eblake@redhat.com>
37700         perror: document fixed bugs
37701         * doc/posix-functions/perror.texi (perror): Document recent
37702         patches.
37704 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
37706         stat-time: get_stat_birthtime failure is better-defined
37707         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
37708         return a timestamp whose tv_sec and tv_nsec values are both -1.
37709         Previously, the spec said only that the tv_nsec value was negative.
37710         This upward-compatible change simplifies GNU tar a bit.
37712 2011-06-07  Eric Blake  <eblake@redhat.com>
37714         strerror_r-posix: work around cygwin 1.7.9
37715         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
37716         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
37717         bug without replacing strerror_r.
37718         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
37719         strerror_r is buggy, but without requiring strerror_r compilation.
37720         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
37722         test-perror: relax test to ignore cygwin bug
37723         * tests/test-perror2.c (main): Relax test on requiring detection
37724         of stream errors, and use unbuffered stream.
37725         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
37726         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
37727         * doc/posix-functions/fputc.texi (fputc): Likewise.
37728         * doc/posix-functions/fputs.texi (fputs): Likewise.
37729         * doc/posix-functions/fputws.texi (fputws): Likewise.
37730         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
37731         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
37732         * doc/posix-functions/getopt.texi (getopt): Likewise.
37733         * doc/posix-functions/perror.texi (perror): Likewise.
37734         * doc/posix-functions/printf.texi (printf): Likewise.
37735         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
37736         * doc/posix-functions/psignal.texi (psignal): Likewise.
37737         * doc/posix-functions/putc.texi (putc): Likewise.
37738         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
37739         Likewise.
37740         * doc/posix-functions/putchar.texi (putchar): Likewise.
37741         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
37742         Likewise.
37743         * doc/posix-functions/puts.texi (puts): Likewise.
37744         * doc/posix-functions/putwc.texi (putwc): Likewise.
37745         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
37746         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
37747         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
37748         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
37749         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
37750         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
37751         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
37752         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
37754 2011-05-22  Bruno Haible  <bruno@clisp.org>
37756         strerror: Move AC_LIBOBJ invocations to module description.
37757         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
37758         gl_PREREQ_STRERROR invocations from here...
37759         * modules/strerror (configure.ac): ... to here.
37761 2011-05-21  Bruno Haible  <bruno@clisp.org>
37763         perror: Use common idiom.
37764         * modules/perror (configure.ac): Reorder statements.
37766 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
37768         tests: fix usage message in 'mktempd_'
37769         * tests/init.sh (mktempd_): In the usage message, use literal
37770         'mktempd_', not '$ME' (which is even undefined), as the name of
37771         the subroutine.
37773 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
37775         tests init: new function 'fatal_', for hard errors
37776         Before this patch, the only way offered by tests/init.sh to
37777         properly signal a hard error was the `framework_failure_'
37778         function.  But the error message issued by that function,
37779         as its name would suggest, refers to a set-up failure in the
37780         testsuite, while hard errors can obviously also be due to
37781         other reasons.  The best way to fix this inconsistency is to
37782         introduce a new function with a more general error message.
37783         * tests/init.sh (fatal_): New function.
37785 2011-06-06  Eric Blake  <eblake@redhat.com>
37787         canonicalize-lgpl: use common idiom
37788         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
37789         over newer POSIX -Rf.
37790         Reported by Bruno Haible.
37792         canonicalize-lgpl: work around AIX realpath bug
37793         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
37794         * doc/posix-functions/realpath.texi (realpath): Document it.
37795         Reported by Bruno Haible.
37797         strerror: work around FreeBSD bug
37798         * lib/strerror.c (strerror): Special case 0.
37799         Reported by Bruno Haible.
37801         strerror-override: avoid bloating errno module
37802         * modules/errno (Files, configure.ac): Move replacement strings...
37803         * modules/strerror-override: ...to new module.
37804         * modules/strerror (Depends-on): Add strerror-override.
37805         * modules/strerror_r-posix (Depends-on): Likewise.
37806         * MODULES.html.sh: Document new module.
37807         Reported by Bruno Haible.
37809 2011-06-06  Bruno Haible  <bruno@clisp.org>
37811         spawn-pipe tests: Rename program.
37812         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
37813         * tests/test-spawn-pipe-child.c: Update comment.
37814         * tests/test-spawn-pipe.sh: Update.
37815         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
37817         spawn-pipe tests: Link the child program only against libc.
37818         * tests/test-spawn-pipe-child.c: New file, extracted from
37819         tests/test-spawn-pipe.c.
37820         (main): Expect only one argument.
37821         (is_open): New function, copied from tests/test-pipe.c.
37822         * tests/test-spawn-pipe.c: Don't include <errno.h>.
37823         (child_main): Remove function.
37824         (test_pipe): Pass only one argument to the child program.
37825         (main): Remove child process code. Expect the child program's name as
37826         first argument.
37827         * tests/test-spawn-pipe.sh: Pass the child program's name as first
37828         argument.
37829         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
37830         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
37831         test-spawn-pipe-child against no libraries.
37833 2011-06-06  Bruno Haible  <bruno@clisp.org>
37835         careadlinkat: Avoid mismatch between ssize_t and int.
37836         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
37837         * lib/careadlinkat.c (careadlinkatcwd): Define always.
37839 2011-06-06  Jim Meyering  <meyering@redhat.com>
37841         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
37842         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
37843         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
37845 2011-06-05  Bruno Haible  <bruno@clisp.org>
37847         ansi-c++-opt: Interoperability with libtool.
37848         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
37849         set the variable to "no", not to ":".
37850         * NEWS: Mention the change.
37852 2011-06-05  Bruno Haible  <bruno@clisp.org>
37854         acl: Fix test failure on AIX 7.
37855         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
37856         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
37858 2011-06-05  Bruno Haible  <bruno@clisp.org>
37860         pipe-filter-ii: Fix test failure on AIX and IRIX.
37861         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
37862         with EAGAIN, retry with a smaller buffer size.
37864 2011-06-05  Bruno Haible  <bruno@clisp.org>
37866         localename: Fix link dependencies.
37867         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
37868         * modules/localename-tests (Makefile.am): Link test-localename with
37869         $(LIBTHREAD).
37871 2011-06-05  Bruno Haible  <bruno@clisp.org>
37873         error: Avoid gcc warning.
37874         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
37876 2011-06-05  Bruno Haible  <bruno@clisp.org>
37878         unsetenv: Avoid gcc warning.
37879         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
37881 2011-06-05  Bruno Haible  <bruno@clisp.org>
37883         setenv: Avoid gcc warning.
37884         * lib/setenv.c (setenv): Provide declaration if system lacks it.
37886 2011-06-05  Bruno Haible  <bruno@clisp.org>
37888         sys_select: Ensure memset is declared also on AIX 7.
37889         * lib/sys_select.in.h: Include <string.h> also on AIX.
37890         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
37891         self-contained also on AIX 7.1.
37893 2011-06-04  Jim Meyering  <meyering@redhat.com>
37895         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
37896         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
37897         function name, "error".
37898         (_gl_translatable_diag_func_re): New configurable variable.
37900 2011-06-04  Bruno Haible  <bruno@clisp.org>
37902         getopt: Avoid gcc warning.
37903         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
37905 2011-06-04  Bruno Haible  <bruno@clisp.org>
37907         strerror_r: Fix comments.
37908         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
37909         commit.
37911 2011-06-04  Bruno Haible  <bruno@clisp.org>
37913         perror: Fix compilation error.
37914         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
37915         Undefine fprintf, not sprintf.
37916         * modules/perror (Depends-on): Remove intprops, verify.
37918 2011-06-04  Bruno Haible  <bruno@clisp.org>
37920         setlocale: Enable replacement on Cygwin 1.5.
37921         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
37922         Cygwin 1.5.x.
37923         * doc/posix-functions/setlocale.texi: Mention that the problem with the
37924         LC_CTYPE category also exists on Cygwin 1.5.x.
37926 2011-06-04  Bruno Haible  <bruno@clisp.org>
37928         strerror-override: Don't disable symbol renamings.
37929         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
37930         * lib/strerror-override.c: Include config.h.
37931         (strerror_override): Don't undefine.
37933 2011-06-03  Bruno Haible  <bruno@clisp.org>
37935         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
37936         * lib/localename.h: Update copyright header.
37937         * lib/localename.c: Likewise.
37938         * lib/relocatable.h: Likewise.
37939         * lib/relocatable.c: Likewise.
37941 2011-06-02  Bruno Haible  <bruno@clisp.org>
37943         doc: Fix a module name.
37944         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
37946 2011-06-02  Bruno Haible  <bruno@clisp.org>
37948         pipe2: Remove dependency on 'nonblocking' module.
37949         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
37950         O_NONBLOCK is defined by gnulib.
37951         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
37952         is zero.
37953         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
37954         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
37955         defined by gnulib.
37956         (get_nonblocking_flag): New function.
37957         (main): Test O_NONBLOCK flag only if it is nonzero.
37958         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
37960 2011-06-03  Jim Meyering  <meyering@redhat.com>
37962         maint: three new prohibit-header-without-use rules
37963         Prohibit use of cloexec.h, posixver.h, same.h without use.
37964         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
37965         (sc_prohibit_posixver_without_use): Likewise.
37966         (sc_prohibit_same_without_use): Likewise.
37968 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
37970         allocator: 'die' routine is now given requested size
37971         * lib/allocator.h (struct allocator.die): New size arg.
37972         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
37973         If the actual problem is an ssize_t limitation, not a size_t or
37974         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
37976 2011-06-01  Eric Blake  <eblake@redhat.com>
37978         strerror: drop strerror_r dependency
37979         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
37980         * lib/strerror-override.c (strerror_override): ...to new file.
37981         * lib/strerror-override.h: Add prototype.
37982         * lib/strerror-impl.h: Delete.
37983         * lib/strerror.c (strerror): New implementation.
37984         * modules/errno (Files): Add new files.
37985         (configure.ac): Compile new file as appropriate.
37986         * modules/strerror (Files): Drop unused file.
37987         (Depends-on): Drop strerror_r-posix.
37988         * MODULES.html.sh: Document strerror_r-posix.
37989         Requested by Sam Steingold.
37991         perror: call strerror_r directly
37992         * modules/perror (Files): Drop strerror-impl.h.
37993         * lib/perror.c (perror): Use our own stack buffer, rather than
37994         calling a wrapper that uses static storage.
37995         * doc/posix-functions/perror.texi (perror): Document a limitation
37996         of our replacement.
37998         strerror_r: fix includes for FreeBSD
37999         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
38000         since we use abort on some platforms.
38001         Reported by Matthias Bolte.
38003 2011-05-31  Bruno Haible  <bruno@clisp.org>
38005         Fix link errors in tests: openat-die uses gettext-h.
38006         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
38007         against $(LIBINTL).
38008         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
38009         against $(LIBINTL).
38010         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
38011         $(LIBINTL).
38012         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
38013         against $(LIBINTL).
38014         * modules/linkat-tests (Makefile.am): Link test-linkat against
38015         $(LIBINTL).
38016         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
38017         $(LIBINTL).
38018         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
38019         against $(LIBINTL).
38020         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
38021         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
38022         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
38023         $(LIBINTL).
38024         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
38025         $(LIBINTL).
38026         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
38027         $(LIBINTL).
38028         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38030 2011-05-31  Bruno Haible  <bruno@clisp.org>
38032         Fix link errors in tests: wait-process uses gettext-h.
38033         * modules/nonblocking-pipe-tests (Makefile.am): Set
38034         test_nonblocking_pipe_main_LDADD.
38035         * modules/nonblocking-socket-tests (Makefile.am): Link
38036         test-nonblocking-socket-main against $(LIBINTL).
38037         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38039 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
38041         assert-h: work around 'verify' incompatibility
38042         * lib/verify.h: Use @...@ directives, not ifdef.
38043         * modules/assert-h (assert.h): Implement the directives.
38044         (assert.h): Substitute the symbol-prefix more consistently.
38046 2011-05-29  Jim Meyering  <meyering@redhat.com>
38048         trim: remove three superfluous assignments
38049         * lib/trim.c (trim2): Remove three superfluous assignments
38050         and correct brace positioning.
38052 2011-05-29  Bruno Haible  <bruno@clisp.org>
38054         wctype-h: Avoid namespace pollution on Solaris 2.6.
38055         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
38056         identifiers.
38057         * doc/posix-headers/wctype.texi: Mention the problem.
38058         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38060 2011-05-28  Jim Meyering  <meyering@redhat.com>
38062         parse-datetime.y: accommodate -Wstrict-overflow
38063         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
38064         placate -Wstrict-overflow.
38066         trim: avoid a warning from -O2 -Wstrict-overflow
38067         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
38069 2011-05-29  Bruno Haible  <bruno@clisp.org>
38071         gnulib-tool: Fix bug in yesterday's commit.
38072         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
38073         twice.
38075 2011-05-29  Bruno Haible  <bruno@clisp.org>
38077         Allow multiple gnulib generated include files to be combined.
38078         * gnulib-tool (func_compute_include_guard_prefix): New function.
38079         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
38080         ${gl_include_guard_prefix} references.
38081         (func_import, func_create_testdir): Invoke
38082         func_compute_include_guard_prefix.
38083         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
38084         * lib/ctype.in.h: Likewise.
38085         * lib/dirent.in.h: Likewise.
38086         * lib/errno.in.h: Likewise.
38087         * lib/fcntl.in.h: Likewise.
38088         * lib/float.in.h: Likewise.
38089         * lib/getopt.in.h: Likewise.
38090         * lib/iconv.in.h: Likewise.
38091         * lib/langinfo.in.h: Likewise.
38092         * lib/locale.in.h: Likewise.
38093         * lib/math.in.h: Likewise.
38094         * lib/netdb.in.h: Likewise.
38095         * lib/netinet_in.in.h: Likewise.
38096         * lib/poll.in.h: Likewise.
38097         * lib/pthread.in.h: Likewise.
38098         * lib/pty.in.h: Likewise.
38099         * lib/sched.in.h: Likewise.
38100         * lib/se-selinux.in.h: Likewise.
38101         * lib/search.in.h: Likewise.
38102         * lib/signal.in.h: Likewise.
38103         * lib/spawn.in.h: Likewise.
38104         * lib/stdarg.in.h: Likewise.
38105         * lib/stddef.in.h: Likewise.
38106         * lib/stdint.in.h: Likewise.
38107         * lib/stdio.in.h: Likewise.
38108         * lib/stdlib.in.h: Likewise.
38109         * lib/string.in.h: Likewise.
38110         * lib/strings.in.h: Likewise.
38111         * lib/sys_file.in.h: Likewise.
38112         * lib/sys_ioctl.in.h: Likewise.
38113         * lib/sys_select.in.h: Likewise.
38114         * lib/sys_socket.in.h: Likewise.
38115         * lib/sys_stat.in.h: Likewise.
38116         * lib/sys_time.in.h: Likewise.
38117         * lib/sys_times.in.h: Likewise.
38118         * lib/sys_uio.in.h: Likewise.
38119         * lib/sys_utsname.in.h: Likewise.
38120         * lib/sys_wait.in.h: Likewise.
38121         * lib/sysexits.in.h: Likewise.
38122         * lib/termios.in.h: Likewise.
38123         * lib/time.in.h: Likewise.
38124         * lib/unistd.in.h: Likewise.
38125         * lib/wchar.in.h: Likewise.
38126         * lib/wctype.in.h: Likewise.
38127         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
38128         * modules/ctype (Makefile.am): Likewise.
38129         * modules/dirent (Makefile.am): Likewise.
38130         * modules/errno (Makefile.am): Likewise.
38131         * modules/fcntl-h (Makefile.am): Likewise.
38132         * modules/float (Makefile.am): Likewise.
38133         * modules/getopt-posix (Makefile.am): Likewise.
38134         * modules/iconv-h (Makefile.am): Likewise.
38135         * modules/langinfo (Makefile.am): Likewise.
38136         * modules/locale (Makefile.am): Likewise.
38137         * modules/math (Makefile.am): Likewise.
38138         * modules/netdb (Makefile.am): Likewise.
38139         * modules/netinet_in (Makefile.am): Likewise.
38140         * modules/poll-h (Makefile.am): Likewise.
38141         * modules/pthread (Makefile.am): Likewise.
38142         * modules/pty (Makefile.am): Likewise.
38143         * modules/sched (Makefile.am): Likewise.
38144         * modules/search (Makefile.am): Likewise.
38145         * modules/selinux-h (Makefile.am): Likewise.
38146         * modules/signal (Makefile.am): Likewise.
38147         * modules/spawn (Makefile.am): Likewise.
38148         * modules/stdarg (Makefile.am): Likewise.
38149         * modules/stddef (Makefile.am): Likewise.
38150         * modules/stdint (Makefile.am): Likewise.
38151         * modules/stdio (Makefile.am): Likewise.
38152         * modules/stdlib (Makefile.am): Likewise.
38153         * modules/string (Makefile.am): Likewise.
38154         * modules/strings (Makefile.am): Likewise.
38155         * modules/sys_file (Makefile.am): Likewise.
38156         * modules/sys_ioctl (Makefile.am): Likewise.
38157         * modules/sys_select (Makefile.am): Likewise.
38158         * modules/sys_socket (Makefile.am): Likewise.
38159         * modules/sys_stat (Makefile.am): Likewise.
38160         * modules/sys_time (Makefile.am): Likewise.
38161         * modules/sys_times (Makefile.am): Likewise.
38162         * modules/sys_uio (Makefile.am): Likewise.
38163         * modules/sys_utsname (Makefile.am): Likewise.
38164         * modules/sys_wait (Makefile.am): Likewise.
38165         * modules/sysexits (Makefile.am): Likewise.
38166         * modules/termios (Makefile.am): Likewise.
38167         * modules/time (Makefile.am): Likewise.
38168         * modules/unistd (Makefile.am): Likewise.
38169         * modules/wchar (Makefile.am): Likewise.
38170         * modules/wctype-h (Makefile.am): Likewise.
38171         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
38173 2011-05-29  Bruno Haible  <bruno@clisp.org>
38175         assert-h: Allow multiple gnulib generated replacements to coexist.
38176         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
38178 2011-05-29  Bruno Haible  <bruno@clisp.org>
38180         argp: Allow coexistence with strerror_r-posix module.
38181         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
38182         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
38183         by gnulib's <string.h> replacement), assume it has the POSIX signature,
38184         not the glibc signature.
38186 2011-05-28  Bruno Haible  <bruno@clisp.org>
38188         gnulib-tool: Alternative structure of testdirs, similar to --import.
38189         * gnulib-tool: New option --single-configure.
38190         (func_usage): Document it.
38191         (single_configure): New variable.
38192         (func_modules_transitive_closure_separately,
38193         func_modules_transitive_closure_separately,
38194         func_determine_use_libtests, func_modules_add_dummy_separately,
38195         func_modules_to_filelist_separately): New functions, extracted from
38196         func_import.
38197         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
38198         (func_import): Use the new functions.
38199         (func_create_testdir): Set final_modules. Handle $single_configure =
38200         true case.
38202 2011-05-28  Bruno Haible  <bruno@clisp.org>
38204         getloadavg: Remove an unreliable safety check.
38205         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
38206         getloadavg.c is in place.
38207         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
38208         Reported by Sam Steingold <sds@gnu.org>.
38210 2011-05-28  Bruno Haible  <bruno@clisp.org>
38212         doc: Cleanup yet another file produced by texinfo.tex.
38213         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
38215 2011-05-28  Bruno Haible  <bruno@clisp.org>
38217         Finish the conditional dependencies mechanism.
38218         * gnulib-tool: New option --no-conditional-dependencies.
38219         (func_usage): Document it. Don't mark --conditional-dependencies as
38220         experimental.
38221         (cond_dependencies): The possible values can now be true, false, empty.
38222         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
38223         (func_import): Store setting in gnulib-cache.m4 and read it from there.
38224         * doc/gnulib-tool.texi (Conditional dependencies): New section.
38226 2011-05-28  Bruno Haible  <bruno@clisp.org>
38228         doc: Use a recent texinfo.tex.
38229         * doc/Makefile (tex_opts): New variable.
38230         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
38232 2011-05-28  Jim Meyering  <meyering@redhat.com>
38234         intprops.h: adjust comment to match code change
38235         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
38236         only once, it *may* have side effects.  Also fix an unrelated typo.
38237         (_GL_INT_SIGNED): Likewise.
38239 2011-05-26  Simon Josefsson  <simon@josefsson.org>
38241         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
38243 2011-05-26  Bruno Haible  <bruno@clisp.org>
38245         mbsrchr: Avoid collision with system function on Interix.
38246         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
38247         Reported by Markus Duft <mduft@gentoo.org>.
38249 2011-05-15  James Youngman  <jay@gnu.org>
38251         getopt: for ambiguous options, enumerate the possibilities.
38252         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
38253         the ambiguous options when an ambiguous prefix is given. This was
38254         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
38255         glibc change was
38256         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
38258 2011-05-25  Eric Blake  <eblake@redhat.com>
38260         getcwd: work around mingw bug
38261         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
38262         * doc/posix-functions/getcwd.texi (getcwd): Document it.
38263         Reported by Matthias Bolte.
38265 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
38267         test-intprops: disable -Wtype-limits diagnostics
38268         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
38269         diagnostics.  Otherwise, the integer overflow macros generate many
38270         diagnostics.  Reported by Jim Meyering in
38271         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
38273         intprops: shorten, to pacify gcc -Woverlength-strings
38274         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
38275         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
38276         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
38277         likely to run afoul of C compiler limits for string constant lengths.
38278         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
38280 2011-05-24  Eric Blake  <eblake@redhat.com>
38282         docs: document recently fixed glibc printf bug
38283         * doc/posix-functions/fprintf.texi (fprintf): Document it.
38284         * doc/posix-functions/printf.texi (printf): Likewise.
38285         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
38286         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
38288         closein-tests: convert to init.sh
38289         * modules/closein-tests (Files): Add init.sh
38290         * tests/test-closein.sh Use it.
38292         yesno-tests: convert to init.sh
38293         * modules/yesno-tests (Files): Add init.sh.
38294         * tests/test-yesno.sh: Use it.
38296         atexit-tests: ensure reliable exit status
38297         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
38298         Reported by Bruno Haible.
38300 2011-05-24  Bruno Haible  <bruno@clisp.org>
38302         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
38303         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
38304         gl_PREREQ_STRERROR_R invocations from here...
38305         * modules/strerror_r-posix (configure.ac): ... to here.
38307 2011-05-24  Eric Blake  <eblake@redhat.com>
38309         strerror_r: fix missing header
38310         * lib/strerror_r.c: Avoid compiler warning about snprintf.
38312         strerror_r: fix AIX test failures
38313         * lib/strerror_r.c (strerror_r): Convert silent truncation to
38314         ERANGE failure.
38316         strerror_r: fix Solaris test failures
38317         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
38318         failures.
38319         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
38321         strerror_r: enforce POSIX recommendations
38322         * lib/strerror_r.c (safe_copy): New helper method.
38323         (strerror_r): Guarantee a non-empty string.
38324         * tests/test-strerror_r.c (main): Enhance tests to incorporate
38325         recent POSIX rulings and to match our strerror guarantees.
38326         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
38328 2011-05-24  Jim Meyering  <meyering@redhat.com>
38330         test-perror2.c: avoid warning about unused variable
38331         * tests/test-perror2.c (main): Remove declaration of unused "fp".
38333 2011-05-24  Eric Blake  <eblake@redhat.com>
38335         perror: avoid spurious test failure on HP-UX
38336         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
38338         tests: fix logic bug in init.sh
38339         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
38340         shell.
38342 2011-05-24  Jim Meyering  <meyering@redhat.com>
38344         utimensat: do not reference an out-of-scope buffer
38345         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
38346         declared in an inner scope, yet "times" would be dereferenced outside
38347         the scope in which "ts" was valid.
38348         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
38349         of ts[2] "out/up", so that the use of aliased "times" (via
38350         "times = ts;") does not end up referencing an out-of-scope "ts"
38352         opendir-safer.c: don't clobber errno; don't close negative FD
38353         * lib/opendir-safer.c (opendir_safer):
38354         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
38355         file descriptor, and more importantly, don't clobber the
38356         offending errno value with EINVAL.  Before, upon failure
38357         of dup_safer, we would pass the negative file descriptor to
38358         fdopendir, which would clobber errno.
38360 2011-05-23  Bruno Haible  <bruno@clisp.org>
38362         idcache: Fix module description.
38363         * modules/idcache (Include): Set to "idcache.h".
38365 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
38367         gnulib-tool: fix portability problem with MacOS sed
38368         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
38369         before the "}".  Problem reported by Leo in
38370         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
38371         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
38372         sed_extract_condition1, sed_extract_condition2.
38374 2011-05-23  Bruno Haible  <bruno@clisp.org>
38376         hash: Simplify autoconf macro.
38377         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
38379 2011-05-23  Bruno Haible  <bruno@clisp.org>
38381         getugroups: Fix module description.
38382         * modules/getugroups (Include): Set to "getugroups.h".
38384 2011-05-23  Bruno Haible  <bruno@clisp.org>
38386         linkat: Simplify autoconf macro.
38387         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
38389 2011-05-23  Bruno Haible  <bruno@clisp.org>
38390             Eric Blake  <eblake@redhat.com>
38392         linkat, renameat: Update dependencies.
38393         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
38394         * modules/linkat (Depends-on): Likewise. Remove also readlink,
38395         symlinkat.
38397 2011-05-23  Jim Meyering  <meyering@redhat.com>
38399         maint.mk: more tight_scope improvements
38400         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
38401         (_gl_TS_headers): Define only in if-0'd block.
38402         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
38403         sometimes we must *not* use it.  Adjust uses accordingly.
38404         (sc_tight_scope): Use much simpler grep-based test to determine
38405         whether we skip this rule.
38407         maint.mk: generalize/improve the tight-scope rule
38408         * top/maint.mk: Emit a warning when the test is skipped.
38409         (_gl_TS_dir): Add $(srcdir)/ prefix.
38410         (_gl_TS_function_match): Simplify, rather than trying
38411         to enumerate common types.  Otherwise, it would fail to match an
38412         "extern unsigned char const *" declaration in idutils.
38413         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
38414         a way to support use of that type of macro.
38415         (_gl_TS_var_match): Simplify regexp.
38416         (_gl_TS_obj_files): New configurable variable.
38417         (_gl_TS_headers): Likewise.
38419 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
38421         verify: fix bug when gnulib <assert.h> is also included
38422         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
38423         is defined, not if _GL_STATIC_ASSERT_H is not defined.
38424         Perhaps there's a better way, but this fixes the immediate problem.
38425         Problem reported by Bruno Haible in
38426         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
38428 2011-05-22  Bruno Haible  <bruno@clisp.org>
38430         xgetcwd: Simplify autoconf macro.
38431         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
38433 2011-05-22  Bruno Haible  <bruno@clisp.org>
38435         New module 'mktime-internal'.
38436         * modules/mktime-internal: New file.
38437         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
38438         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
38439         mktime_internal as a C macro if libc has __mktime_internal.
38440         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
38441         conditions.
38442         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
38444 2011-05-22  Bruno Haible  <bruno@clisp.org>
38446         timegm: Correct mktime replacement statements.
38447         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
38448         defining mktime as a C macro. This completes a 2009-07-28 commit.
38450 2011-05-22  Bruno Haible  <bruno@clisp.org>
38452         timegm: Simplify autoconf macro.
38453         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
38455 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
38457         clock-time: change to LGPLv2+.
38458         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
38459         BSD-like but we have no mark for that; this is good enough for now.
38461 2011-05-21  Bruno Haible  <bruno@clisp.org>
38463         strerror_r: Fix comments.
38464         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
38466 2011-05-21  Bruno Haible  <bruno@clisp.org>
38468         relocatable-prog-wrapper: Fix possible link error.
38469         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
38470         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
38471         (gl_FUNC_SETENV): ... to here.
38472         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
38473         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
38475 2011-05-21  Bruno Haible  <bruno@clisp.org>
38477         relocatable-prog-wrapper: Assume strerror() exists.
38478         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
38479         m4/strerror.m4.
38480         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
38481         * lib/relocwrapper.c: Remove mention of strerror module.
38482         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
38483         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
38484         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
38485         C macro.
38487 2011-05-21  Bruno Haible  <bruno@clisp.org>
38489         select: Simplify replacement idiom.
38490         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
38491         Win32 platforms.
38492         * lib/sys_select.in.h (select): Simplify accordingly.
38493         * modules/select (Depends-on): Likewise.
38495 2011-05-21  Bruno Haible  <bruno@clisp.org>
38497         mkdir-p: Simplify autoconf macro.
38498         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
38499         gl_FUNC_LCHOWN.
38501 2011-05-21  Eric Blake  <eblake@redhat.com>
38503         strerror_r: avoid clobbering strerror on cygwin
38504         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
38505         fall back instead to sys_errlist.
38506         * modules/strerror (configure.ac): Add witness.
38507         * tests/test-strerror_r.c (main): Enhance test.
38508         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
38509         * tests/test-perror2.c (main): Free memory before exit.
38511 2011-05-21  Bruno Haible  <bruno@clisp.org>
38513         mkdtemp: Use gnulib naming conventions.
38514         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
38515         * modules/mkdtemp (configure.ac): Update.
38517 2011-05-20  Eric Blake  <eblake@redhat.com>
38519         strerror_r: avoid corrupting errno on Solaris
38520         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
38521         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
38523         strerror_r: avoid compiler warning
38524         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
38526         strerror_r: simplify AIX code
38527         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
38529         test-perror: avoid spurious failure on FreeBSD
38530         * modules/perror-tests (Depends-on): Add strerror, now that
38531         strerror_r no longer pulls it in.
38533 2011-05-20  Bruno Haible  <bruno@clisp.org>
38535         strerror_r-posix: Remove unused dependencies.
38536         * modules/strerror_r-posix (Depends-on): Remove strerror.
38537         Reported by Eric Blake.
38539 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
38541         intprops: remove assumption about A|B representation
38542         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
38543         is a valid integer if both A and B are.  Although this is true for
38544         all known practical hosts, the C standard doesn't guarantee it,
38545         and the code need not assume it.  Also, this change may work around
38546         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
38547         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
38549 2011-05-20  Eric Blake  <eblake@redhat.com>
38551         perror: work around FreeBSD bug
38552         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
38553         is broken.  Move AC_LIBOBJ...
38554         * modules/perror (configure.ac): Here.
38555         * doc/posix-functions/perror.texi (perror): Document this.
38556         * tests/test-perror2.c (main): Enhance test.
38558         test-perror: check for strerror interactions
38559         * tests/macros.h (STREQ): Add macro.
38560         * modules/perror-tests (Files): Add second test.
38561         * tests/test-perror2.c (main): New file.
38562         * doc/posix-functions/perror.texi (perror): Document glibc bug.
38564         test-perror: rewrite to use init script
38565         * modules/perror-tests (Files): Add init.sh.
38566         * tests/test-perror.sh: Use temporary directory.
38568 2011-05-20  Jim Meyering  <meyering@redhat.com>
38570         maint: replace misused "a" with "an"
38571         * doc/intprops.texi: "a integer"
38572         * doc/regex.texi: "a explanation"
38573         * lib/alignof.h: "a object"
38574         * lib/argmatch.h: "a explanation"
38575         * lib/argp-help.c: "a option" and "a OPTION_DOC"
38576         * lib/stdint.in.h: "a integer"
38577         * lib/userspec.c: "a owner"
38578         * doc/gnulib.texi: Fix "a idea", and reword.
38580 2011-05-19  Jim Meyering  <meyering@redhat.com>
38582         maint: correct misuse of "a" and "an"
38583         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
38584         * lib/argp-help.c: "an docum...": s/an/a/
38585         * lib/argp-parse.c: "An vector": s/An/A/
38586         * lib/execute.c: "an native": s/an/a/
38587         * lib/spawn-pipe.c: Likewise.
38588         * lib/gc.h: "an Gc_rc": s/an/a/
38589         * lib/unigbrk.in.h: "an grapheme": s/an/a/
38590         * lib/fts.c: "an stat.st_dev": s/an/a/
38592 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38594         intprops-tests: work around HP-UX 11.23 cc bug with constants
38595         * tests/test-intprops.c (VERIFY): New macro.
38596         (main): Use it, instead of verify, to work around the compiler bug; see
38597         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38599         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
38600         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
38601         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
38602         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
38603         (_GL_REMAINDER_OVERFLOW): Use it.
38605         intprops-tests: revert unsigned part of previous change
38606         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
38607         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
38608         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
38609         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
38611 2011-05-19  Bruno Haible  <bruno@clisp.org>
38613         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
38614         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
38615         strerror_r() returned without filling the buffer.
38616         Reported by Eric Blake.
38618 2011-05-19  Eric Blake  <eblake@redhat.com>
38620         strerror_r: guarantee unchanged errno
38621         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
38622         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
38623         failure.
38624         * tests/test-strerror_r.c (main): Enhance test.
38626 2011-05-19  Bruno Haible  <bruno@clisp.org>
38628         strerror_r: Reorder #if blocks.
38629         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
38630         for consistency with the previous commit.
38632 2011-05-19  Bruno Haible  <bruno@clisp.org>
38634         perror: Avoid clobbering the strerror buffer when possible.
38635         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
38636         * lib/strerror.c: Include it.
38637         * modules/strerror (Files): Add lib/strerror-impl.h.
38638         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
38639         (my_strerror): New function, defined through lib/strerror-impl.h.
38640         (perror): Use it instead of strerror.
38641         * modules/perror (Files): Add lib/strerror-impl.h.
38642         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
38644 2011-05-19  Eric Blake  <eblake@redhat.com>
38646         strerror_r: fix on newer cygwin
38647         * lib/strerror_r.c (strerror_r): Cygwin now has
38648         __xpg_strerror_r, use it.
38650 2011-05-19  Bruno Haible  <bruno@clisp.org>
38652         strerror_r: Avoid clobbering the strerror buffer when possible.
38653         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
38654         (sys_nerr, sys_errlist): New declarations.
38655         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
38656         HP-UX, native Win32, IRIX, and 32-bit Solaris.
38657         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
38659 2011-05-19  Bruno Haible  <bruno@clisp.org>
38661         strerror_r: Fix test failure on mingw.
38662         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
38663         EXTEND_STRERROR_R.
38664         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
38665         macros from errno.in.h instead.
38667 2011-05-19  Eric Blake  <eblake@redhat.com>
38669         strerror: relax test for Solaris
38670         * tests/test-strerror.c (main): Permit Solaris behavior.
38671         * tests/test-strerror_r.c (main): Likewise.
38673         strerror: enforce POSIX ruling on strerror(0)
38674         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
38675         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
38676         * lib/strerror_r.c (rpl_strerror_r): Work around it.
38677         * doc/posix-functions/strerror.texi (strerror): Document it.
38678         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
38679         * tests/test-strerror.c (main): Strengthen test.
38680         * tests/test-strerror_r.c (main): Likewise.
38682 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38684         intprop-tests: port to older and more-pedantic compilers
38685         * modules/intprops-tests (Files): Add tests/macros.h.
38686         * tests/test-intprops.c: Include macros.h.
38687         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
38688         it's no longer documented to expand to an integer constant expression.
38689         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
38690         argument is floating point, as it's no longer documented to expand
38691         to an integer constant expression in that case.
38692         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
38693         compiler bugs reported by Bruno Haible.  See
38694         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38695         (U0, U1): New constants, to work around the same bugs.  Also,
38696         in tests, use e.g., "(unsigned int) 39" rather than "39u".
38698         intprops: work around C compiler bugs
38699         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
38700         bug in Sun C 5.11 2010/08/13 and other compilers; see
38701         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38703         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
38704         * doc/intprops.texi (Integer Type Determination): Fix
38705         documentation for TYPE_IS_INTEGER: it returns an constant
38706         expression, not an integer constant expression.  Fix doc for
38707         TYPE_SIGNED: it returns an integer constant expression only if its
38708         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
38709         hardly worth documented that way....)
38711 2011-05-18  Bruno Haible  <bruno@clisp.org>
38713         strerror_r: Avoid clobbering the strerror buffer when possible.
38714         * lib/strerror_r.c (strerror_r): Merge the three implementations.
38715         Handle gnulib defined errno values here. When strerror() returns NULL
38716         or an empty string, return EINVAL.
38717         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
38718         gnulib defined errno values here.
38719         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
38721 2011-05-18  Eric Blake  <eblake@redhat.com>
38723         fnmatch: avoid compiler warning
38724         * lib/fnmatch_loop.c (FCT): Use correct type.
38725         Reported by Matthias Bolte.
38727 2011-05-13  Jim Meyering  <meyering@redhat.com>
38729         maint.mk: three new prohibit_<HDR>_without_use rules
38730         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
38731         (sc_prohibit_stdio-safer_without_use): Likewise.
38732         (sc_prohibit_xfreopen_without_use): Likewise.
38734 2011-05-17  Jim Meyering  <meyering@redhat.com>
38736         announce-gen: fail if the NEWS delta is empty
38737         If there's nothing noteworthy in NEWS, then either you forgot
38738         or you shouldn't be releasing.
38739         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
38741 2011-05-17  Pádraig Brady  <P@draigBrady.com>
38743         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
38744         reserved symbols starting with double underscore from the check.
38746 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
38748         intprops: add doc
38749         * doc/intprops.texi: New file, documenting intprops.
38750         * doc/gnulib.texi (Particular Modules): Include it.
38752         verify: add doc to gnulib manual and fix example
38753         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
38754         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
38755         (Compile-time Assertions): Fix example so it can't overflow.
38757 2011-05-17  Jim Meyering  <meyering@redhat.com>
38759         warnings.m4: don't usurp save_CPPFLAGS variable name
38760         * m4/warnings.m4: Prefix local temporary variable name with gl_.
38762         doc: fix typo
38763         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
38765 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38766             Bruno Haible  <bruno@clisp.org>
38768         doc: Tweak recent change.
38769         * README (Portability guidelines): Tweak new text.
38770         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
38771         Interix 6.1.
38773 2011-05-16  Eric Blake  <eblake@redhat.com>
38775         inttypes: avoid autoconf warning
38776         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
38777         * m4/stdint.m4 (gl_STDINT_H): Likewise.
38779 2011-05-16  Sam Steingold  <sds@gnu.org>
38780         and Eric Blake  <eblake@redhat.com>
38782         vc-list-files: accept multiple directory operands
38783         * build-aux/vc-list-files: Iterate over all remaining operands.
38785 2011-05-16  Bruno Haible  <bruno@clisp.org>
38787         Fix confusion regarding deprecated modules.
38788         * modules/calloc (Status, Notice): Mark module as deprecated, not
38789         obsolete.
38790         * modules/fnmatch-posix (Status, Notice): Likewise.
38791         * modules/getdate (Status, Notice): Likewise.
38792         * modules/getopt (Status, Notice): Likewise.
38793         * modules/malloc (Status, Notice): Likewise.
38794         * modules/pipe (Status, Notice): Likewise.
38795         * modules/realloc (Status, Notice): Likewise.
38796         * modules/rename-dest-slash (Status, Notice): Likewise.
38797         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
38798         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
38799         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
38800         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
38801         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
38803 2011-05-16  Bruno Haible  <bruno@clisp.org>
38805         doc: List the target platforms.
38806         * doc/gnulib-intro.texi (Target Platforms): New section.
38807         * doc/gnulib.texi (Introduction): Update menu.
38808         * README (Portability guidelines): Refer to the new section. Update
38809         statement about oldest supported environment. Remove rationale why
38810         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
38811         unportable C89 function.
38812         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
38813         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
38815 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38817         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
38819 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
38821         intprops-tests: new module
38822         * modules/intprops-tests, tests/test-intprops.c: New files.
38824         intprops: add safe, portable integer overflow checking
38825         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
38826         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
38827         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
38828         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
38829         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
38830         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
38831         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
38832         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
38833         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
38834         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
38835         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
38837 2011-05-12  James Youngman  <jay@gnu.org>
38839         Add a test for glibc's Bugzilla bug #12378.
38840         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
38841         doesn't allow the literal matching of a lone "[" (which is
38842         required by POSIX).
38843         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
38845 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
38847         Sync glibc change fixing Bugzilla bug #12378.
38848         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
38849         beginning and fall back to matching as normal character if the
38850         string ends before the matching ']' is found.  This is what POSIX
38851         requires.
38853 2011-05-13  Eric Blake  <eblake@redhat.com>
38855         getcwd-lgpl: relax test for FreeBSD
38856         * doc/posix-functions/getcwd.texi (getcwd): Document portability
38857         issue.
38858         * tests/test-getcwd-lgpl.c (main): Relax test.
38859         Reported by Matthias Bolte.
38861 2011-05-11  Eric Blake  <eblake@redhat.com>
38863         test-fflush: silence compiler warning
38864         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
38866 2011-05-11  Bruno Haible  <bruno@clisp.org>
38868         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
38869         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
38870         * modules/canonicalize (Depends-on): Add 'nocrash'.
38871         * modules/canonicalize-lgpl (Depends-on): Likewise.
38872         * doc/posix-functions/realpath.texi: Update platforms list.
38873         Reported by Ryan Schmidt <ryandesign@macports.org>.
38875 2011-05-11  Bruno Haible  <bruno@clisp.org>
38877         group-member: Declare function in <unistd.h>.
38878         * lib/unistd.in.h (group_member): New declaration.
38879         * lib/group-member.h: Remove file.
38880         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
38881         * tests/test-unistd-c++.cc: Check signature of group_member.
38882         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
38883         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
38884         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
38885         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
38886         HAVE_GROUP_MEMBER.
38887         * modules/group-member (Files): Remove lib/group-member.h.
38888         (Depends-on): Add unistd. Specify conditions.
38889         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38890         (Include): Change to <unistd.h>.
38891         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
38892         HAVE_GROUP_MEMBER.
38893         * NEWS: Mention the change.
38894         * lib/euidaccess.c: Don't include group-member.h.
38896 2011-05-11  Bruno Haible  <bruno@clisp.org>
38898         group-member: Document module.
38899         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
38900         module.
38902 2011-05-11  Bruno Haible  <bruno@clisp.org>
38904         fclose: Fix mistake earlier today.
38905         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
38907 2011-05-11  Eric Blake  <eblake@redhat.com>
38909         fclose: preserve fflush errors
38910         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
38911         Reported by Jim Meyering.
38913         bootstrap: support a prereq of 'rpcgen -' on RHEL5
38914         * build-aux/bootstrap (check_versions): When no specific version
38915         is required, merely check that the app produces an exit status
38916         that indicates its existence.
38918         maint.mk: drop redundant check
38919         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
38920         the same but better.
38922 2011-05-11  Bruno Haible  <bruno@clisp.org>
38924         fclose: Fix possible link error.
38925         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
38926         unregister_shadow_fd. Improve comments.
38927         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
38928         Eric Blake.
38930 2011-05-11  Jim Meyering  <meyering@redhat.com>
38932         maint.mk: improve "can not" detection and generalize rule name
38933         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
38934         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
38935         Use the same technique as in sc_prohibit_doubled_word, so that
38936         we recognize "can not" also when the words are separated by a newline.
38937         Suggested by Eric Blake.
38938         (perl_filename_lineno_text_): Define.  Factored out of...
38939         (prohibit_doubled_word_): ...here.  Use the new definition.
38940         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
38941         (prohibit_undesirable_word_seq_RE_): New overridable variable.
38942         (ignore_undesirable_word_sequence_RE_): New overridable variable.
38944 2011-05-10  Eric Blake  <eblake@redhat.com>
38946         fclose: avoid double close race when possible
38947         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
38948         all but WINDOWS_SOCKETS.
38950 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
38952         openat: correct new comment
38953         * lib/openat-proc.c (openat_proc_name): Correct the comment.
38955 2011-05-10  Jim Meyering  <meyering@redhat.com>
38957         openat: add comments
38958         * lib/openat-proc.c (openat_proc_name): Add comments,
38959         mostly from Eric Blake.
38961 2011-05-09  Eric Blake  <eblake@redhat.com>
38963         openat: reduce syscalls in first probe of /proc
38964         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
38965         be a directory.  Simplify the probe for .. bugs.
38966         * modules/openat (Depends-on): Drop same-inode.
38967         Reported by Bastien ROUCARIES.
38969 2011-05-09  Jim Meyering  <meyering@redhat.com>
38971         maint.mk: change semantics/name of tight_scope variables
38972         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
38973         Rename variables to align with semantics that make them more useful.
38975         maint.mk: tweak new rule's name not to impinge
38976         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
38977         (sc_tight_scope): Use new rule name rather than $@-0.
38979         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
38980         * top/maint.mk (sc_tight_scope): New rule.
38981         (sc_tight_scope-0): New rule, ifdef'd out.
38982         (_gl_TS_dir): Default.
38983         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
38984         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
38986 2011-05-09  Simon Josefsson  <simon@josefsson.org>
38988         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
38989         Haible <bruno@clisp.org>.
38991 2011-05-08  Bruno Haible  <bruno@clisp.org>
38993         Comments.
38994         * m4/isnanf.m4: Add comment.
38995         * m4/isnanl.m4: Likewise.
38997 2011-05-08  Bruno Haible  <bruno@clisp.org>
38999         glob: Remove obsolete macro.
39000         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
39002 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
39004         intprops: Sun C 5.11 supports __typeof__
39005         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
39006         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
39007         which is new.
39008         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
39010         intprops: switch to usual gnulib indenting and naming
39011         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
39012         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
39014         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
39016 2011-05-08  Jim Meyering  <meyering@redhat.com>
39018         maint.mk: suppress "Entering/Leaving directory" diag in announcement
39019         * top/maint.mk (release-prep): Use make's --no-print-directory
39020         option when generating the announcement.  This eliminates the
39021         pesky "make[2]: Entering/Leaving directory" diagnostics in the
39022         generated announcement template.
39024 2011-05-08  Bruno Haible  <bruno@clisp.org>
39026         tzset: Fix gettimeofday wrapper on Solaris 2.6.
39027         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
39028         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
39030 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
39032         ignore-value, verify: Omit include files from lib_SOURCES.
39033         * modules/ignore-value, modules/verify (Makefile.am):
39034         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
39035         that leads Automake to duplicate use of am__objects_... variables
39036         in Makefile.in.  See
39037         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
39039 2011-05-07  Bruno Haible  <bruno@clisp.org>
39041         fclose: Simplify autoconf macro.
39042         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
39043         defined.
39045 2011-05-07  Bruno Haible  <bruno@clisp.org>
39047         canonicalize-lgpl: Fix autoconf macro ordering bug.
39048         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
39049         gl_STDLIB_H_DEFAULTS.
39051 2011-05-06  Eric Blake  <eblake@redhat.com>
39053         maintainer-makefile: make sc_po_check easier to tune
39054         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
39055         to probe for strings, such as an alternate location for gnulib.
39057         fclose: guarantee behavior on seekable stdin
39058         * modules/fclose (Depends-on): Add fflush.
39059         * doc/posix-functions/fclose.texi (fclose): Document this.
39060         * tests/test-fclose.c (main): Make test for this unconditional.
39062 2011-05-06  Bruno Haible  <bruno@clisp.org>
39064         fflush, fpurge: Relicense under LGPLv2+.
39065         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
39066         * modules/fpurge (License): Likewise.
39067         With permission from Eric Blake and Jim Meyering.
39068         Suggested by Eric Blake.
39070 2011-05-06  Karl Berry  <karl@gnu.org>
39072         * MODULES.html.sh (func_all_modules): remove exit.
39074 2011-05-06  Jim Meyering  <meyering@redhat.com>
39076         maint.mk: use info-gnu@ as the default only for a stable release
39077         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
39078         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
39079         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
39080         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
39082 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
39084         assert-h: new module, which supports C1X-style static_assert
39085         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
39086         * lib/verify.h: Revamp so that this can be copied into assert.h,
39087         while retaining the ability to use it standalone as before.
39088         Rename private identifiers so as not to encroach on the
39089         standard C namespace, since this is now used by assert.h.
39090         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
39091         the old verify_true.
39092         (_GL_VERIFY_TRUE): New macro, with much of the contents of
39093         the old verify_true.  Use _GL_VERIFY_TYPE.
39094         (_GL_VERIFY): New macro, with much of the contents of the old verify.
39095         (static_assert): New macro, if _GL_STATIC_ASSERT_H
39096         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
39097         defined when this file is copied into the replacement assert.h.
39098         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
39099         and _Static_assert is not built in.
39100         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
39101         defined, and use the new macros mentioned above.
39102         * doc/posix-headers/assert.texi: Document this.
39104 2011-05-05  Bruno Haible  <bruno@clisp.org>
39106         fclose, fflush: Respect rules for use of AC_LIBOBJ.
39107         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
39108         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
39109         gl_REPLACE_FCLOSE here.
39110         * modules/fflush (Depends-on): Remove fclose.
39111         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
39112         combination with module 'fclose'.
39114 2011-05-05  Bruno Haible  <bruno@clisp.org>
39116         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
39117         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
39118         gl_FUNC_FFLUSH.
39119         (gl_FUNC_FFLUSH): Use it.
39120         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
39121         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
39122         gl_REPLACE_FSEEKO here.
39124 2011-05-05  Bruno Haible  <bruno@clisp.org>
39126         tzset: Relicense under LGPL.
39127         * modules/tzset (License): Change to LGPL.
39128         No agreement needed; it's a no-op.
39130         strtoimax, strtoumax: Relicense under LGPL.
39131         * modules/strtoimax (License): Change to LGPL.
39132         * modules/strtoumax (License): Likewise.
39133         With permission from Jim Meyering, Paul Eggert:
39134         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
39135         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
39137         getgroups: Relicense under LGPL.
39138         * modules/getgroups (License): Change to LGPL.
39139         With permission from Jim Meyering, Paul Eggert, Eric Blake:
39140         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
39141         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
39142         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39144         nanosleep: Relicense under LGPL.
39145         * modules/nanosleep (License): Change to LGPL.
39146         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
39147         Haible:
39148         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
39149         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
39150         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39151         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
39153         futimens: Relicense under LGPL.
39154         * modules/futimens (License): Change to LGPL.
39155         With permission from Eric Blake:
39156         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39158         fflush: Relicense under LGPL.
39159         * modules/fflush (License): Change to LGPL.
39160         With permission from Eric Blake, Bruno Haible, Jim Meyering:
39161         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39162         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
39163         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
39165         tmpfile: Relicense under LGPL.
39166         * modules/tmpfile (License): Change to LGPL.
39167         With permission from Ben Pfaff:
39168         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
39170         isfinite: Relicense under LGPL.
39171         * modules/isfinite (License): Change to LGPL.
39172         With permission from Ben Pfaff, Bruno Haible:
39173         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
39174         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
39176         acosl..tanl: Relicense under LGPL.
39177         * modules/acosl (License): Change to LGPL.
39178         * modules/asinl (License): Likewise.
39179         * modules/atanl (License): Likewise.
39180         * modules/cosl (License): Likewise.
39181         * modules/expl (License): Likewise.
39182         * modules/logl (License): Likewise.
39183         * modules/sinl (License): Likewise.
39184         * modules/sqrtl (License): Likewise.
39185         * modules/tanl (License): Likewise.
39186         Source code originally from glibc and Paolo Bonzini. Agreements:
39187         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
39188         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
39190 2011-05-05  Bruno Haible  <bruno@clisp.org>
39192         signal: Define sighandler_t.
39193         * lib/signal.in.h (sighandler_t): New type.
39194         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
39195         whether sighandler_t is defined.
39196         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
39197         * modules/signal (Depends-on): Add extensions.
39198         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
39199         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
39200         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
39202 2011-05-05  Eric Blake  <eblake@redhat.com>
39204         maint: remove useless REPLACE_*_H macros
39205         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
39206         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
39207         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
39208         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
39209         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
39210         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
39211         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
39212         * m4/btowc.m4: Update callers.
39213         * m4/dirfd.m4: Likewise.
39214         * m4/duplocale.m4: Likewise.
39215         * m4/fchdir.m4: Likewise.
39216         * m4/fdopendir.m4: Likewise.
39217         * m4/inet_ntop.m4: Likewise.
39218         * m4/inet_pton.m4: Likewise.
39219         * m4/ioctl.m4: Likewise.
39220         * m4/mbrlen.m4: Likewise.
39221         * m4/mbrtowc.m4: Likewise.
39222         * m4/mbsinit.m4: Likewise.
39223         * m4/mbsnrtowcs.m4: Likewise.
39224         * m4/mbsrtowcs.m4: Likewise.
39225         * m4/poll.m4: Likewise.
39226         * m4/setlocale.m4: Likewise.
39227         * m4/wcrtomb.m4: Likewise.
39228         * m4/wcsnrtombs.m4: Likewise.
39229         * m4/wcsrtombs.m4: Likewise.
39230         * m4/wctob.m4: Likewise.
39231         * m4/wcwidth.m4: Likewise.
39232         * modules/posix_spawn: Likewise.
39233         * modules/posix_spawn_file_actions_addclose: Likewise.
39234         * modules/posix_spawn_file_actions_adddup2: Likewise.
39235         * modules/posix_spawn_file_actions_addopen: Likewise.
39236         * modules/posix_spawn_file_actions_destroy: Likewise.
39237         * modules/posix_spawn_file_actions_init: Likewise.
39238         * modules/posix_spawnattr_destroy: Likewise.
39239         * modules/posix_spawnattr_getflags: Likewise.
39240         * modules/posix_spawnattr_getpgroup: Likewise.
39241         * modules/posix_spawnattr_getschedparam: Likewise.
39242         * modules/posix_spawnattr_getschedpolicy: Likewise.
39243         * modules/posix_spawnattr_getsigdefault: Likewise.
39244         * modules/posix_spawnattr_getsigmask: Likewise.
39245         * modules/posix_spawnattr_init: Likewise.
39246         * modules/posix_spawnattr_setflags: Likewise.
39247         * modules/posix_spawnattr_setpgroup: Likewise.
39248         * modules/posix_spawnattr_setschedparam: Likewise.
39249         * modules/posix_spawnattr_setschedpolicy: Likewise.
39250         * modules/posix_spawnattr_setsigdefault: Likewise.
39251         * modules/posix_spawnattr_setsigmask: Likewise.
39252         * modules/posix_spawnp: Likewise.
39254 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
39256         Add option to do-release-commit-and-tag to specify branch.
39257         * build-aux/do-release-commit-and-tag: Add --branch.
39259 2011-05-03  Bruno Haible  <bruno@clisp.org>
39261         Avoid unnecessary compilation units, through conditional dependencies.
39262         * modules/accept (Depends-on): Add conditions to the dependencies.
39263         * modules/acosl (Depends-on): Likewise.
39264         * modules/argz (Depends-on): Likewise.
39265         * modules/asinl (Depends-on): Likewise.
39266         * modules/atanl (Depends-on): Likewise.
39267         * modules/atoll (Depends-on): Likewise.
39268         * modules/bind (Depends-on): Likewise.
39269         * modules/btowc (Depends-on): Likewise.
39270         * modules/canonicalize-lgpl (Depends-on): Likewise.
39271         * modules/ceil (Depends-on): Likewise.
39272         * modules/ceilf (Depends-on): Likewise.
39273         * modules/ceill (Depends-on): Likewise.
39274         * modules/chdir-long (Depends-on): Likewise.
39275         * modules/chown (Depends-on): Likewise.
39276         * modules/close (Depends-on): Likewise.
39277         * modules/connect (Depends-on): Likewise.
39278         * modules/cosl (Depends-on): Likewise.
39279         * modules/dirfd (Depends-on): Likewise.
39280         * modules/dprintf (Depends-on): Likewise.
39281         * modules/dprintf-posix (Depends-on): Likewise.
39282         * modules/error (Depends-on): Likewise.
39283         * modules/euidaccess (Depends-on): Likewise.
39284         * modules/expl (Depends-on): Likewise.
39285         * modules/faccessat (Depends-on): Likewise.
39286         * modules/fchdir (Depends-on): Likewise.
39287         * modules/fclose (Depends-on): Likewise.
39288         * modules/fcntl (Depends-on): Likewise.
39289         * modules/fdopendir (Depends-on): Likewise.
39290         * modules/fflush (Depends-on): Likewise.
39291         * modules/floor (Depends-on): Likewise.
39292         * modules/floorf (Depends-on): Likewise.
39293         * modules/floorl (Depends-on): Likewise.
39294         * modules/fnmatch (Depends-on): Likewise.
39295         * modules/fopen (Depends-on): Likewise.
39296         * modules/fprintf-posix (Depends-on): Likewise.
39297         * modules/frexp (Depends-on): Likewise.
39298         * modules/frexp-nolibm (Depends-on): Likewise.
39299         * modules/frexpl (Depends-on): Likewise.
39300         * modules/frexpl-nolibm (Depends-on): Likewise.
39301         * modules/fseek (Depends-on): Likewise.
39302         * modules/fsusage (Depends-on): Likewise.
39303         * modules/ftell (Depends-on): Likewise.
39304         * modules/ftello (Depends-on): Likewise.
39305         * modules/futimens (Depends-on): Likewise.
39306         * modules/getcwd (Depends-on): Likewise.
39307         * modules/getcwd-lgpl (Depends-on): Likewise.
39308         * modules/getdelim (Depends-on): Likewise.
39309         * modules/getdomainname (Depends-on): Likewise.
39310         * modules/getgroups (Depends-on): Likewise.
39311         * modules/gethostname (Depends-on): Likewise.
39312         * modules/getline (Depends-on): Likewise.
39313         * modules/getlogin_r (Depends-on): Likewise.
39314         * modules/getopt-posix (Depends-on): Likewise.
39315         * modules/getpeername (Depends-on): Likewise.
39316         * modules/getsockname (Depends-on): Likewise.
39317         * modules/getsockopt (Depends-on): Likewise.
39318         * modules/getsubopt (Depends-on): Likewise.
39319         * modules/getusershell (Depends-on): Likewise.
39320         * modules/glob (Depends-on): Likewise.
39321         * modules/grantpt (Depends-on): Likewise.
39322         * modules/iconv_open (Depends-on): Likewise.
39323         * modules/iconv_open-utf (Depends-on): Likewise.
39324         * modules/inet_ntop (Depends-on): Likewise.
39325         * modules/inet_pton (Depends-on): Likewise.
39326         * modules/ioctl (Depends-on): Likewise.
39327         * modules/isapipe (Depends-on): Likewise.
39328         * modules/isfinite (Depends-on): Likewise.
39329         * modules/isinf (Depends-on): Likewise.
39330         * modules/lchown (Depends-on): Likewise.
39331         * modules/ldexpl (Depends-on): Likewise.
39332         * modules/link (Depends-on): Likewise.
39333         * modules/linkat (Depends-on): Likewise.
39334         * modules/listen (Depends-on): Likewise.
39335         * modules/logl (Depends-on): Likewise.
39336         * modules/lstat (Depends-on): Likewise.
39337         * modules/mbrlen (Depends-on): Likewise.
39338         * modules/mbrtowc (Depends-on): Likewise.
39339         * modules/mbsinit (Depends-on): Likewise.
39340         * modules/mbsnrtowcs (Depends-on): Likewise.
39341         * modules/mbsrtowcs (Depends-on): Likewise.
39342         * modules/mbtowc (Depends-on): Likewise.
39343         * modules/memcmp (Depends-on): Likewise.
39344         * modules/mkdir (Depends-on): Likewise.
39345         * modules/mkdtemp (Depends-on): Likewise.
39346         * modules/mkfifo (Depends-on): Likewise.
39347         * modules/mkfifoat (Depends-on): Likewise.
39348         * modules/mknod (Depends-on): Likewise.
39349         * modules/mkostemp (Depends-on): Likewise.
39350         * modules/mkostemps (Depends-on): Likewise.
39351         * modules/mkstemp (Depends-on): Likewise.
39352         * modules/mkstemps (Depends-on): Likewise.
39353         * modules/mktime (Depends-on): Likewise.
39354         * modules/nanosleep (Depends-on): Likewise.
39355         * modules/open (Depends-on): Likewise.
39356         * modules/openat (Depends-on): Likewise.
39357         * modules/perror (Depends-on): Likewise.
39358         * modules/poll (Depends-on): Likewise.
39359         * modules/popen (Depends-on): Likewise.
39360         * modules/posix_spawn (Depends-on): Likewise.
39361         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
39362         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
39363         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
39364         * modules/posix_spawnp (Depends-on): Likewise.
39365         * modules/pread (Depends-on): Likewise.
39366         * modules/printf-posix (Depends-on): Likewise.
39367         * modules/ptsname (Depends-on): Likewise.
39368         * modules/putenv (Depends-on): Likewise.
39369         * modules/pwrite (Depends-on): Likewise.
39370         * modules/readline (Depends-on): Likewise.
39371         * modules/readlink (Depends-on): Likewise.
39372         * modules/readlinkat (Depends-on): Likewise.
39373         * modules/recv (Depends-on): Likewise.
39374         * modules/recvfrom (Depends-on): Likewise.
39375         * modules/regex (Depends-on): Likewise.
39376         * modules/remove (Depends-on): Likewise.
39377         * modules/rename (Depends-on): Likewise.
39378         * modules/renameat (Depends-on): Likewise.
39379         * modules/rmdir (Depends-on): Likewise.
39380         * modules/round (Depends-on): Likewise.
39381         * modules/roundf (Depends-on): Likewise.
39382         * modules/roundl (Depends-on): Likewise.
39383         * modules/rpmatch (Depends-on): Likewise.
39384         * modules/select (Depends-on): Likewise.
39385         * modules/send (Depends-on): Likewise.
39386         * modules/sendto (Depends-on): Likewise.
39387         * modules/setenv (Depends-on): Likewise.
39388         * modules/setlocale (Depends-on): Likewise.
39389         * modules/setsockopt (Depends-on): Likewise.
39390         * modules/shutdown (Depends-on): Likewise.
39391         * modules/sigaction (Depends-on): Likewise.
39392         * modules/signbit (Depends-on): Likewise.
39393         * modules/sigprocmask (Depends-on): Likewise.
39394         * modules/sinl (Depends-on): Likewise.
39395         * modules/sleep (Depends-on): Likewise.
39396         * modules/snprintf (Depends-on): Likewise.
39397         * modules/snprintf-posix (Depends-on): Likewise.
39398         * modules/socket (Depends-on): Likewise.
39399         * modules/sprintf-posix (Depends-on): Likewise.
39400         * modules/sqrtl (Depends-on): Likewise.
39401         * modules/stat (Depends-on): Likewise.
39402         * modules/strchrnul (Depends-on): Likewise.
39403         * modules/strdup-posix (Depends-on): Likewise.
39404         * modules/strerror (Depends-on): Likewise.
39405         * modules/strerror_r-posix (Depends-on): Likewise.
39406         * modules/strndup (Depends-on): Likewise.
39407         * modules/strnlen (Depends-on): Likewise.
39408         * modules/strptime (Depends-on): Likewise.
39409         * modules/strsep (Depends-on): Likewise.
39410         * modules/strsignal (Depends-on): Likewise.
39411         * modules/strstr-simple (Depends-on): Likewise.
39412         * modules/strtod (Depends-on): Likewise.
39413         * modules/strtoimax (Depends-on): Likewise.
39414         * modules/strtok_r (Depends-on): Likewise.
39415         * modules/strtoumax (Depends-on): Likewise.
39416         * modules/symlink (Depends-on): Likewise.
39417         * modules/symlinkat (Depends-on): Likewise.
39418         * modules/tanl (Depends-on): Likewise.
39419         * modules/tcgetsid (Depends-on): Likewise.
39420         * modules/tmpfile (Depends-on): Likewise.
39421         * modules/trunc (Depends-on): Likewise.
39422         * modules/truncf (Depends-on): Likewise.
39423         * modules/truncl (Depends-on): Likewise.
39424         * modules/uname (Depends-on): Likewise.
39425         * modules/unlink (Depends-on): Likewise.
39426         * modules/unlockpt (Depends-on): Likewise.
39427         * modules/unsetenv (Depends-on): Likewise.
39428         * modules/usleep (Depends-on): Likewise.
39429         * modules/utimensat (Depends-on): Likewise.
39430         * modules/vasprintf (Depends-on): Likewise.
39431         * modules/vdprintf (Depends-on): Likewise.
39432         * modules/vdprintf-posix (Depends-on): Likewise.
39433         * modules/vfprintf-posix (Depends-on): Likewise.
39434         * modules/vprintf-posix (Depends-on): Likewise.
39435         * modules/vsnprintf (Depends-on): Likewise.
39436         * modules/vsnprintf-posix (Depends-on): Likewise.
39437         * modules/vsprintf-posix (Depends-on): Likewise.
39438         * modules/wcrtomb (Depends-on): Likewise.
39439         * modules/wcscasecmp (Depends-on): Likewise.
39440         * modules/wcscspn (Depends-on): Likewise.
39441         * modules/wcsdup (Depends-on): Likewise.
39442         * modules/wcsncasecmp (Depends-on): Likewise.
39443         * modules/wcsnrtombs (Depends-on): Likewise.
39444         * modules/wcspbrk (Depends-on): Likewise.
39445         * modules/wcsrtombs (Depends-on): Likewise.
39446         * modules/wcsspn (Depends-on): Likewise.
39447         * modules/wcsstr (Depends-on): Likewise.
39448         * modules/wcstok (Depends-on): Likewise.
39449         * modules/wcswidth (Depends-on): Likewise.
39450         * modules/wctob (Depends-on): Likewise.
39451         * modules/wctomb (Depends-on): Likewise.
39452         * modules/wctype (Depends-on): Likewise.
39453         * modules/wcwidth (Depends-on): Likewise.
39454         * modules/write (Depends-on): Likewise.
39456 2011-05-03  Bruno Haible  <bruno@clisp.org>
39458         Support for conditional dependencies.
39459         * doc/gnulib.texi (Module description): Document the syntax of
39460         conditional dependencies.
39461         * gnulib-tool: New option --conditional-dependencies.
39462         (func_usage): Document it.
39463         (cond_dependencies): New variable.
39464         (func_get_automake_snippet_conditional,
39465         func_get_automake_snippet_unconditional): New functions, extracted from
39466         func_get_automake_snippet.
39467         (func_get_automake_snippet): Use them.
39468         (sed_first_32_chars): New variable.
39469         (func_module_shellfunc_name): New function.
39470         (func_module_shellvar_name): New function.
39471         (func_module_conditional_name): New function.
39472         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
39473         func_cond_module_condition): New functions.
39474         (func_modules_transitive_closure): Add support for conditional
39475         dependencies.
39476         (func_emit_lib_Makefile_am): For a conditional module, enclose the
39477         conditional automake snippet in an automake conditional.
39478         (func_emit_autoconf_snippets): Emit shell functions that contain the
39479         code for conditional modules.
39480         (func_import, func_create_testdir): Update specification.
39482 2011-05-03  Eric Blake  <eblake@redhat.com>
39484         test-getaddrinfo: report error information
39485         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
39487 2011-05-03  Jim Meyering  <meyering@redhat.com>
39489         bootstrap: avoid build failure when $GZIP is set
39490         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
39491         program name.  If defined at all, it is supposed to list gzip options.
39492         Reported by Alan Curry in http://debbugs.gnu.org/8609
39494 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
39496         readme-release: new module with release instructions
39497         * modules/readme-release: New module.
39498         * top/README-release: New file, from coreutils, grep, diffutils.
39499         * MODULES.html.sh (Support for maintaining and releasing): Add it.
39501 2011-05-02  Eric Blake  <eblake@redhat.com>
39503         fflush: also replace fclose when fixing fflush
39504         * modules/fflush (Depends-on): Add fclose.
39505         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
39506         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
39507         memstreams with no backing fd.
39508         * doc/posix-functions/fclose.texi (fclose): Document the use of
39509         fflush module to fix the bug.
39510         * tests/test-fclose.c (main): Relax test when fclose is used in
39511         isolation.
39513         fclose: add some tests
39514         * modules/fclose-tests: New test module.
39515         * tests/test-fclose.c: New file.
39516         * doc/posix-functions/fclose.texi (fclose): Document the bug.
39518         fclose: reduced dependencies
39519         * modules/fclose (Depends-on): Switch from fflush/fseeko to
39520         simpler lseek.
39521         * lib/fclose.c (rpl_fclose): Likewise.
39522         Reported by Simon Josefsson.
39524         exit: drop remaining clients
39525         * modules/argmatch (Depends-on): Replace exit with stdlib.
39526         * modules/copy-file (Depends-on): Likewise.
39527         * modules/execute (Depends-on): Likewise.
39528         * modules/exitfail (Depends-on): Likewise.
39529         * modules/obstack (Depends-on): Likewise.
39530         * modules/pagealign_alloc (Depends-on): Likewise.
39531         * modules/pipe-filter-gi (Depends-on): Likewise.
39532         * modules/pipe-filter-ii (Depends-on): Likewise.
39533         * modules/savewd (Depends-on): Likewise.
39534         * modules/spawn-pipe (Depends-on): Likewise.
39535         * modules/wait-process (Depends-on): Likewise.
39536         * modules/xsetenv (Depends-on): Likewise.
39537         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
39538         * modules/git-merge-changelog (Depends-on): Likewise.
39539         * modules/long-options (Depends-on): Likewise.
39540         * modules/pt_chown (Depends-on): Likewise.
39541         * modules/sysexits (Depends-on): Likewise.
39543         freading: relax license from LGPLv3+ to LGPLv2+
39544         * modules/freading (License): Relax LGPL version.
39546 2011-05-02  Bruno Haible  <bruno@clisp.org>
39548         fchdir: Remove unused dependencies.
39549         * modules/fchdir (Depends-on): Remove include_next.
39551 2011-05-02  Bruno Haible  <bruno@clisp.org>
39553         gnulib-tool: Refactor.
39554         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
39555         from func_emit_autoconf_snippets.
39556         (func_emit_autoconf_snippets): Use it.
39558 2011-05-02  Simon Josefsson  <simon@josefsson.org>
39560         * NEWS: Document removal of 'exit'.
39561         * modules/exit: Remove file.
39563 2011-05-01  Bruno Haible  <bruno@clisp.org>
39565         Update DEPENDENCIES.
39566         * DEPENDENCIES (gettext): Recommend the newest release.
39567         Reported by Simon Josefsson.
39569 2011-05-01  Bruno Haible  <bruno@clisp.org>
39571         gnulib-tool: Reduce code duplication.
39572         * gnulib-tool (func_emit_autoconf_snippets): New function.
39573         (func_import, func_create_testdir): Use it.
39575 2011-04-30  Eric Blake  <eblake@redhat.com>
39577         fclose: don't fail on non-seekable input stream
39578         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
39579         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
39580         since fflush is allowed to fail in that case.
39582 2011-04-30  Bruno Haible  <bruno@clisp.org>
39584         dup3: cleanup
39585         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
39587 2011-04-30  Bruno Haible  <bruno@clisp.org>
39589         netdb: Make it work in C++ mode.
39590         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
39591         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
39592         module.
39593         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
39594         gl_MODULE_INDICATOR_FOR_TESTS.
39595         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
39596         * modules/netdb-c++-tests: New file.
39597         * tests/test-netdb-c++.cc: New file.
39599 2011-04-30  Bruno Haible  <bruno@clisp.org>
39601         New modules 'vfscanf', 'vscanf'.
39602         * modules/vfscanf: New file.
39603         * modules/vscanf: New file.
39604         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
39605         here.
39606         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
39607         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
39609 2011-04-30  Bruno Haible  <bruno@clisp.org>
39611         passfd: Add comments.
39612         * lib/passfd.c: Add comments about platforms.
39614 2011-04-30  Bruno Haible  <bruno@clisp.org>
39616         sys_uio: Make <sys/uio.h> self-contained.
39617         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
39618         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
39620 2011-04-30  Bruno Haible  <bruno@clisp.org>
39622         sys_socket: Ensure 'struct iovec' definition.
39623         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
39624         <sys/socket.h>.
39625         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
39627 2011-04-30  Bruno Haible  <bruno@clisp.org>
39629         sys_uio: Protect definition of 'struct iovec'.
39630         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
39631         it as a C struct.
39633 2011-04-30  Bruno Haible  <bruno@clisp.org>
39635         manywarnings: fix indentation
39636         * m4/manywarnings.m4: Indent by 2 spaces consistently.
39638 2011-04-30  Pádraig Brady  <P@draigBrady.com>
39640         manywarnings: add -Wno-missing-field-initializers if needed.
39641         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
39642         option if it's needed to allow initialization with { 0, }
39644 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
39646         announce-gen: cosmetic improvement
39647         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
39649 2011-04-29  Jim Meyering  <meyering@redhat.com>
39651         vc-list-files: indent with spaces, not TABs
39652         * build-aux/vc-list-files: Convert leading TABs to spaces,
39653         to match the style of most other files in gnulib.
39655         announce-gen: indent with spaces, not TABs
39656         * build-aux/announce-gen: Convert all TABs to spaces, to match
39657         the style of most other files in gnulib.
39659 2011-04-29  Eric Blake  <eblake@redhat.com>
39661         quotearg: avoid uninitialized variable use
39662         * lib/quotearg.c (quoting_options_from_style): Initialize
39663         remaining fields, and ensure that custom styles are only used via
39664         quoting_options rather than quoting_style.
39666 2011-04-29  Jim Meyering  <meyering@redhat.com>
39668         maint.mk: remove unused VC-tag variable
39669         * top/maint.mk (VC-tag): Remove unused variable.
39671 2011-04-29  Bruno Haible  <bruno@clisp.org>
39673         netdb: fix gai_strerror replacements
39674         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
39675         * modules/netdb: Substitute it.
39677 2011-04-29  Jim Meyering  <meyering@redhat.com>
39679         test-getcwd.c: avoid new set-but-not-used warning
39680         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
39681         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
39682         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
39683         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
39685         test-hash.c: avoid a new shadowing warning
39686         * tests/test-hash.c (main): Don't shadow "dup".
39688 2011-04-28  Eric Blake  <eblake@redhat.com>
39690         getaddrinfo: fix gai_strerror signature
39691         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
39692         and work around mingw with UNICODE defined.
39693         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
39694         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
39695         * modules/netdb (Makefile.am): Substitute it.
39696         * lib/netdb.in.h (gai_strerror): Declare replacement.
39697         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
39698         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
39699         the fix.
39701         getsockopt: avoid compiler warning
39702         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
39703         Reported by Matthias Bolte.
39705         tests: drop unused link dependency
39706         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
39707         * modules/dirent-safer-tests (Makefile.am): Likewise.
39708         * modules/fdopendir-tests (Makefile.am): Likewise.
39709         * modules/mkfifoat-tests (Makefile.am): Likewise.
39710         * modules/openat-safer-tests (Makefile.am): Likewise.
39711         * modules/openat-tests (Makefile.am): Likewise.
39712         * modules/readlinkat-tests (Makefile.am): Likewise.
39713         * modules/symlinkat-tests (Makefile.am): Likewise.
39714         * modules/linkat-tests (Makefile.am): Likewise.
39715         (Depends-on): Switch to filenamecat-lgpl.
39716         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
39717         LIBINTL.
39718         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
39719         * tests/test-linkat.c (main): Don't require xalloc.
39721         hash, mgetgroups: drop xalloc dependency
39722         * lib/hash.c (includes): Adjust includes.
39723         * lib/mgetgroups.c (includes): Likewise.
39724         (xgetgroups): Move...
39725         * lib/xgetgroups.c: ...to new file.
39726         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
39727         * modules/xgetgroups: New file, split from...
39728         * modules/mgetgroups: ...here.
39729         (Depends-on): Add xalloc-oversized.
39730         * modules/hash (Depends-on): Likewise.
39731         * modules/hash-tests (Depends-on): Drop xalloc.
39732         (test_hash_LDADD): Drop unused library.
39733         * tests/test-hash.c (main): Break xalloc dependency.
39734         (includes): Drop unused include.
39736         xalloc-oversized: new module
39737         * modules/xalloc-oversized: New module.
39738         * modules/xalloc (Depends-on): Add it.
39739         * lib/xalloc.h (xalloc_oversized): Move...
39740         * lib/xalloc-oversized.h: ...into new file.
39742         utimecmp: drop dependency on xmalloc
39743         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
39744         due to memory pressure.
39745         * modules/utimecmp (Depends-on): Drop xalloc.
39747 2011-04-27  Eric Blake  <eblake@redhat.com>
39749         getcwd: fix mingw bugs
39750         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
39751         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
39752         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
39754 2011-04-27  Bruno Haible  <bruno@clisp.org>
39756         mkstemps: Ensure declaration on MacOS X 10.5.
39757         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
39758         * doc/glibc-functions/mkstemps.texi: Document header file problem on
39759         MacOS X.
39761 2011-04-27  Bruno Haible  <bruno@clisp.org>
39763         mkstemp: More documentation.
39764         * doc/posix-functions/mkstemp.texi: Document header file problem on
39765         MacOS X.
39767 2011-04-27  Bruno Haible  <bruno@clisp.org>
39769         mkstemp: Tweak configure message when cross-compiling.
39770         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
39771         result as a guess.
39773 2011-04-27  Bruno Haible  <bruno@clisp.org>
39775         clean-temp: Clarify what it does.
39776         * lib/clean-temp.h: Add more comments.
39777         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
39778         module.
39779         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
39780         * doc/glibc-functions/mkstemps.texi: Likewise.
39781         * doc/glibc-functions/mkostemps.texi: Likewise.
39783 2011-04-27  Eric Blake  <eblake@redhat.com>
39785         fchdir: avoid extra chdir and fix test
39786         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
39787         getcwd-lgpl.
39788         * lib/fchdir.c (get_name): Any absolute name will do; it does not
39789         have to be canonical.
39790         (canonicalize_file_name): Drop unused macro.
39791         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
39793         filenamecat-lgpl: fix licence
39794         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
39795         when it was first created.
39797         linkat, renameat: add missing dependency
39798         * modules/linkat (Depends-on): Require getcwd-lgpl.
39799         * modules/renameat (Depends-on): Likewise.
39801         tests: reduce dependencies
39802         * tests/test-linkat.c (main): Use lighter-weight getcwd.
39803         * tests/test-renameat.c (main): Likewise.
39804         * modules/linkat-tests (Depends-on): Relax dependency.
39805         * modules/renameat-tests (Depends-on): Likewise.
39806         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
39807         dependency explicit.
39809         save-cwd: reduce default dependency
39810         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
39811         * lib/save-cwd.c: Update comments.
39812         * NEWS: Document the semantic change.
39814         getcwd: enhance tests
39815         * tests/test-getcwd-lgpl.c: New file, taken from...
39816         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
39817         repeat long path stress tests from m4 probe.
39818         * modules/getcwd-lgpl-tests: New module.
39819         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
39820         * m4/getcwd-abort-bug.m4: Update comment.
39821         * m4/getcwd-path-max.m4: Likewise.
39823         getcwd-lgpl: new module
39824         * modules/getcwd-lgpl: New module.
39825         * lib/getcwd-lgpl.c: New file.
39826         * doc/posix-functions/getcwd.texi (getcwd): Document it.
39827         * MODULES.html.sh (lacking POSIX:2008): Likewise.
39828         * modules/getcwd (configure.ac): Set C witness.
39829         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
39831         getcwd: tweak comments
39832         * m4/getcwd-abort-bug.m4: Fix comments.
39833         * m4/getcwd-path-max.m4: Likewise.
39834         * m4/getcwd.m4: Likewise.
39836 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
39837         and Eric Blake  <eblake@redhat.com>
39839         mkstemp: replace if system version uses wrong permissions
39840         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
39841         read/write mode bits set in file created by mkstemp.
39842         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
39844 2011-04-27  Eric Blake  <eblake@redhat.com>
39846         passfd: avoid compiler warning
39847         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
39848         Reported by Laine Stump.
39850 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
39852         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
39853         required by the NetBSD (and perhaps other 4.4BSD derived) join.
39855 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
39856         and Eric Blake  <eblake@redhat.com>
39858         mkstemp: mention clean-temp module
39859         * lib/mkstemp.c: Add comment.
39860         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
39862 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
39864         inttypes: also provide default values for 32-bit tests
39865         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
39866         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
39868 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
39870         strtoumax: remove dependency on strtoimax
39871         This is like the strtoull change of yesterday.
39872         * modules/strtoumax (Files): Add lib/strtoimax.c.
39873         (Depends-on): Remove strtoimax and add verify.
39875         inttypes-incomplete: new module
39876         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
39877         all but the PRI* and SCN* parts of gl_INTTYPES_H.
39878         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
39879         of gl_INTTYPES_H.
39880         (gl_INTTYPES_H): Rewrite in terms of these new macros.
39881         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
39882         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
39883         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
39884         * modules/strtoumax, modules/xstrtol (Depends-on):
39885         Depend on inttypes-incomplete, not inttypes.
39886         * modules/inttypes-incomplete: New module, containing the contents
39887         of the old modules/inttypes module, except that the Files: section
39888         omits m4/inttypes-pri.m4, and the configure.ac section invokes
39889         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
39890         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
39891         (Depends-on): Depend only on inttypes-incomplete.
39892         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
39894         inttypes: omit now-redundant strtoimax and strtoumax work
39895         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
39896         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
39898         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
39899         This supports apps that need pointers to strtoimax and strtoumax,
39900         and ports to HP-UX 11.00 64.bit, which has macros that expand to
39901         nonexistent functions.  See
39902         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
39903         et seq.
39904         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
39905         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
39906         a macro.
39907         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
39909 2011-04-25  Simon Josefsson  <simon@josefsson.org>
39911         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
39913 2011-04-25  Bruno Haible  <bruno@clisp.org>
39915         strtol, strtoul: Mark modules as obsolete.
39916         * modules/strtol (Status, Notice): New sections.
39917         * modules/strtoul (Status, Notice): New sections.
39919 2011-04-25  Bruno Haible  <bruno@clisp.org>
39921         strtod: Remove check for strtod, unless supporting old platforms.
39922         * modules/strtod-obsolete: New file.
39923         * m4/strtod-obsolete.m4: New file.
39924         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
39925         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
39926         * modules/strtod (Depends-on): Add strtod-obsolete.
39927         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
39929 2011-04-25  Bruno Haible  <bruno@clisp.org>
39931         strcase: Make module obsolete.
39932         * modules/strcase (Status, Notice): New sections.
39934 2011-04-25  Bruno Haible  <bruno@clisp.org>
39936         dup2: Remove check for dup2, unless supporting old obsolete platforms.
39937         * modules/dup2-obsolete: New file.
39938         * m4/dup2-obsolete.m4: New file.
39939         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
39940         gl_FUNC_DUP2_OBSOLETE is not also defined.
39941         * modules/dup2 (Depends-on): Add dup2-obsolete.
39942         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
39944 2011-04-25  Bruno Haible  <bruno@clisp.org>
39946         strnlen: Avoid memchr related link error on old obsolete platforms.
39947         * modules/memchr-obsolete: New file.
39948         * m4/memchr-obsolete.m4: New file.
39949         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
39950         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
39951         * modules/memchr (Depends-on): Add memchr-obsolete.
39952         * modules/strnlen (Depends-on): Likewise.
39953         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
39955 2011-04-25  Jim Meyering  <meyering@redhat.com>
39957         maint.mk: makefile_at_at_check extend and clean up
39958         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
39959         in addition to */Makefile.am.
39960         Exempt legitimate uses of @VAR@ notation, e.g.,
39961         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
39962         Remove obsolete coreutils-specific comment.
39963         Prompted by discussion here:
39964         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
39966 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
39968         strtoul: remove dependency on strtol
39969         This is so that 'configure' need not check for strtol merely because
39970         the application needs strtoul.
39971         * modules/strtoul (Files): Add lib/strtol.c.
39972         (Depends-on): Remove strtol.
39974         strtoull: remove dependency on strtoul
39975         This is like the strtoll change.
39976         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
39977         (Depends-on): Remove strtoul.
39979         strtoll: remove dependency on strtol
39980         This is so that 'configure' need not check for strtol merely because
39981         the application needs strtoll.
39982         * modules/strtoll (Files): Add lib/strtol.c.
39983         (Depends-on): Remove strtol.
39985 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
39987         inttypes: Move some configure check to module 'imaxdiv'.
39988         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
39989         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
39990         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
39992 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
39994         inttypes: Move some configure check to module 'imaxabs'.
39995         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
39996         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
39997         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
39999 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40001         inttypes: Remove configure tests that are not needed since 2009-12-31.
40002         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
40003         gl_cv_header_working_inttypes_h.
40005 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40007         * modules/strnlen (Depends-on): Remove memchr.
40008         The strnlen implementation doesn't need the memchr module's fixes; see
40009         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
40011         strtol: remove dependency on wchar
40012         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
40013         * modules/strtol (Depends-on): Remove wchar.
40015 2011-04-21  Eric Blake  <eblake@redhat.com>
40017         passfd: fix test regression on Linux
40018         * modules/passfd-tests (configure.ac): Correct socketpair check.
40020         passfd: speed up configure and drop unused code
40021         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
40022         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
40023         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
40024         Instead of probing at configure for unix_scm_rights_bsd44_way,
40025         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
40026         check to a struct member probe.
40027         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
40028         (sendfd, recvfd): Update preprocessor checks.
40029         * modules/passfd (Files): Reflect rename, and drop unused file.
40030         (Depends-on): Drop unused dependency.
40032         passfd: allow compilation on mingw
40033         * modules/sys_socket (Depends-on): Add sys_uio.
40034         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
40035         iovec and a minimal struct msghdr.
40036         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
40037         * tests/test-sys_socket.c (main): Enhance test.
40038         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
40039         guaranteed to provide what we need.
40040         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
40041         * modules/passfd-tests (Depends-on): Add sys_wait.
40042         * tests/test-passfd.c (main): Skip test on mingw, for now.
40043         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
40044         partial 'struct msghdr' implementation.
40046         sys_uio: new module
40047         * modules/sys_uio: New module.
40048         * modules/sys_uio-tests: Likewise.
40049         * lib/sys_uio.in.h: New file.
40050         * m4/sys_uio_h.m4: Likewise.
40051         * tests/test-sys_uio.c: Likewise.
40052         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
40053         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
40055 2011-04-20  Jim Meyering  <meyering@redhat.com>
40057         useless-if-before-free: avoid false-positive
40058         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
40059         disjunct so that it too requires a terminating ";".  Without that,
40060         this script would identify as useless one statement from gcc that
40061         was not:
40062           if (aligned_ptr)
40063             free (((void **) aligned_ptr) [-1]);
40065 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
40067         doc: update users.txt.
40068         * users.txt: Add barcode.
40070 2011-04-19  Bruno Haible  <bruno@clisp.org>
40072         ioctl: Remove link dependency on native Windows.
40073         * lib/fd-hook.h: Renamed from lib/close-hook.h.
40074         (gl_close_fn, gl_ioctl_fn): New types.
40075         (struct fd_hook): Renamed from struct close_hook. Change type of
40076         private_close_fn field. Add private_ioctl_fn field.
40077         (close_hook_fn): Add parameter for primary close method.
40078         (execute_close_hooks, execute_all_close_hooks): Likewise.
40079         (ioctl_hook_fn): New type.
40080         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
40081         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
40082         argument.
40083         (unregister_fd_hook): Renamed from unregister_close_hook.
40084         * lib/fd-hook.c: Renamed from lib/close-hook.c.
40085         Don't include <unistd.h>.
40086         (close): Remove undef.
40087         (anchor): Update.
40088         (execute_close_hooks): Add argument for primary close method.
40089         (execute_all_close_hooks): Likewise.
40090         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
40091         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
40092         argument. Allow each argument to be NULL.
40093         (unregister_fd_hook): Renamed from unregister_close_hook.
40094         * lib/close.c (rpl_close): Pass 'close' function pointer to
40095         execute_all_close_hooks.
40096         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
40097         (primary_ioctl): New function.
40098         (ioctl): Don't call ioctlsocket here. Instead, call
40099         execute_all_ioctl_hooks.
40100         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
40101         close method.
40102         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
40103         (fd_sockets_hook): Renamed from close_sockets_hook.
40104         (gl_sockets_startup, gl_sockets_cleanup): Update.
40105         * modules/fd-hook: Renamed from modules/close-hook. Update.
40106         * modules/close (Depends-on): Add fd-hook, remove close-hook.
40107         * modules/sockets (Depends-on): Likewise.
40108         * modules/ioctl (Depends-on): Add fd-hook.
40109         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
40110         GNULIB_SOCKET.
40112 2011-04-19  Bruno Haible  <bruno@clisp.org>
40114         Move the support of O_NONBLOCK in open() to the 'open' module.
40115         * modules/nonblocking (Depends-on): Remove 'open'.
40116         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
40117         gl_cv_have_open_O_NONBLOCK.
40118         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
40119         O_NONBLOCK support.
40120         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
40122 2011-04-17  Bruno Haible  <bruno@clisp.org>
40124         pipe2: Simplify code.
40125         * lib/pipe2.c (pipe2): Reduce code duplication.
40127 2011-04-17  Bruno Haible  <bruno@clisp.org>
40129         nonblocking: Add comment.
40130         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
40132 2011-04-17  Bruno Haible  <bruno@clisp.org>
40134         nonblocking: Add tests for sockets.
40135         * tests/test-nonblocking-socket.sh: New file.
40136         * tests/test-nonblocking-socket-main.c: New file.
40137         * tests/test-nonblocking-socket-child.c: New file.
40138         * tests/test-nonblocking-socket.h: New file.
40139         * tests/socket-server.h: New file.
40140         * tests/socket-client.h: New file.
40141         * modules/nonblocking-socket-tests: New file.
40142         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
40144 2011-04-17  Bruno Haible  <bruno@clisp.org>
40146         nonblocking: Add tests for pipes.
40147         * tests/test-nonblocking-pipe.sh: New file.
40148         * tests/test-nonblocking-pipe-main.c: New file.
40149         * tests/test-nonblocking-pipe-child.c: New file.
40150         * tests/test-nonblocking-pipe.h: New file.
40151         * tests/test-nonblocking-writer.h: New file.
40152         * tests/test-nonblocking-reader.h: New file.
40153         * tests/test-nonblocking-misc.h: New file.
40154         * modules/nonblocking-pipe-tests: New file.
40155         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
40157 2011-04-16  Bruno Haible  <bruno@clisp.org>
40159         gettext: Clarify the needed programmer actions.
40160         * modules/gettext (Notice): New field.
40161         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
40163 2011-04-16  Bruno Haible  <bruno@clisp.org>
40165         strchrnul: Tweak last commit.
40166         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
40167         bug.
40168         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
40169         as in _GL_FUNCDECL_SYS.
40170         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
40171         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
40173 2011-04-15  Eric Blake  <eblake@redhat.com>
40175         strchrnul: work around cygwin bug
40176         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
40177         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
40178         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
40179         * modules/string (Makefile.am): Substitute it.
40180         * lib/string.in.h (strchrnul): Use it.
40182 2011-04-15  Bruno Haible  <bruno@clisp.org>
40184         Don't require lib/stdio-write.c when only module 'stdio' is used.
40185         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
40186         invocation.
40187         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
40189 2011-04-14  Bruno Haible  <bruno@clisp.org>
40191         Support non-blocking pipe I/O in read() on native Windows.
40192         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
40193         (read): New declaration.
40194         * lib/read.c: New file.
40195         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
40196         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
40197         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
40198         vscanf): New declarations.
40199         * lib/stdio-read.c: New file.
40200         * m4/read.m4: New file.
40201         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
40202         REPLACE_READ.
40203         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
40204         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
40205         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
40206         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
40207         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
40208         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
40209         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
40210         * modules/read: New file.
40211         * modules/nonblocking (Files): Add lib/stdio-read.c.
40212         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
40213         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
40214         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
40215         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
40216         * modules/pread (Depends-on): Add read.
40217         * modules/safe-read (Depends-on): Likewise.
40218         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
40219         gets, scanf, vfscanf, vscanf): Verify signatures.
40220         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
40221         problem with non-blocking pipes.
40222         * doc/posix-functions/fgetc.texi: Likewise.
40223         * doc/posix-functions/fgets.texi: Likewise.
40224         * doc/posix-functions/fread.texi: Likewise.
40225         * doc/posix-functions/fscanf.texi: Likewise.
40226         * doc/posix-functions/getc.texi: Likewise.
40227         * doc/posix-functions/getchar.texi: Likewise.
40228         * doc/posix-functions/gets.texi: Likewise.
40229         * doc/posix-functions/scanf.texi: Likewise.
40230         * doc/posix-functions/vfscanf.texi: Likewise.
40231         * doc/posix-functions/vscanf.texi: Likewise.
40233 2011-04-14  Bruno Haible  <bruno@clisp.org>
40235         Support non-blocking pipe I/O in write() on native Windows.
40236         * lib/write.c (rpl_write): Split a write request that failed merely
40237         because the byte count was larger than the pipe buffer's size.
40238         * doc/posix-functions/write.texi: Mention the problem with large byte
40239         counts.
40241 2011-04-14  Bruno Haible  <bruno@clisp.org>
40243         wchar: Ensure that wchar_t gets defined on uClibc.
40244         * lib/wchar.in.h: On uClibc, include <stddef.h>.
40245         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
40247 2011-04-13  Bruno Haible  <bruno@clisp.org>
40249         safe-write, full-read: Avoid unnecessary compilation units.
40250         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
40251         (Depends-on): Remove safe-read. Add ssize_t.
40252         * modules/full-read (Files): Add lib/full-write.c.
40253         (Depends-on): Add full-write.
40255 2011-04-13  Bruno Haible  <bruno@clisp.org>
40257         Support non-blocking pipe I/O and SIGPIPE in pwrite().
40258         * modules/pwrite (Depends-on): Add 'write'.
40260 2011-04-13  Bruno Haible  <bruno@clisp.org>
40262         Support non-blocking pipe I/O in write() on native Windows.
40263         * lib/unistd.in.h (write): Enable replacement also if
40264         GNULIB_UNISTD_H_NONBLOCKING is 1.
40265         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
40266         (rpl_write): When failing to write on a non-blocking pipe, change
40267         errno from ENOSPC to EAGAIN.
40268         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
40269         putchar, puts, vfprintf, vprintf): Enable replacement also if
40270         GNULIB_STDIO_H_NONBLOCKING is 1.
40271         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
40272         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
40273         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
40274         CALL_WITH_SIGPIPE_EMULATION.
40275         (CALL_WITH_SIGPIPE_EMULATION): Use them.
40276         * m4/nonblocking.m4: New file.
40277         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
40278         for non-blocking I/O support.
40279         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40280         GNULIB_UNISTD_H_NONBLOCKING.
40281         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
40282         required for non-blocking I/O support.
40283         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
40284         * modules/nonblocking (Files): Add m4/nonblocking.m4,
40285         lib/stdio-write.c, m4/asm-underscore.m4.
40286         (Depends-on): Add stdio, unistd.
40287         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
40288         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
40289         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
40290         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
40291         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
40292         problem with non-blocking pipes.
40293         * doc/posix-functions/fputc.texi: Likewise.
40294         * doc/posix-functions/fputs.texi: Likewise.
40295         * doc/posix-functions/fwrite.texi: Likewise.
40296         * doc/posix-functions/printf.texi: Likewise.
40297         * doc/posix-functions/putc.texi: Likewise.
40298         * doc/posix-functions/putchar.texi: Likewise.
40299         * doc/posix-functions/puts.texi: Likewise.
40300         * doc/posix-functions/vfprintf.texi: Likewise.
40301         * doc/posix-functions/vprintf.texi: Likewise.
40302         * doc/posix-functions/write.texi: Likewise.
40304 2011-04-10  Jim Meyering  <meyering@redhat.com>
40306         maint.mk: prohibit doubled words
40307         Detect them also when they're separated by a newline.
40308         There are 3 ways to customize it:
40309           - disable the test on a per file basis, as usual with rules using
40310             $(VC_LIST_EXCEPT)
40311           - replace the default doubled-word-selecting regexp (affects all files)
40312           - ignore a particular file-vs-doubled-word match
40313         I nearly used that last one to ignore the "is is" match in
40314         coreutils' NEWS file, since the text was "ls -is is ..."
40315         To do that, I would have added this line to cfg.mk:
40316           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
40317         but it would have ignored any "is is" match in NEWS.
40318         Low probability, but still...
40319         Instead, I changed the text, slightly:
40320           -  ls -is is now consistent with ls -lis in ignoring values returned
40321           +  "ls -is" is now consistent with ls -lis in ignoring values returned
40322         * top/maint.mk (prohibit_double_word_RE_): Provide default.
40323         (prohibit_doubled_word_): Define.
40324         (sc_prohibit_doubled_word): New rule.
40325         (sc_prohibit_the_the): Remove.  Subsumed by the above.
40327 2011-04-10  Jim Meyering  <meyering@redhat.com>
40329         maint: fix doubled-word typo in comment
40330         * m4/gethostname.m4: s/is is/it is/
40331         * m4/getdomainname.m4: Likewise.
40333 2011-04-10  Jim Meyering  <meyering@redhat.com>
40335         maint: remove doubled word: s/it it/it/
40336         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
40338 2011-04-10  Jim Meyering  <meyering@redhat.com>
40340         maint.mk: remove useless semicolon and backslash
40341         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
40342         semicolon and backslash.
40344 2011-04-10  Bruno Haible  <bruno@clisp.org>
40346         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
40347         * modules/stdint-tests (Depends-on): Add wchar.
40349 2011-04-10  Jim Meyering  <meyering@redhat.com>
40351         maint: remove doubled words in comments, e.g., s/a a/a/
40352         * lib/strptime.c (day_of_the_week): s/the the/the/
40353         * tests/test-chown.h (test_chown): s/a a/a/
40355         test-chown.h: correct a cast
40356         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
40357         when the destination is a stat.st_gid.
40359 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
40361         getaddrinfo: Fix test for sa_len member.
40362         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
40363         include <sys/types.h> before <sys/socket.h>.
40365 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
40367         maint: change "can not" to "cannot"
40368         * doc/posix-functions/iconv.texi (iconv): This one crossed line
40369         boundaries.
40371 2011-04-09  Jim Meyering  <meyering@redhat.com>
40373         maint: change "a a" to "a"
40374         * tests/test-lchown.h (test_lchown): s/a a/a/
40376         maint.mk: prohibit \<the the\>
40377         * top/maint.mk (sc_prohibit_the_the): New rule.
40379         maint: fix "the the" in comment
40380         * lib/count-one-bits.h: s/the the/the/
40382         maint: change "can not" to "cannot"
40383         But do not change the occurrences in maintain.texi or in
40384         build-aux/po/Makefile.in.in, which I presume comes from gettext.
40385         * doc/gnulib-tool.texi: s/can not/cannot/
40386         * doc/posix-functions/accept.texi (accept): Likewise.
40387         * doc/posix-functions/socket.texi (socket): Likewise.
40388         * lib/mbrtowc.c: Likewise.
40390         maint.mk: prohibit use of "can not"
40391         * top/maint.mk (sc_prohibit_can_not): New rule.
40392         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
40394 2011-04-09  Bruno Haible  <bruno@clisp.org>
40396         careadlinkat: Guard against misuse of careadlinkatcwd.
40397         * lib/careadlinkat.c: Include <stdlib.h>.
40398         (careadlinkatcwd): Check that the fd argument is as expected.
40400 2011-04-09  Bruno Haible  <bruno@clisp.org>
40402         careadlinkat: Use common coding style.
40403         * lib/careadlinkat.c: Move gnulib includes after system includes.
40405 2011-04-09  Bruno Haible  <bruno@clisp.org>
40407         careadlinkat: Clarify specification.
40408         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
40409         (careadlinkatcwd): Add comment.
40410         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
40412 2011-04-09  Bruno Haible  <bruno@clisp.org>
40414         areadlinkat: Avoid link error on many platforms.
40415         * modules/areadlinkat (Depends-on): Add areadlink.
40417 2011-04-09  Bruno Haible  <bruno@clisp.org>
40419         allocator, careadlinkat: Fix double-inclusion guard.
40420         * lib/allocator.h: Fix double-inclusion guard.
40421         * lib/careadlinkat.h: Likewise.
40423 2011-04-09  Bruno Haible  <bruno@clisp.org>
40425         relocatable-prog-wrapper: Update after module 'areadlink' changed.
40426         * lib/relocwrapper.c: Update dependencies hierarchy.
40427         * build-aux/install-reloc: Update list of files to be compiled.
40428         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
40429         lib/allocator.[hc].
40431 2011-04-08  Eric Blake  <eblake@redhat.com>
40433         strftime: silence gnulib-tool warning
40434         * modules/strftime-tests (Depends-on): Drop automatic dependency.
40436 2011-04-08  Bruno Haible  <bruno@clisp.org>
40438         verify: Fix syntax error with GCC 4.6 in C++ mode.
40439         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
40440         (HAVE_STATIC_ASSERT): New macro.
40441         (verify_true, verify): Use 'static_assert' if it is supported and
40442         '_Static_assert' is not supported.
40444 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
40446         allocator: New module.
40447         * modules/allocator, lib/allocator.c: New files.
40448         * lib/allocator.h (stdlib_allocator): New decl.
40449         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
40450         Remove.  Do not include <stdlib.h>.
40451         (careadlinkat): Use stdlib_allocator instead of rolling our own.
40452         * modules/careadlinkat (Files): Remove lib/allocator.h.
40453         (Depends-on): Add allocator.
40455         stdlib: let modules use system malloc, realloc
40456         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
40457         if !_GL_USE_STDLIB_ALLOC.
40458         (malloc, realloc): Limit this change to a smaller scope.
40460         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
40461         (malloc, realloc): Don't #undef; no longer needed.
40462         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40463         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40464         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
40465         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40466         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40467         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40468         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40469         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
40471         careadlinkat: rename members to avoid problem
40472         * lib/allocator.h (struct allocator): Rename members from
40473         malloc/realloc to allocate/reallocate, to avoid problems if malloc
40474         and realloc are #define'd.  Reported by Eric Blake in
40475         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
40476         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
40478 2011-04-08  Eric Blake  <eblake@redhat.com>
40480         nonblocking: reduce dependency
40481         * tests/test-nonblocking.c: Only test sockets when in use.
40482         * modules/nonblocking-tests (Depends-on): Drop socket.
40483         (Makefile.am): Link even if sockets are not present.
40484         * modules/pipe2-tests (Makefile.am): Likewise.
40485         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
40487         pipe2: fix O_NONBLOCK support on mingw
40488         * modules/pipe2 (Depends-on): Add nonblocking.
40489         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
40490         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
40491         * tests/test-nonblocking.c (main): Likewise.
40492         * modules/pipe2-tests (Makefile.am): Avoid link failure.
40494         fcntl-h: fix O_ACCMODE on cygwin
40495         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
40496         * lib/fcntl.in.h (O_ACCMODE): Fix it.
40498         pipe-filter: drop O_NONBLOCK workarounds
40499         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
40500         * modules/pipe-filter-ii (Depends-on): Likewise.
40501         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
40503         nonblocking: provide O_NONBLOCK for mingw
40504         * modules/nonblocking (Depends-on): Add open.
40505         (configure.ac): Set new witness macro.
40506         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
40507         * modules/fcntl-h (Makefile.am): Substitute it.
40508         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
40509         nonblocking module is in use.
40510         * lib/nonblocking.c: Adjust portability test.
40511         * lib/open.c (open): Don't let native open see gnulib flag.
40512         * tests/test-fcntl-h.c (main): Enhance test.
40513         * tests/test-open.h (test_open): Likewise.
40514         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
40516         careadlinkat: fix compilation error on mingw
40517         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
40518         within struct allocator.
40520 2011-04-06  Eric Blake  <eblake@redhat.com>
40522         binary-io: relicense under LGPLv2+
40523         * modules/binary-io (License): Relax to LGPLv2+.
40524         Requested for libvirt, and required by pipe2.
40526 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
40528         verify: use _Static_assert if available
40529         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
40530         (verify_true, verify): Use it if available.  This generates better
40531         diagnostics with GCC 4.6.0 and later.
40533 2011-04-05  Bruno Haible  <bruno@clisp.org>
40535         Remove leftover generated .h files after config.status changed.
40537         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
40538         GL_GENERATE_ALLOCA_H.
40539         * modules/alloca-opt (Makefile.am): Remove alloca.h if
40540         GL_GENERATE_ALLOCA_H evaluates to false.
40542         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
40543         GL_GENERATE_ARGZ_H.
40544         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
40545         evaluates to false.
40547         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
40548         GL_GENERATE_BYTESWAP_H.
40549         * modules/byteswap (Makefile.am): Remove byteswap.h if
40550         GL_GENERATE_BYTESWAP_H evaluates to false.
40552         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
40553         GL_GENERATE_ERRNO_H.
40554         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
40555         evaluates to false.
40557         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
40558         GL_GENERATE_FLOAT_H.
40559         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
40560         evaluates to false.
40562         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
40563         GL_GENERATE_FNMATCH_H.
40564         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
40565         GL_GENERATE_FNMATCH_H evaluates to false.
40567         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
40568         GL_GENERATE_GLOB_H.
40569         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
40570         evaluates to false.
40572         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
40573         automake conditional GL_GENERATE_ICONV_H.
40574         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
40575         evaluates to false.
40577         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
40578         GL_GENERATE_NETINET_IN_H.
40579         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
40580         GL_GENERATE_NETINET_IN_H evaluates to false.
40582         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
40583         conditional GL_GENERATE_PTHREAD_H.
40584         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
40585         * modules/pthread (Makefile.am): Remove pthread.h if
40586         GL_GENERATE_PTHREAD_H evaluates to false.
40588         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
40589         GL_GENERATE_SCHED_H.
40590         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
40591         evaluates to false.
40593         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
40594         conditional GL_GENERATE_SELINUX_CONTEXT_H.
40595         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
40596         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
40598         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
40599         GL_GENERATE_STDARG_H.
40600         * modules/stdarg (Makefile.am): Remove stdarg.h if
40601         GL_GENERATE_STDARG_H evaluates to false.
40603         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
40604         GL_GENERATE_STDBOOL_H.
40605         * modules/stdbool (Makefile.am): Remove stdbool.h if
40606         GL_GENERATE_STDBOOL_H evaluates to false.
40608         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
40609         conditional GL_GENERATE_STDDEF_H.
40610         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
40611         * modules/stddef (Makefile.am): Remove stddef.h if
40612         GL_GENERATE_STDDEF_H evaluates to false.
40614         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
40615         GL_GENERATE_STDINT_H.
40616         * modules/stdint (Makefile.am): Remove stdint.h if
40617         GL_GENERATE_STDINT_H evaluates to false.
40619         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
40620         GL_GENERATE_SYSEXITS_H.
40621         * modules/sysexits (Makefile.am): Remove sysexits.h if
40622         GL_GENERATE_SYSEXITS_H evaluates to false.
40624         Reported by Karl Berry and Ralf Wildenhues.
40626 2011-04-05  Bruno Haible  <bruno@clisp.org>
40628         Ensure to rebuild generated .h files when config.status has changed.
40629         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
40630         config.status.
40631         * modules/ctype (Makefile.am): Likewise.
40632         * modules/dirent (Makefile.am): Likewise.
40633         * modules/errno (Makefile.am): Likewise.
40634         * modules/fcntl-h (Makefile.am): Likewise.
40635         * modules/float (Makefile.am): Likewise.
40636         * modules/getopt-posix (Makefile.am): Likewise.
40637         * modules/glob (Makefile.am): Likewise.
40638         * modules/iconv-h (Makefile.am): Likewise.
40639         * modules/inttypes (Makefile.am): Likewise.
40640         * modules/langinfo (Makefile.am): Likewise.
40641         * modules/locale (Makefile.am): Likewise.
40642         * modules/math (Makefile.am): Likewise.
40643         * modules/netdb (Makefile.am): Likewise.
40644         * modules/netinet_in (Makefile.am): Likewise.
40645         * modules/poll-h (Makefile.am): Likewise.
40646         * modules/pthread (Makefile.am): Likewise.
40647         * modules/pty (Makefile.am): Likewise.
40648         * modules/sched (Makefile.am): Likewise.
40649         * modules/search (Makefile.am): Likewise.
40650         * modules/selinux-h (Makefile.am): Likewise.
40651         * modules/signal (Makefile.am): Likewise.
40652         * modules/spawn (Makefile.am): Likewise.
40653         * modules/stdarg (Makefile.am): Likewise.
40654         * modules/stdbool (Makefile.am): Likewise.
40655         * modules/stddef (Makefile.am): Likewise.
40656         * modules/stdint (Makefile.am): Likewise.
40657         * modules/stdio (Makefile.am): Likewise.
40658         * modules/stdlib (Makefile.am): Likewise.
40659         * modules/string (Makefile.am): Likewise.
40660         * modules/strings (Makefile.am): Likewise.
40661         * modules/sys_file (Makefile.am): Likewise.
40662         * modules/sys_ioctl (Makefile.am): Likewise.
40663         * modules/sys_select (Makefile.am): Likewise.
40664         * modules/sys_socket (Makefile.am): Likewise.
40665         * modules/sys_stat (Makefile.am): Likewise.
40666         * modules/sys_time (Makefile.am): Likewise.
40667         * modules/sys_times (Makefile.am): Likewise.
40668         * modules/sys_utsname (Makefile.am): Likewise.
40669         * modules/sys_wait (Makefile.am): Likewise.
40670         * modules/sysexits (Makefile.am): Likewise.
40671         * modules/termios (Makefile.am): Likewise.
40672         * modules/time (Makefile.am): Likewise.
40673         * modules/unistd (Makefile.am): Likewise.
40674         * modules/wchar (Makefile.am): Likewise.
40675         * modules/wctype-h (Makefile.am): Likewise.
40676         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
40678 2011-04-05  Bruno Haible  <bruno@clisp.org>
40680         pipe2: Relicense under LGPLv2+.
40681         * modules/pipe2 (License): Change to LGPLv2+.
40682         Requested by Eric Blake, for libvirt.
40684 2011-04-05  Bruce Korb  <bkorb@gnu.org>
40686         bootstrap: compute gnulib_extra_files after updating build_aux
40687         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
40688         change build_aux or also supply gnulib_extra_files.  Handle correctly.
40690 2011-04-05  Eric Blake  <eblake@redhat.com>
40692         bootstrap: preserve git whitelist item sorting
40693         * build-aux/bootstrap (sort_patterns): New function.
40694         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
40696 2011-04-05  Simon Josefsson  <simon@josefsson.org>
40698         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
40699         sc_space_tab check.
40701 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
40703         areadlink, areadlinkat: rewrite in terms of careadlinkat
40704         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
40705         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
40706         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
40707         (malloc, realloc): Remove #undefs.
40708         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
40709         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
40710         readlink, ssize_t, stdint, unistd.
40711         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
40712         areadlink, stdint.
40714         careadlinkat: new module
40715         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
40716         * modules/careadlinkat: New files, written by me with
40717         a review and feedback from Ben Pfaff in
40718         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
40720 2011-04-01  Bruno Haible  <bruno@clisp.org>
40722         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
40723         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
40724         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
40725         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
40726         Reported by Bruce Korb <bruce.korb@gmail.com>.
40728 2011-04-01  Bruno Haible  <bruno@clisp.org>
40730         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
40731         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
40732         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
40733         * modules/wcpcpy (Depends-on): Add extensions.
40734         * modules/wcpncpy (Depends-on): Likewise.
40735         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
40736         systems.
40737         * doc/posix-functions/wcpncpy.texi: Likewise.
40738         * doc/posix-functions/wcwidth.texi: Likewise.
40740 2011-03-31  Eric Blake  <eblake@redhat.com>
40742         nonblocking: fix mingw test failures
40743         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
40744         non-blocking flag on regular file.
40745         (get_nonblocking_flag): Set errno on invalid fd.
40746         * tests/test-nonblocking.c (main): Avoid test failure on
40747         directories if fchdir is not active.
40748         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
40750 2011-03-31  Bruno Haible  <bruno@clisp.org>
40752         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
40753         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
40754         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
40755         Reported by Simon Josefsson <simon@josefsson.org>.
40757 2011-03-31  Bruno Haible  <bruno@clisp.org>
40758         and Eric Blake  <eblake@redhat.com>
40760         nonblocking: new module
40761         * modules/nonblocking: New module.
40762         * modules/nonblocking-tests: Likewise.
40763         * lib/nonblocking.h: New file.
40764         * lib/nonblocking.c: Likewise.
40765         * tests/test-nonblocking.c: New test.
40766         * lib/ioctl.c (ioctl) [mingw]: Update comment.
40768 2011-03-30  Bruno Haible  <bruno@clisp.org>
40770         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
40771         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
40772         instead of 'printf' format for GCC >= 4.4.
40773         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
40774         (fprintf, printf, vfprintf, vprintf): Declare with
40775         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
40776         the system's vfprintf() function.
40777         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
40779 2011-03-30  Eric Blake  <eblake@redhat.com>
40781         passfd: fix scoping bug
40782         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
40783         before sendmsg/recvmsg.
40785         passfd: standardize coding conventions
40786         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
40787         can be learned at compile time.
40788         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
40789         ifdefs.
40790         (sendfd, recvfd): Follow gnulib code conventions.
40792         passfd: fix incorrect sendmsg arguments
40793         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
40794         incorrect msg_controllen value.
40795         * modules/passfd-tests (Depends-on): Check for alarm.
40796         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
40797         Reported by Bastien ROUCARIES.
40799 2011-03-30  Bruno Haible  <bruno@clisp.org>
40801         c-strcasestr: Relicense under LGPLv2+.
40802         * modules/c-strcasestr (License): Change to LGPLv2+.
40803         Requested by Eric Blake, for libvirt.
40805 2011-03-30  Simon Josefsson  <simon@josefsson.org>
40807         * users.txt: Add libidn2.  Fix libtasn1 link.
40809 2011-03-30  Jim Meyering  <meyering@redhat.com>
40811         tests: readlink* ("",... fails with EINVAL on newer kernels
40812         readlink and readlinkat have typically failed with ENOENT for
40813         the invalid, empty file name,  "".  However, with the advent
40814         of linux-2.6.39, they fail with EINVAL.
40815         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
40816         when operating on the empty file name.
40817         * tests/test-readlink.h (test_readlink): Likewise.
40819 2011-03-29  Bruno Haible  <bruno@clisp.org>
40821         Relicense some modules under LGPLv2+, for libidn2.
40822         * modules/array-mergesort (License): Change to LGPLv2+.
40823         * modules/c-strcaseeq (License): Likewise.
40824         * modules/striconveh (License): Likewise.
40825         * modules/striconveha (License): Likewise.
40826         * modules/uniconv/base (License): Likewise.
40827         * modules/uniconv/u8-conv-from-enc (License): Likewise.
40828         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
40829         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
40830         * modules/unictype/base (License): Likewise.
40831         * modules/unictype/bidiclass-of (License): Likewise.
40832         * modules/unictype/category-M (License): Likewise.
40833         * modules/unictype/category-none (License): Likewise.
40834         * modules/unictype/category-of (License): Likewise.
40835         * modules/unictype/category-test (License): Likewise.
40836         * modules/unictype/category-test-withtable (License): Likewise.
40837         * modules/unictype/combining-class (License): Likewise.
40838         * modules/unictype/joiningtype-of (License): Likewise.
40839         * modules/unictype/scripts (License): Likewise.
40840         * modules/uninorm/base (License): Likewise.
40841         * modules/uninorm/canonical-decomposition (License): Likewise.
40842         * modules/uninorm/composition (License): Likewise.
40843         * modules/uninorm/decompose-internal (License): Likewise.
40844         * modules/uninorm/decomposition-table (License): Likewise.
40845         * modules/uninorm/nfc (License): Likewise.
40846         * modules/uninorm/nfd (License): Likewise.
40847         * modules/uninorm/u32-normalize (License): Likewise.
40848         * modules/unistr/base (License): Likewise.
40849         * modules/unistr/u32-cpy (License): Likewise.
40850         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
40851         * modules/unistr/u32-to-u8 (License): Likewise.
40852         * modules/unistr/u32-uctomb (License): Likewise.
40853         * modules/unistr/u8-check (License): Likewise.
40854         * modules/unistr/u8-mblen (License): Likewise.
40855         * modules/unistr/u8-mbtouc (License): Likewise.
40856         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
40857         * modules/unistr/u8-mbtoucr (License): Likewise.
40858         * modules/unistr/u8-prev (License): Likewise.
40859         * modules/unistr/u8-strlen (License): Likewise.
40860         * modules/unistr/u8-to-u32 (License): Likewise.
40861         * modules/unistr/u8-uctomb (License): Likewise.
40862         * modules/unitypes (License): Likewise.
40863         Requested by Simon Josefsson.
40865 2011-03-29  Simon Josefsson  <simon@josefsson.org>
40867         lib-symbol-visibility: Add a notice.
40868         * modules/lib-symbol-visibility (Notice): New field.
40870 2011-03-29  Bruno Haible  <bruno@clisp.org>
40872         getaddrinfo: Doc fix.
40873         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
40874         section "fixed in Gnulib".
40876 2011-03-28  Simon Josefsson  <simon@josefsson.org>
40878         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
40879         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
40881 2011-03-26  Bruno Haible  <bruno@clisp.org>
40883         unictype/property-byname: Reduce the number of load-time relocations.
40884         * lib/unictype/pr_byname.c: Include <stdlib.h>.
40885         (UC_PROPERTY_INDEX_*): New enumeration values.
40886         (uc_property_byname): Convert an index from the lookup table to an
40887         uc_property_t.
40888         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
40889         values.
40891 2011-03-26  Bruno Haible  <bruno@clisp.org>
40893         unictype/property-byname: Allow omitted word separators and aliases.
40894         * lib/unictype/pr_byname.gperf: Add property names without word
40895         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
40896         for 'space'.
40898 2011-03-26  Bruno Haible  <bruno@clisp.org>
40900         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
40901         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
40902         also hyphens to space.
40903         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
40904         without spaces.
40905         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
40907 2011-03-26  Bruno Haible  <bruno@clisp.org>
40909         unictype/joiningtype-byname: Recognize long names as well.
40910         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
40911         a long name.
40912         * lib/unictype/joiningtype_byname.c: Include <string.h>,
40913         unictype/joiningtype_byname.h.
40914         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
40915         * lib/unictype/joiningtype_byname.gperf: New file.
40916         * modules/unictype/joiningtype-byname (Files): Add
40917         lib/unictype/joiningtype_byname.gperf.
40918         (Depends-on): Add gperf.
40919         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
40920         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
40921         long names.
40923         Tests for module 'unictype/joiningtype-longname'.
40924         * modules/unictype/joiningtype-longname-tests: New file.
40925         * tests/unictype/test-joiningtype_longname.c: New file.
40927         New module 'unictype/joiningtype-longname'.
40928         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
40929         * lib/unictype/joiningtype_longname.c: New file.
40930         * modules/unictype/joiningtype-longname: New file.
40931         * modules/unictype/joiningtype-all (Depends-on): Add
40932         unictype/joiningtype-longname.
40934 2011-03-26  Bruno Haible  <bruno@clisp.org>
40936         unictype/bidiclass-byname: Recognize long names as well.
40937         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
40938         name.
40939         * lib/unictype/bidi_byname.c: Include <string.h>,
40940         unictype/bidi_byname.h.
40941         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
40942         * lib/unictype/bidi_byname.gperf: New file.
40943         * modules/unictype/bidiclass-byname (Files): Add
40944         lib/unictype/bidi_byname.gperf.
40945         (Depends-on): Add gperf.
40946         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
40947         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
40948         long names.
40950         Tests for module 'unictype/bidiclass-longname'.
40951         * modules/unictype/bidiclass-longname-tests: New file.
40952         * tests/unictype/test-bidi_longname.c: New file.
40954         New module 'unictype/bidiclass-longname'.
40955         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
40956         * lib/unictype/bidi_longname.c: New file.
40957         * modules/unictype/bidiclass-longname: New file.
40958         * modules/unictype/bidiclass-all (Depends-on): Add
40959         unictype/bidiclass-longname.
40961 2011-03-26  Bruno Haible  <bruno@clisp.org>
40963         unictype/bidi*: Rename modules.
40964         * modules/unictype/bidiclass-all: Renamed from
40965         modules/unictype/bidicategory-all.
40966         * modules/unictype/bidiclass-name: Renamed from
40967         modules/unictype/bidiclass-name.
40968         (Description): Update.
40969         * modules/unictype/bidiclass-name-tests: Renamed from
40970         modules/unictype/bidicategory-name-tests.
40971         * modules/unictype/bidiclass-byname: Renamed from
40972         modules/unictype/bidicategory-byname.
40973         (Description): Update.
40974         * modules/unictype/bidiclass-byname-tests: Renamed from
40975         modules/unictype/bidicategory-byname-tests.
40976         * modules/unictype/bidiclass-of: Renamed from
40977         modules/unictype/bidicategory-of.
40978         (Description): Update.
40979         * modules/unictype/bidiclass-of-tests: Renamed from
40980         modules/unictype/bidicategory-of-tests.
40981         * modules/unictype/bidiclass-test: Renamed from
40982         modules/unictype/bidicategory-test.
40983         (Description): Update.
40984         * modules/unictype/bidiclass-test-tests: Renamed from
40985         modules/unictype/bidicategory-test-tests.
40986         * modules/unictype/bidicategory-all: New file, a simple redirection.
40987         * modules/unictype/bidicategory-name: Likewise.
40988         * modules/unictype/bidicategory-byname: Likewise.
40989         * modules/unictype/bidicategory-of: Likewise.
40990         * modules/unictype/bidicategory-test: Likewise.
40991         * modules/unictype/property-bidi-* (Dependencies): Update.
40992         * lib/unictype/bidi_*.c: Update comment.
40994 2011-03-26  Bruno Haible  <bruno@clisp.org>
40996         unictype/bidi*: Rename functions, part 2.
40997         * modules/unictype/bidicategory-name (configure.ac): Update required
40998         libunistring version.
40999         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
41001 2011-03-25  Bruno Haible  <bruno@clisp.org>
41003         New module 'unictype/combining-class-all'.
41004         * modules/unictype/combining-class-all: New file.
41006         Tests for module 'unictype/combining-class-byname'.
41007         * modules/unictype/combining-class-byname-tests: New file.
41008         * tests/unictype/test-combiningclass_byname.c: New file.
41010         New module 'unictype/combining-class-byname'.
41011         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
41012         * lib/unictype/combiningclass_byname.c: New file.
41013         * lib/unictype/combiningclass_byname.gperf: New file.
41014         * modules/unictype/combining-class-byname: New file.
41016         Tests for module 'unictype/combining-class-longname'.
41017         * modules/unictype/combining-class-longname-tests: New file.
41018         * tests/unictype/test-combiningclass_longname.c: New file.
41020         New module 'unictype/combining-class-longname'.
41021         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
41022         * lib/unictype/combiningclass_longname.c: New file.
41023         * modules/unictype/combining-class-longname: New file.
41025         Tests for module 'unictype/combining-class-name'.
41026         * modules/unictype/combining-class-name-tests: New file.
41027         * tests/unictype/test-combiningclass_name.c: New file.
41029         New module 'unictype/combining-class-name'.
41030         * lib/unictype.in.h (uc_combining_class_name): New declaration.
41031         * lib/unictype/combiningclass_name.c: New file.
41032         * modules/unictype/combining-class-name: New file.
41034 2011-03-25  Bruno Haible  <bruno@clisp.org>
41036         unictype/combining-class: Rename source files.
41037         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
41038         of unictype/combining.h.
41039         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
41040         Update.
41041         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
41042         * modules/unictype/combining-class (Description): Fix.
41043         (Files, Makefile.am): Update.
41044         * tests/unictype/test-combiningclass.c: Renamed from
41045         tests/unictype/test-combining.c.
41046         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
41048 2011-03-25  Bruno Haible  <bruno@clisp.org>
41050         unictype: Update list of canonical combining classes.
41051         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
41053 2011-03-25  Bruno Haible  <bruno@clisp.org>
41055         unictype/category-byname: Recognize long names as well.
41056         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
41057         a long name.
41058         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
41059         unictype/categ_byname.h.
41060         (UC_CATEGORY_INDEX_*): New enumeration values.
41061         (uc_general_category_byname): Use uc_general_category_lookup and
41062         convert from index to value.
41063         * lib/unictype/categ_byname.gperf: New file.
41064         * modules/unictype/category-byname (Files): Add
41065         lib/unictype/categ_byname.gperf.
41066         (Depends-on): Add gperf.
41067         (Makefile.am): Add rule for generating unictype/categ_byname.h.
41068         * tests/unictype/test-categ_byname.c (main): Test the recognition of
41069         long names.
41071         Tests for module 'unictype/category-longname'.
41072         * modules/unictype/category-longname-tests: New file.
41073         * tests/unictype/test-categ_longname.c: New file.
41075         New module 'unictype/category-longname'.
41076         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
41077         * lib/unictype/categ_longname.c: New file.
41078         * modules/unictype/category-longname: New file.
41079         * modules/unictype/category-all (Depends-on): Add it.
41081 2011-03-25  Bruno Haible  <bruno@clisp.org>
41083         Tests for module 'unictype/category-LC'.
41084         * modules/unictype/category-LC-tests: New file.
41085         * tests/unictype/test-categ_LC.c: New file, automatically generated.
41087         New module 'unictype/category-LC'.
41088         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
41089         (UC_CATEGORY_LC): New declaration.
41090         (UC_CASED_LETTER): New macro.
41091         * lib/gen-uni-tables.c (is_category_LC): New function.
41092         (output_categories): Also handle category LC.
41093         (UC_CATEGORY_MASK_LC): New enumeration value.
41094         (general_category_byname): Also handle category LC.
41095         * lib/unictype/categ_LC.c: New file.
41096         * lib/unictype/categ_LC.h: New file, automatically generated.
41097         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
41098         category LC.
41099         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
41100         * modules/unictype/category-LC: New file.
41101         * modules/unictype/category-byname (Depends-on): Add
41102         unictype/category-LC.
41103         * modules/unictype/category-all (Depends-on): Likewise.
41105 2011-03-25  Eric Blake  <eblake@redhat.com>
41107         xmalloc: revert yesterday's regression
41108         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
41109         realloc's underlying behavior (allowing allocation of zero-size
41110         objects, especially if malloc-gnu is also in use).
41112 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
41114         maint.mk: add missing version to VC-tag
41115         * top/maint.mk: git tag was missing actual tag name; add it.
41117         valgrind: do leak checking, and exit with code 1 on error (not 0)
41118         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
41119         to VALGRIND.
41121 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
41123         posix-modules: say what it does.
41124         * posix-modules: Add a line to the --help output saying what it does.
41126 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
41128         xmalloc: Do not leak if underlying realloc is C99 compatible.
41129         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
41130         This avoids a leak on C99-based systems.  See
41131         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
41133 2011-03-24  Eric Blake  <eblake@redhat.com>
41135         realloc: document portability problem
41136         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
41137         passing 0 size to realloc.
41139 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
41141         doc: update users.txt
41142         * users.txt: Add cvsps, tmpwatch
41144 2011-03-23  Matt Rice  <ratmice@gmail.com>
41146         doc: update users.txt
41147         * users.txt: Add gdb.
41149 2011-03-23  Jim Meyering  <meyering@redhat.com>
41151         doc: update users.txt
41152         Looking through matches up to the following URL (there are still
41153         several more pages), I found several projects that use gnulib:
41154         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
41155         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
41156         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
41158 2011-03-22  Bruno Haible  <bruno@clisp.org>
41160         unictype/bidi*: Rename functions.
41161         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
41162         uc_bidi_class, uc_is_bidi_class): New declarations.
41163         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
41164         uc_bidi_category_byname.
41165         (uc_bidi_category_byname): New function.
41166         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
41167         u_bidi_category_name.
41168         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
41169         (uc_bidi_category_name): New function.
41170         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
41171         uc_bidi_category.
41172         (uc_bidi_category): New function.
41173         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
41174         uc_is_bidi_category. Invoke uc_bidi_class.
41175         (uc_is_bidi_category): New function.
41176         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
41177         instead of uc_bidi_category_byname.
41178         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
41179         instead of uc_bidi_category_name.
41180         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
41181         uc_bidi_category.
41182         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
41183         instead of uc_is_bidi_category.
41185 2011-03-21  Bruno Haible  <bruno@clisp.org>
41187         New module 'unictype/joininggroup-all'.
41188         * modules/unictype/joininggroup-all: New file.
41190         Tests for module 'unictype/joininggroup-of'.
41191         * modules/unictype/joininggroup-of-tests: New file.
41192         * tests/unictype/test-joininggroup_of.c: New file.
41193         * tests/unictype/test-joininggroup_of.h: New file, automatically
41194         generated by gen-uni-tables.
41196         New module 'unictype/joininggroup-of'.
41197         * modules/unictype/joininggroup-of: New file.
41198         * lib/unictype/joininggroup_of.c: New file.
41199         * lib/unictype/joininggroup_of.h: New file, automatically generated by
41200         gen-uni-tables.
41202         Tests for module 'unictype/joininggroup-byname'.
41203         * modules/unictype/joininggroup-byname-tests: New file.
41204         * tests/unictype/test-joininggroup_byname.c: New file.
41206         New module 'unictype/joininggroup-byname'.
41207         * modules/unictype/joininggroup-byname: New file.
41208         * lib/unictype/joininggroup_byname.c: New file.
41209         * lib/unictype/joininggroup_byname.gperf: New file.
41211         Tests for module 'unictype/joininggroup-name'.
41212         * modules/unictype/joininggroup-name-tests: New file.
41213         * tests/unictype/test-joininggroup_name.c: New file.
41215         New module 'unictype/joininggroup-name'.
41216         * modules/unictype/joininggroup-name: New file.
41217         * lib/unictype/joininggroup_name.c: New file.
41218         * lib/unictype/joininggroup_name.h: New file.
41220         New module 'unictype/joiningtype-all'.
41221         * modules/unictype/joiningtype-all: New file.
41223         Tests for module 'unictype/joiningtype-of'.
41224         * modules/unictype/joiningtype-of-tests: New file.
41225         * tests/unictype/test-joiningtype_of.c: New file.
41226         * tests/unictype/test-joiningtype_of.h: New file, automatically
41227         generated by gen-uni-tables.
41229         New module 'unictype/joiningtype-of'.
41230         * modules/unictype/joiningtype-of: New file.
41231         * lib/unictype/joiningtype_of.c: New file.
41232         * lib/unictype/joiningtype_of.h: New file, automatically generated by
41233         gen-uni-tables.
41235         Tests for module 'unictype/joiningtype-byname'.
41236         * modules/unictype/joiningtype-byname-tests: New file.
41237         * tests/unictype/test-joiningtype_byname.c: New file.
41239         New module 'unictype/joiningtype-byname'.
41240         * modules/unictype/joiningtype-byname: New file.
41241         * lib/unictype/joiningtype_byname.c: New file.
41243         Tests for module 'unictype/joiningtype-name'.
41244         * modules/unictype/joiningtype-name-tests: New file.
41245         * tests/unictype/test-joiningtype_name.c: New file.
41247         New module 'unictype/joiningtype-name'.
41248         * modules/unictype/joiningtype-name: New file.
41249         * lib/unictype/joiningtype_name.c: New file.
41251         unictype: Add support for Arabic shaping properties.
41252         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
41253         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
41254         declarations.
41255         (UC_JOINING_GROUP_*): New enumeration values.
41256         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
41257         declarations.
41258         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
41259         (unicode_joining_type): New variable.
41260         (UC_JOINING_GROUP_*): New enumeration values.
41261         (unicode_joining_group): New variable.
41262         (fill_arabicshaping, joining_type_as_c_identifier,
41263         output_joining_type_test, output_joining_type,
41264         joining_group_as_c_identifier, output_joining_group_test,
41265         output_joining_group): New functions.
41266         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
41267         fill_arabicshaping and output_joining_type_test, output_joining_type,
41268         output_joining_group_test, output_joining_group.
41269         Reported by Simon Josefsson.
41271 2011-03-21  Jim Meyering  <meyering@redhat.com>
41273         strftime: fix a bug in yesterday's change
41274         * lib/strftime.c (add): Accommodate width's initial value of -1.
41275         Otherwise, nstrftime would copy uninitialized data into
41276         the result buffer.
41278 2011-03-21  Jim Meyering  <meyering@redhat.com>
41280         tests: add strftime-tests module
41281         * tests/test-strftime.c: New file.
41282         * modules/strftime-tests: New module.
41284 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
41286         strftime: don't assume a byte count fits in 'int'
41287         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
41288         found this problem by static analysis, using gcc -Wstrict-overflow
41289         (GCC 4.5.2, x86-64).  This reported an optimization that depended
41290         on an integer overflow having undefined behavior, but it turns out
41291         that the argument is a size, which might not fit in 'int' anyway,
41293 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
41295         stdio: don't require ignore_value around fwrite
41297         This patch works around libc bug 11959
41298         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
41299         Without this patch, applications must often write
41300         ignore_value (fwrite (...)) even though the ignore_value is
41301         not helpful here.  It's common to write many objects, using
41302         fwrite/printf/etc., and then use ferror to detect output error.
41304         I considered making this patch optional, but decided against it,
41305         because libc is obviously being inconsistent here: there is no
41306         reason libc should insist that user code must inspect fwrite
41307         return's value without also insisting that it inspect printf's,
41308         putchar's, etc.  If user code wants to have a strict style where
41309         all these functions' values are checked (so that ferror need not
41310         be checked), we could add support for that style in a new gnulib
41311         module, but in the meantime it's better to be consistent and to
41312         support common usage.
41314         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
41315         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
41316         that we are compiling in checking mode, and if not C++, and
41317         if not already wrapping fwrite for some other reason.
41318         (fwrite): #define to rpl_fwrite if the latter is defined.
41320 2011-03-20  Bruno Haible  <bruno@clisp.org>
41322         verror: Fix compilation error introduced on 2011-02-13.
41323         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
41324         instead of __attribute__.
41325         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41327 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
41328             Bruno Haible  <bruno@clisp.org>
41330         socklen: do not depend on sys_socket
41331         While trying to modify Emacs to use gnulib's socklen module,
41332         I discovered a circular dependency: socklen depends on sys_socket
41333         and vice versa.  Emacs can use socklen, but it does not need
41334         sys_socket because it has its own substitute for sys/socket.h.
41335         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
41336         gl_TYPE_SOCKLEN_T.
41337         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
41338         gl_PREREQ_SYS_H_SOCKET.
41339         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
41340         gl_PREREQ_SYS_H_SOCKET.
41341         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
41342         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
41343         * modules/socklen (Depends-on): Do not depend on sys_socket.
41344         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
41346 2011-03-20  Jim Meyering  <meyering@redhat.com>
41348         maint.mk: sort file names *after* new transformation
41349         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
41350         prefix would have led to an unwarranted failure in GNU parted.
41351         Sort after that transformation.
41353 2011-03-19  Jim Meyering  <meyering@redhat.com>
41355         maint.mk: fix po-file syntax-check rule
41356         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
41357         Patch by Bruno Haible.
41359 2011-03-19  Bruno Haible  <bruno@clisp.org>
41361         socklen: Update comment.
41362         * m4/socklen.m4: Update comment about platforms.
41364 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
41365             Bruno Haible  <bruno@clisp.org>
41367         inet_ntop, inet_pton: Simplify.
41368         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
41369         documented to provide socklen_t and we already depend on sys_socket.
41370         * modules/inet_pton (Depends-on): Likewise.
41371         * lib/arpa_inet.in.h: Adjust comment.
41373 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
41374             Bruno Haible  <bruno@clisp.org>
41376         netdb: Simplify.
41377         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
41378         documented to provide socklen_t and we already depend on sys_socket.
41379         * lib/netdb.in.h: Adjust comment.
41381 2011-03-19  Bruno Haible  <bruno@clisp.org>
41383         sys_socket, netdb: Document problem with socklen_t.
41384         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
41385         platforms.
41386         * doc/posix-headers/netdb.texi: Likewise.
41388 2011-03-18  Eric Blake  <eblake@redhat.com>
41390         maint.mk: let po check work in VPATH build
41391         * top/maint.mk (po_file): Allow cfg.mk override.
41392         (sc_po_check): Allow VPATH use.
41393         Reported by Jiri Denemark.
41395 2011-03-16  Jim Meyering  <meyering@redhat.com>
41397         maint.mk: allow fine-grained syntax-check exclusion via Make variables
41398         Before, you would have had to create one .x-sc_ file per rule in order
41399         to exempt offending files.  Now, you may instead use a Make variable --
41400         usually defined in cfg.mk -- whose name identifies the affected rule.
41401         * top/maint.mk (_sc_excl): Define.
41402         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
41403         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
41405 2011-03-13  Bruno Haible  <bruno@clisp.org>
41407         ignore-value tests: Avoid warnings.
41408         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
41409         empty for gcc < 3.4.
41411 2011-03-13  Bruno Haible  <bruno@clisp.org>
41413         passfd: Fix link error on Solaris.
41414         * modules/passfd (Description): Correct.
41415         (Depends-on): Add socketlib.
41416         (Link): New section.
41417         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
41419 2011-03-13  Bruno Haible  <bruno@clisp.org>
41421         passfd: Fix link error on AIX 5.2.
41422         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
41424 2011-03-13  Bruno Haible  <bruno@clisp.org>
41426         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
41427         * lib/sys_socket.in.h: Include <stddef.h>.
41428         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
41429         CMSG_FIRSTHDR. Remove unused variable.
41431 2011-03-13  Bruno Haible  <bruno@clisp.org>
41433         passfd: Fix compilation error on OpenBSD.
41434         * lib/passfd.c: Include <sys/uio.h>.
41436 2011-03-13  Bruno Haible  <bruno@clisp.org>
41438         passfd test: Fix warnings.
41439         * tests/test-passfd.c: Include <sys/wait.h>.
41440         (main): Fix typo.
41442 2011-03-13  Bruno Haible  <bruno@clisp.org>
41444         passfd module, part 4, tweaks.
41445         * tests/test-passfd.c: Reorder includes.
41446         (main): Fix perror and printf calls.
41448 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41450         passfd module, part 4.
41451         * modules/passfd-tests: New file.
41452         * tests/test-passfd.c: New file.
41454 2011-03-13  Jim Meyering  <meyering@redhat.com>
41456         Makefile: rely on GNU make; derive syntax-check rule names
41457         Rather than requiring that each sc_ rule be listed as a dependent
41458         of "check", use features of GNU make to derive the list.
41459         * Makefile (syntax-check-rules): Define.
41460         (check): Depend on the new variable, not the hard-coded list.
41462 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
41463             Bruno Haible  <bruno@clisp.org>
41465         passfd module, part 3.
41466         * lib/passfd.h (recvfd): Add a flags argument.
41467         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
41468         (recvfd): Add a flags argument.
41469         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
41470         exists.
41471         * modules/passfd (Depends-on): Add cloexec.
41472         Suggested by Eric Blake.
41474 2011-03-13  Bruno Haible  <bruno@clisp.org>
41476         passfd module, part 2, tweaks.
41477         * modules/passfd (Files): Reorder.
41478         (Depends-on): Remove errno.
41479         (Include): Remove <sys/socket.h>, <sys/un.h>.
41480         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
41481         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
41482         specification header. Include <sys/socket.h> always. Don't include
41483         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
41484         (sendfd): Clarify that it sets errno when it fails.
41485         (recvfd): Fix specification.
41487 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41489         passfd module, part 2.
41490         * modules/passfd: New file.
41491         * lib/passfd.h: New file.
41492         * lib/passfd.c: New file.
41494 2011-03-12  Bruno Haible  <bruno@clisp.org>
41496         wcswidth, mbswidth: Avoid integer overflow.
41497         * lib/wcswidth.c: Include <limits.h>.
41498         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
41499         * lib/mbswidth.c: Include <limits.h>.
41500         (mbsnwidth): Avoid 'int' overflow.
41501         Reported by Jim Meyering.
41503 2011-03-12  Bruno Haible  <bruno@clisp.org>
41505         futimens, utimensat: Avoid endless recursion on Solaris 10.
41506         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
41507         Solaris.
41508         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
41509         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
41511 2011-03-11  Jim Meyering  <meyering@redhat.com>
41513         maint.mk: relax a regexp to accommodate other formatting styles
41514         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
41515         between "ngettext" and the following "(".
41517 2011-03-11  Pádraig Brady  <P@draigBrady.com>
41519         maint.mk: suppress a false positive warning
41520         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
41521         diagnostics are marked with ngettext.
41523 2011-03-10  Eric Blake  <eblake@redhat.com>
41525         wchar: add explicit dependencies, for Tru64
41526         * modules/mbmemcasecoll (Depends-on): Add wchar.
41527         * modules/mbtowc (Depends-on): Likewise.
41528         * modules/vasnprintf (Depends-on): Likewise.
41529         * modules/unistdio/u-printf-args (Depends-on): Likewise.
41530         * modules/wctomb (Depends-on): Likewise.
41531         Reported by Peter O'Gorman.
41533 2011-03-08  Bruno Haible  <bruno@clisp.org>
41535         passfd module, part 1, tweaks.
41536         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
41537         Improve indentation. Improve AC_MSG_CHECKING messages.
41538         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
41539         gl_SOCKET_FAMILIES.
41541 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41543         passfd module, part 1.
41544         * m4/afunix.m4: New file.
41545         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
41546         sockets.
41548 2011-03-08  Bruno Haible  <bruno@clisp.org>
41550         regex-quote: New API.
41551         * lib/regex-quote.h: Include <stdbool.h>.
41552         (struct regex_quote_spec): New type.
41553         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
41554         New declarations.
41555         (regex_quote_length, regex_quote_copy, regex_quote): Take a
41556         'const struct regex_quote_spec *' argument.
41557         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
41558         (pcre_special): New constant.
41559         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
41560         New functions.
41561         (regex_quote_length, regex_quote_copy, regex_quote): Take a
41562         'const struct regex_quote_spec *' argument.
41563         * modules/regex-quote (Depends-on): Add stdbool.
41564         * tests/test-regex-quote.c (check): Update for new API. Add test for
41565         anchored results.
41566         * NEWS: Mention the API change.
41567         Reported by Reuben Thomas and Eric Blake.
41569 2011-03-06  Bruno Haible  <bruno@clisp.org>
41571         regex-quote: Fix creation of POSIX extended regular expressions.
41572         * lib/regex-quote.c (ere_special): Add grouping and alternation
41573         operators.
41575 2011-03-05  Bruno Haible  <bruno@clisp.org>
41577         doc: Improve doc regarding autopoint vs. gnulib.
41578         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
41579         disable autopoint while running autoreconf.
41580         Suggested by Ralf Wildenhues.
41582 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41584         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
41585         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
41587 2011-03-03  Bruce Korb  <bkorb@gnu.org>
41589         parse-duration: remove xalloc.h dependency
41590         * lib/parse-duration.c (parse_period): handle NULL return from
41591         strdup instead of calling xstrdup().
41592         * modules/parse-duration: remove "xalloc" dependency
41594 2011-03-03  Matthew Booth  <mbooth@redhat.com>
41596         bootstrap: honor m4_base when running aclocal
41597         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
41599 2011-03-02  Jim Meyering  <meyering@redhat.com>
41601         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
41602         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
41603         on request from Matt Booth.
41605 2011-03-01  Eric Blake  <eblake@redhat.com>
41607         test-link: work on Hurd
41608         * tests/test-link.h (test_link): Hurd rejects linking directories
41609         with EISDIR instead of the POSIX-mandated EPERM.
41611 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
41613         stdio: simplify by moving files to printf-posix, sigpipe
41614         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
41615         since this symbol is needed only if printf is replaced.
41616         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
41617         Require gl_ASM_SYMBOL_PREFIX.
41618         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
41619         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
41620         (Depends-on): Add 'raise'.
41621         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
41622         * modules/stdio (Files): Remove lib/stdio-write.c,
41623         m4/asm-underscore.m4.
41624         (Depends-on): Remove 'raise'.
41626         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
41627         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
41628         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
41629         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
41631 2011-02-28  Bruno Haible  <bruno@clisp.org>
41633         localcharset: Assume ANSI C behaviour of free().
41634         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
41635         calling free().
41636         Suggested by Simon Josefsson <simon@josefsson.org>.
41638 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
41639             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
41640             Bruno Haible  <bruno@clisp.org>  (tiny change)
41642         On Cygwin, use /proc file system instead of win32 API.
41643         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
41644         Win32 file names.
41645         (DllMain): Simplify by removing Cygwin specific code.
41646         (find_shared_library_fullname): Use Linux specific implementation also
41647         for Cygwin.
41648         (get_shared_library_fullname): Update accordingly.
41649         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
41650         Win32 file names.
41651         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
41652         Cygwin specific code.
41654 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
41655             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
41657         Fix OpenMP flag detection for various Fortran compilers.
41658         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
41659         OpenMP-conditional compilation construct, to force compile
41660         failure with missing OpenMP flag.
41661         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
41663 2011-02-25  Eric Blake  <eblake@redhat.com>
41665         strstr: expand test coverage
41666         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
41667         compilation.
41668         * tests/test-memmem.c (main): Duplicate tests.
41669         * tests/test-strcasestr.c (main): Likewise.
41670         * tests/test-c-strcasestr.c (main): Likewise.
41672 2011-02-25  Jim Meyering  <meyering@redhat.com>
41674         maint.mk: detect missing-NL-at-EOF, too
41675         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
41676         it also detects when a file lacks a newline at EOF.
41677         (require_exactly_one_NL_at_EOF_): Renamed from
41678         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
41679         since people may well have .x-sc_... file names tied to the
41680         existing name.  Suggested by Eric Blake.
41682 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
41684         dirname: move m4/dos.m4 functionality into lib/dosname.h
41686         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
41687         extracts symbols from it, puts them into config.h; but it's much
41688         easier to use the symbols directly.  filename.h already does this,
41689         but it disagrees with dos.m4 in some respects.  This patch
41690         introduces a different include file dosname.h that packages up
41691         dos.m4, and then later we can work on merging filename.h and
41692         dosname.h.  Applications that need only the easy-to-configure
41693         symbols should consider including dosname.h rather than dirname.h.
41694         * NEWS: Mention incompatible changes.
41695         * m4/dos.m4: Remove.
41696         * lib/dosname.h, modules/dosname: New files.
41697         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
41698         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
41699         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
41700         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
41701         Include dosname.h, not dirname.h.
41702         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
41703         Include dosname.h, for definitions of symbols like ISSLASH
41704         that used to be in config.h.
41705         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
41706         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
41707         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
41708         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
41709         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
41710         * modules/rmdir (Files): Likewise.
41711         * modules/stat (Files): Likewise.
41712         * modules/unlink (Files): Likewise.
41713         * modules/dirname-lgpl (Depends-on): Add dosname.
41714         * modules/lstat (Depends-on): Likewise.
41715         * modules/openat (Depends-on): Likewise.
41716         * modules/rmdir (Depends-on): Likewise.
41717         * modules/savewd (Depends-on): Likewise.
41718         * modules/stat (Depends-on): Likewise.
41719         * modules/unlink (Depends-on): Likewise.
41720         * modules/openat (Depends-on): Remove dirname-lgpl.
41721         * modules/savewd (Depends-on): Likewise.
41722         * tests/test-dirname.c: Do not use removed symbols like
41723         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
41724         the remaining symbols, e.g., ISSLASH ('\\').
41726 2011-02-25  Eric Blake  <eblake@redhat.com>
41728         strstr: revert patches that introduced bug and pessimization
41729         * lib/str-two-way.h: Add another reference.
41730         (two_way_short_needle, two_way_long_needle): Revert changes from
41731         2011-02-24; they pessimize search speed.
41732         (critical_factorization): Partially revert changes from
41733         2010-06-22; they violate the requirement that the left half of the
41734         needle be smaller than the period of the needle.
41736 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
41738         filenamecat: remove unnecessary dependency on dirname-lgpl
41739         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
41740         is no direct dependency, just an indirect one via filenamecat-lgpl.
41742         remove: remove unnecessary use of m4/dos.m4
41743         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
41744         * modules/remove (FILES): Remove m4/dos.m4.
41746         * lib/openat-proc.c: Don't include dirname.h; not needed.
41748         backupfile: remove unnecessary use of m4/dos.m4
41749         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
41750         of its symbols are used by the backupfile code.  backupfile.c does
41751         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
41752         for the rare case of programs that want all their backup file
41753         names to live within 8+3 limits, and dos.m4 doesn't address that.
41754         * modules/backupfile (Files): Remove m4/dos.m4.
41756 2011-02-24  Jim Meyering  <meyering@redhat.com>
41758         strstr: fix a bug whereby strstr would mistakenly return NULL
41759         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
41760         in period calculation.
41761         (two_way_long_needle): Likewise.
41762         The original problem was reported by Mike Stump in
41763         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
41764         Ralf Wildenhues provided the short needle and haystack.
41765         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
41766         Add a more involved test to trigger the bug in two_way_long_needle.
41768 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
41770         gnulib-tool: remove use of bold display in help screen
41771         * gnulib-tool (func_usage): Do not use bold display anymore in the
41772         help screen.  That was just meant to be a temporary emphasis for a
41773         backward-incompatible change.
41775 2011-02-23  Bruno Haible  <bruno@clisp.org>
41777         Fix misindentation of preprocessor directives.
41778         * lib/argp-namefrob.h: Reindent preprocessor directives.
41779         * lib/getopt_int.h (struct _getopt_data): Likewise.
41780         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
41781         * lib/vasnprintf.c (decode_long_double): Likewise.
41782         * tests/test-argmatch.c: Insert blank lines, for clarity.
41783         * tests/test-exclude.c: Likewise.
41785 2011-02-22  Bruno Haible  <bruno@clisp.org>
41787         ioctl: Fix for MacOS X in 64-bit mode.
41788         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
41789         value.
41790         Suggested by Eric Blake.
41791         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
41793 2011-02-22  Jim Meyering  <meyering@redhat.com>
41795         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
41796         * Makefile (sc_cpp_indent_check): Don't limit the check to files
41797         in lib/.
41799 2011-02-22  Eric Blake  <eblake@redhat.com>
41801         maint: avoid any CDPATH issue
41802         * Makefile (sc_cpp_indent_check): Anchor cd argument.
41804         maint: adjust cpp indentation for my modules, as well
41805         * Makefile (sc_cpp_indent_check): Add my name.
41806         * lib/fbufmode.c: Filter through cppi.
41807         * lib/fpurge.c: Likewise.
41808         * lib/freadable.c: Likewise.
41809         * lib/freading.c: Likewise.
41810         * lib/fwritable.c: Likewise.
41811         * lib/fwriting.c: Likewise.
41812         * lib/sigaction.c: Likewise.
41814 2011-02-22  Jim Meyering  <meyering@redhat.com>
41816         maint: adjust cpp indentation to reflect nesting depth
41817         I.e., in a block of code that begins with an unnested "#if",
41818         put one space between the "#" in column 1 and following token.
41819         For example,
41820         -#include <sys/vfs.h>
41821         +# include <sys/vfs.h>
41822         Do this only in .c files that are part of a module I maintain.
41823         * lib/linkat.c: Filter through cppi.
41824         * lib/nanosleep.c: Likewise.
41825         * lib/openat.c: Likewise.
41826         * lib/openat-die.c: Likewise.
41827         * lib/dup3.c: Likewise.
41828         * lib/fchownat.c: Likewise.
41829         * lib/flock.c: Likewise.
41830         * lib/fsync.c: Likewise.
41831         * lib/fts.c: Likewise.
41832         * lib/getpass.c: Likewise.
41833         * lib/gettimeofday.c: Likewise.
41834         * lib/userspec.c: Likewise.
41835         * Makefile (sc_cpp_indent_check): New rule, to check this.
41837 2011-02-22  Bruno Haible  <bruno@clisp.org>
41839         New module 'wctomb'.
41840         * lib/stdlib.in.h (wctomb): New declaration.
41841         * lib/wctomb.c: New file.
41842         * lib/wctomb-impl.h: New file.
41843         * m4/wctomb.m4: New file.
41844         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
41845         REPLACE_WCTOMB.
41846         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
41847         REPLACE_WCTOMB.
41848         * modules/wctomb: New file.
41849         * tests/test-stdlib-c++.cc: Test signature of wctomb.
41850         * doc/posix-functions/wctomb.texi: Mention the new module.
41851         * modules/wctob (Depends-on): Add wctomb.
41853 2011-02-22  Bruno Haible  <bruno@clisp.org>
41855         New module 'mbtowc'.
41856         * lib/stdlib.in.h (mbtowc): New declaration.
41857         * lib/mbtowc.c: New file.
41858         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
41859         * m4/mbtowc.m4: New file.
41860         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
41861         REPLACE_MBTOWC.
41862         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
41863         REPLACE_MBTOWC.
41864         * modules/mbtowc: New file.
41865         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
41866         * doc/posix-functions/mbtowc.texi: Mention the new module.
41867         * modules/btowc (Depends-on): Add mbtowc.
41869 2011-02-22  Bruno Haible  <bruno@clisp.org>
41871         wcrtomb: Add more tests for native Windows platforms.
41872         * tests/test-wcrtomb-w32-1.sh: New file.
41873         * tests/test-wcrtomb-w32-2.sh: New file.
41874         * tests/test-wcrtomb-w32-3.sh: New file.
41875         * tests/test-wcrtomb-w32-4.sh: New file.
41876         * tests/test-wcrtomb-w32-5.sh: New file.
41877         * tests/test-wcrtomb-w32.c: New file.
41878         * modules/wcrtomb-tests (Files): Add them.
41879         (Makefile.am): Arrange to run these tests.
41880         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
41881         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
41883 2011-02-20  Bruno Haible  <bruno@clisp.org>
41885         wcrtomb: Enhance test.
41886         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
41888 2011-02-20  Bruno Haible  <bruno@clisp.org>
41890         mbrtowc: Tiny optimization.
41891         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
41893 2011-02-20  Jim Meyering  <meyering@redhat.com>
41895         test-exclude.c: remove unmatched #endif
41896         * tests/test-exclude.c: Remove stray #endif, left over from
41897         the change of a week ago.
41899 2011-02-19  Jim Meyering  <meyering@redhat.com>
41901         git-version-gen: skip "-dirty" check when appropriate
41902         * build-aux/git-version-gen: Don't run any git commands when the
41903         version string comes from .tarball-version.  Prior to this, we
41904         would run git update-index --refresh even from a just-unpacked
41905         tarball directory, and that could affect a .git/ directory in a
41906         parent of the build directory.  Reported by Mike Frysinger.
41908 2011-02-19  Bruno Haible  <bruno@clisp.org>
41910         unictype/property-byname: Reduce the size of the 'data' segment.
41911         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
41913 2011-02-19  Bruno Haible  <bruno@clisp.org>
41915         unictype/scripts: Reduce the size of the 'data' segment.
41916         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
41917         '%pic'.
41918         * lib/unictype/scripts_byname.gperf: Regenerated.
41920 2011-02-19  Bruno Haible  <bruno@clisp.org>
41922         stdint: Update documentation.
41923         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
41925 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
41927         stdint: omit redundant check for wchar.h
41928         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
41929         always tests whether wchar.h exists, so remove the now-redundant test.
41931 2011-02-18  Bruno Haible  <bruno@clisp.org>
41933         stdint: Cut dependency to module 'wchar'.
41934         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
41935         include the necessary prerequisites.
41936         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
41937         * modules/stdint (Depends-on): Remove wchar.
41938         (Makefile.am): Substitute HAVE_WCHAR_H.
41939         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
41941 2011-02-18  Eric Blake  <eblake@redhat.com>
41943         longlong: skip, rather than fail, on cross-compilation
41944         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
41945         when cross-compiling; regression from 2011-02-16.
41947 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
41949         * NEWS: Mention 2011-02-08 change to stdlib.
41951 2011-02-17  Bruno Haible  <bruno@clisp.org>
41953         getloadavg: Add comments about platforms.
41954         * m4/getloadavg.m4: Add comment.
41955         * lib/getloadavg.c: Likewise.
41957 2011-02-17  Bruno Haible  <bruno@clisp.org>
41959         getloadavg: Fix link error on Solaris 2.6.
41960         * modules/getloadavg (Link): New section.
41961         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
41962         linking test-getloadavg.
41963         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
41964         getloadavg.
41966 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
41968         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
41969         It was 'int', but this doesn't match the IRIX 6.5 manual.
41970         Suggested by Bruno Haible in
41971         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
41973 2011-02-17  Bruno Haible  <bruno@clisp.org>
41975         havelib: Fix comments.
41976         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
41977         change.
41979 2011-02-17  Bruno Haible  <bruno@clisp.org>
41981         havelib: Update config.rpath.
41982         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
41984 2011-02-17  Bruno Haible  <bruno@clisp.org>
41986         getloadavg test: Add some plausibility checks.
41987         * tests/test-getloadavg.c (check_avg): Print a warning when the value
41988         is improbable.
41990 2011-02-16  Eric Blake  <eblake@redhat.com>
41992         maintainer-makefile: make syntax-check a no-op from tarballs
41993         * top/maint.mk (no-vc-detected): New rule.
41994         (local-checks-available): Use it to avoid hanging if someone tries
41995         'make syntax-check' from a tarball.  Also append to any non-syntax
41996         checks already defined in cfg.mk.
41998 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
42000         longlong: tune, particularly for common case of c99
42002         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
42003         or running anything if c99, or if unsigned long long int does not
42004         work.  In either case, we know the answer without further tests.
42005         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
42006         it at most once, and use its results for both long long int and
42007         unsigned long long int.  This is more likely to be efficient in
42008         the common case where the program wants to check for both long
42009         long int and unsigned long long int.
42010         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
42011         since the answer is already known.
42013 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
42015         getloadavg: set errno
42016         * lib/getloadavg.c: Set errno when returning -1.  If no other
42017         error number looks appropriate, set it to ENOSYS if the getloadavg
42018         looks like it can't possibly ever work, ENOTSUP otherwise.
42019         Suggested by Bruno Haible in
42020         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
42022         getloadavg: trim unused parts and speed up 'configure'
42023         * NEWS: Document this.
42024         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
42025         always compiled if getloadavg is absent.
42026         Move test code to ...
42027         * tests/test-getloadavg.c: New file, containing previous
42028         contents of test from lib/getloadavg.c.  It also contains
42029         suggestions by Bruno Haible in
42030         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
42031         * modules/getloadavg-tests: New file.
42032         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
42033         Do tests in the same order as they're needed for getloadavg.c.
42034         Omit setgid-related tests that generate symbols KMEM_GROUP,
42035         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
42036         Do only the tests that are needed to see whether the system has
42037         getloadavg, moving the other tests into ...
42038         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
42039         NLIST_NAME_UNION; nobody should be using it.  Do not define
42040         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
42041         relevant, as the user of this module shouldn't care how getloadavg
42042         is implemented.
42044         getloadavg: omit unused var
42045         * lib/getloadavg.c (getloadavg): Omit unused local variable.
42047 2011-02-15  Jim Meyering  <meyering@redhat.com>
42049         doc: update users.txt
42050         * users.txt: Update iwhd's URL.
42052 2011-02-13  Bruno Haible  <bruno@clisp.org>
42054         Consistent macro naming for macros that use GCC __attribute__.
42055         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
42056         _ATTRIBUTE_NONNULL_.
42057         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
42058         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
42059         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
42060         ATTRIBUTE_DEPRECATED.
42061         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
42062         ATTRIBUTE_NORETURN.
42063         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42064         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42065         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42066         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42067         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
42068         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
42069         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
42070         ATTRIBUTE_SENTINEL.
42071         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
42072         ATTRIBUTE_RETURN_CHECK.
42073         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
42074         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
42075         ATTRIBUTE_NORETURN.
42076         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
42077         Reported by Paul Eggert.
42079 2011-02-13  Bruno Haible  <bruno@clisp.org>
42081         Don't interfere with a program's definition of __attribute__.
42082         * lib/argp.h (__attribute__): Remove definition.
42083         (_GL_ATTRIBUTE_FORMAT): New macro.
42084         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
42085         * lib/argp-fmtstream.h (__attribute__): Remove definition.
42086         (_GL_ATTRIBUTE_FORMAT): New macro.
42087         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
42088         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
42089         GCC 3 or newer.
42090         * lib/error.h (__attribute__): Remove definition.
42091         (_GL_ATTRIBUTE_FORMAT): New macro.
42092         (error, error_at_line): Use it.
42093         * lib/hash.h (__attribute__): Remove definition.
42094         (ATTRIBUTE_WUR): Update definition. Define always.
42095         * lib/openat.h (__attribute__): Remove definition.
42096         (ATTRIBUTE_NORETURN): Update definition. Define always.
42097         * lib/sigpipe-die.h (__attribute__): Remove definition.
42098         (ATTRIBUTE_NORETURN): Update definition. Define always.
42099         * lib/vasnprintf.h (__attribute__): Remove definition.
42100         (_GL_ATTRIBUTE_FORMAT): New macro.
42101         (asnprintf, vasnprintf): Use it.
42102         * lib/xalloc.h (__attribute__): Remove definition.
42103         (ATTRIBUTE_NORETURN): Update definition. Define always.
42104         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
42105         * lib/xmemdup0.h (__attribute__): Remove definition.
42106         (ATTRIBUTE_NORETURN): Update definition. Define always.
42107         * lib/xprintf.h (__attribute__): Remove definition.
42108         (_GL_ATTRIBUTE_FORMAT): New macro.
42109         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
42110         * lib/xstrtol.h (__attribute__): Remove definition.
42111         (ATTRIBUTE_NORETURN): Update definition. Define always.
42112         * lib/xvasprintf.h (__attribute__): Remove definition.
42113         (_GL_ATTRIBUTE_FORMAT): New macro.
42114         (xasprintf, xvasprintf): Use it.
42115         * tests/test-argmatch.c (__attribute__): Remove definition.
42116         (ATTRIBUTE_NORETURN): Update definition. Define always.
42117         * tests/test-exclude.c (__attribute__): Remove definition.
42118         (ATTRIBUTE_NORETURN): Update definition. Define always.
42119         Reported by Paul Eggert.
42121 2011-02-13  Bruno Haible  <bruno@clisp.org>
42123         mbrtowc: Add more tests for native Windows platforms.
42124         * tests/test-mbrtowc-w32-1.sh: New file.
42125         * tests/test-mbrtowc-w32-2.sh: New file.
42126         * tests/test-mbrtowc-w32-3.sh: New file.
42127         * tests/test-mbrtowc-w32-4.sh: New file.
42128         * tests/test-mbrtowc-w32-5.sh: New file.
42129         * tests/test-mbrtowc-w32.c: New file.
42130         * modules/mbrtowc-tests (Files): Add them.
42131         (Makefile.am): Arrange to run these tests.
42132         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
42133         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
42135 2011-02-13  Bruno Haible  <bruno@clisp.org>
42137         mbrtowc: Work around native Windows bug.
42138         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
42139         guess when no suitable locale for testing was found.
42140         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
42142 2011-02-13  Bruno Haible  <bruno@clisp.org>
42144         mbsinit: Work around mingw bug.
42145         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
42146         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
42147         Windows.
42148         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
42150 2011-02-13  Bruno Haible  <bruno@clisp.org>
42152         mbsinit: Don't crash for a NULL argument.
42153         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
42154         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
42156 2011-02-13  Bruno Haible  <bruno@clisp.org>
42158         Don't interfere with a program's definition of __attribute__.
42159         * lib/stdio.in.h (__attribute__): Remove definition.
42160         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
42161         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
42162         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
42163         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
42164         * lib/string.in.h (__attribute__): Remove definition.
42165         Reported by Paul Eggert.
42167 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
42169         stdlib: don't get in the way of non-GCC __attribute__
42170         See thread starting at
42171         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
42172         Revert previous stdlib change, installing the following instead:
42173         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
42174         to get in the way of a non-GCC compiler that supports __attribute__.
42175         (_GL_ATTRIBUTE_RETURN): New macro.
42176         (_Exit): Use it instead of __attribute__.
42178 2011-02-12  Bruno Haible  <bruno@clisp.org>
42180         quotearg test: Avoid test failure on mingw.
42181         * tests/test-quotearg.sh: Convert the locale identifier from native
42182         Windows syntax to Unix syntax.
42184 2011-02-12  Bruno Haible  <bruno@clisp.org>
42186         setlocale: Prefer gnulib's override over libintl's override.
42187         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
42188         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
42189         GNULIB_defined_setlocale is set.
42191 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
42193         stdlib: support non-GCC __attribute__
42195         Fix a serious and tricky problem encountered when attempting to
42196         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
42197         5.5, but it crashed due to memory corruption on Solaris 10 with
42198         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
42199         bits that are otherwise zero.  This tagging is optional inside
42200         Emacs but is preferred and is used when __attribute__ ((__aligned
42201         (8))) works, as it does with both recent-enough GCC and with Sun C
42202         5.11.  However, Sun C 5.11 is not GCC and does not #define
42203         __GNUC__ and __GNUC_MINOR__.
42205         When I added the getloadavg module to Emacs, it brought in
42206         stdlib.in.h, which contained this fragment:
42208            #ifndef __attribute__
42209            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
42210            #  define __attribute__(Spec)   /* empty */
42211            # endif
42212            #endif
42214         When files that include <stdlib.h> were compiled with Sun C 5.11,
42215         the above code disabled __attribute__ ((__aligned (8))), which
42216         caused variables to not be properly aligned, which eventually led
42217         to the pointer corruption mentioned above.  (This was a bit hard
42218         to diagnose, unfortunately.)
42220         Several "#define __attribute__(X) /* empty */" code snippets need
42221         to be eradicated from Gnulib to work with non-GCC compilers that
42222         support __attribute__.  The Autoconf way to do this is to test for
42223         each kind of attribute that we want support for, and selectively
42224         enable that in source code.
42226         Fix this problem just for stdlib.h, by adding a test for the
42227         __noreturn__ attribute, and change stdlib.in.h to use that test
42228         when needed.  This technique can be easily generalized to the
42229         other *.in.h files and attributes, and a similar technique can be
42230         used for *.h and *.c files.  This patch is enough to solve the
42231         problem for Emacs + getloadavg, and I thought I'd publish it for
42232         feedback before undertaking further, similar fixes in other
42233         modules.
42235         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
42236         because it's not needed for stdlib.h.  It merely substitutes the
42237         value directly into stdlib.h.  We may well need to #define it, or
42238         similar symbols, for other modules, but it's nice to also have an
42239         option to not #define it for applications like Emacs that do not
42240         need it.
42242         * lib/stdlib.in.h (__attribute__): Do not #define.
42243         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
42244         be defined only if the _Exit module is also used.
42245         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
42246         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
42247         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
42248         platforms.
42249         * modules/_Exit (Files): Add m4/attribute.m4.
42250         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
42251         * m4/attribute.m4: New file.
42253 2011-02-12  Bruno Haible  <bruno@clisp.org>
42255         wcsrtombs: Work around bug on native Windows.
42256         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
42257         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
42258         instead of len.
42259         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
42261 2011-02-12  Bruno Haible  <bruno@clisp.org>
42263         mbsrtowcs: Work around bug on native Windows.
42264         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
42265         against mingw bug.
42266         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
42268 2011-02-12  Bruno Haible  <bruno@clisp.org>
42270         Avoid setlocale bugs in tests.
42271         * modules/btowc (Dependencies): Add setlocale.
42272         * modules/c-strcase (Dependencies): Likewise.
42273         * modules/mbmemcasecmp (Dependencies): Likewise.
42274         * modules/mbmemcasecoll (Dependencies): Likewise.
42275         * modules/mbrtowc (Dependencies): Likewise.
42276         * modules/mbscasecmp (Dependencies): Likewise.
42277         * modules/mbscasestr (Dependencies): Likewise.
42278         * modules/mbschr (Dependencies): Likewise.
42279         * modules/mbscspn (Dependencies): Likewise.
42280         * modules/mbsinit (Dependencies): Likewise.
42281         * modules/mbsncasecmp (Dependencies): Likewise.
42282         * modules/mbsnrtowcs (Dependencies): Likewise.
42283         * modules/mbspbrk (Dependencies): Likewise.
42284         * modules/mbspcasecmp (Dependencies): Likewise.
42285         * modules/mbsrchr (Dependencies): Likewise.
42286         * modules/mbsrtowcs (Dependencies): Likewise.
42287         * modules/mbsspn (Dependencies): Likewise.
42288         * modules/mbsstr (Dependencies): Likewise.
42289         * modules/nl_langinfo (Dependencies): Likewise.
42290         * modules/quotearg (Dependencies): Likewise.
42291         * modules/unicase/locale-language (Dependencies): Likewise.
42292         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
42293         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
42294         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
42295         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
42296         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
42297         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
42298         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
42299         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
42300         * modules/vasnprintf-posix (Dependencies): Likewise.
42301         * modules/wcrtomb (Dependencies): Likewise.
42302         * modules/wcsnrtombs (Dependencies): Likewise.
42303         * modules/wcsrtombs (Dependencies): Likewise.
42305 2011-02-12  Bruno Haible  <bruno@clisp.org>
42307         setlocale: Workaround native Windows bug.
42308         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
42309         succeeds but sets LC_CTYPE to "C", report a failure.
42310         * tests/test-setlocale2.sh: New file.
42311         * tests/test-setlocale2.c: New file.
42312         * modules/setlocale-tests (Files): Add the new files.
42313         (Makefile.am): Enable test-setlocale2.sh test.
42314         * doc/posix-functions/setlocale.texi: Mention workaround.
42316 2011-02-11  Bruno Haible  <bruno@clisp.org>
42318         Tests for module 'setlocale'.
42319         * modules/setlocale-tests: New file.
42320         * tests/test-setlocale1.sh: New file.
42321         * tests/test-setlocale1.c: New file.
42323         New module 'setlocale'.
42324         * lib/locale.in.h (setlocale): New declaration.
42325         * lib/setlocale.c: New file, based on
42326         gettext/gettext-runtime/intl/setlocale.c.
42327         * m4/setlocale.m4: New file.
42328         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
42329         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
42330         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
42331         REPLACE_SETLOCALE.
42332         * modules/setlocale: New file.
42333         * tests/test-locale-c++.cc: Test the declaration of setlocale.
42334         * doc/posix-functions/setlocale.texi: Mention the new module.
42336 2011-02-11  Bruno Haible  <bruno@clisp.org>
42338         Prepare for locale dependent tests on mingw.
42339         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
42340         because it has the wrong locale encoding.
42341         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
42342         French_France.1252 instead of "fr".
42343         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
42344         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
42345         because it has the wrong locale encoding.
42346         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
42347         native Windows, try Turkish_Turkey.65001.
42348         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
42349         Chinese_China.54936.
42351         Prepare for locale dependent tests on mingw.
42352         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
42353         differently.
42354         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
42355         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
42356         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
42357         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42359 2011-02-11  Eric Blake  <eblake@redhat.com>
42361         strptime: avoid compiler warnings
42362         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
42363         compiler warnings about dead code.
42364         Reported by Daniel P. Berrange.
42366 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
42368         doc: update users.txt
42369         * users.txt: Add rcs.
42371 2011-02-10  John W. Eaton  <jwe@gnu.org>
42373         doc: update users.txt
42374         * users.txt: Add octave.
42376 2011-02-10  Jim Meyering  <meyering@redhat.com>
42378         doc: update users.txt
42379         * users.txt: Add iwhd.
42381 2011-02-09  Bruno Haible  <bruno@clisp.org>
42383         gnulib-tool: Make copyright notice adjustment more robust.
42384         * gnulib-tool (func_import): In sed_transform_main_lib_file,
42385         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
42386         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
42387         License".
42388         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
42390 2011-02-06  Bruno Haible  <bruno@clisp.org>
42392         New module 'towctrans'.
42393         * modules/towctrans: New file.
42394         * lib/wctype.in.h (towctrans): New declaration.
42395         * lib/towctrans.c: New file.
42396         * lib/towctrans-impl.h: New file.
42397         * m4/towctrans.m4: New file.
42398         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
42399         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
42400         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
42401         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
42402         * doc/posix-functions/towctrans.texi: Mention the new module.
42404 2011-02-06  Bruno Haible  <bruno@clisp.org>
42406         New module 'wctrans'.
42407         * modules/wctrans: New file.
42408         * lib/wctype.in.h (wctrans): New declaration.
42409         * lib/wctrans.c: New file.
42410         * lib/wctrans-impl.h: New file.
42411         * m4/wctrans.m4: New file.
42412         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
42413         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
42414         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
42415         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
42416         * doc/posix-functions/wctrans.texi: Mention the new module.
42418 2011-02-06  Bruno Haible  <bruno@clisp.org>
42420         New module 'iswctype'.
42421         * modules/iswctype: New file.
42422         * lib/wctype.in.h (iswctype): New declaration.
42423         * lib/iswctype.c: New file.
42424         * lib/iswctype-impl.h: New file.
42425         * m4/iswctype.m4: New file.
42426         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
42427         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
42428         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
42429         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
42430         * doc/posix-functions/iswctype.texi: Mention the new module and the
42431         HP-UX 11.00 problem.
42433 2011-02-06  Bruno Haible  <bruno@clisp.org>
42435         New module 'wctype'.
42436         * modules/wctype: Change to represent the wctype() substitute.
42437         * lib/wctype.in.h (wctype): New declaration.
42438         * lib/wctype.c: New file.
42439         * lib/wctype-impl.h: New file.
42440         * m4/wctype.m4: New file.
42441         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
42442         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
42443         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
42444         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
42445         * doc/posix-functions/wctype.texi: Mention the new module and the
42446         HP-UX 11.00 problem.
42448 2011-02-06  Bruno Haible  <bruno@clisp.org>
42450         wctype-h: Ensure wctype_t and wctrans_t are defined.
42451         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
42452         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
42453         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
42454         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
42455         HAVE_WCTRANS_T.
42456         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
42458 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
42460         flock: fix license typo
42462         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
42463         omitted.
42465 2011-02-08  Bruno Haible  <bruno@clisp.org>
42467         Split large sed scripts, for HP-UX sed.
42468         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
42469         to avoid HP-UX limit of 99 commands, in the near future.
42470         * modules/stdlib (Makefile.am): Likewise.
42471         * modules/unistd (Makefile.am): Likewise.
42472         * modules/wchar (Makefile.am): Likewise.
42473         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42474         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
42475         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
42477 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
42478             Bruno Haible  <bruno@clisp.org>
42480         stdlib: improve random_r modularization
42481         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
42482         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
42483         you also need the random_r module to get this material right.
42484         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
42485         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
42486         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
42488 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
42490         stdlib: don't depend on stdint
42491         * lib/stdlib.in.h: Don't include <stdint.h> merely because
42492         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
42493         be independent of whether stdint.h is needed.
42494         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
42495         here, instead of ...
42496         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
42497         struct random_data should be using the random_r module, not just
42498         the stdlib module (which wouldn't make sense: what package needs
42499         just struct random_data without also needing random_r?).
42500         * modules/stdlib (Depends-on): Remove stdint.
42502         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
42503         See the thread rooted at
42504         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
42505         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
42506         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
42507         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
42508         __VMS)); previously it was always included (via fcntl--.h).
42509         (getloadavg): Do not use c_strtod.  Instead, approximate it by
42510         hand; this is good enough for load averages.  Also, do not use
42511         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
42512         flags directly if available and don't bother otherwise.  (Packages
42513         that need the extra reliability should use the modules that define
42514         these flags on older platforms that lack them.)
42515         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
42516         fcntl-safer.
42518 2011-02-08  Jim Meyering  <meyering@redhat.com>
42520         di-set.h, ino-map.h: add multiple-inclusion guard
42521         Technically, the guard is required only for ino-map.h, due to its
42522         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
42523         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
42524         * lib/ino-map.h: Likewise.
42526 2011-02-06  Bruno Haible  <bruno@clisp.org>
42528         iswblank: Ensure declaration on glibc systems.
42529         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
42530         * modules/iswblank (Dependencies): Add 'extensions'.
42531         * doc/posix-functions/iswblank.texi: Document the glibc problem.
42533 2011-02-06  Bruno Haible  <bruno@clisp.org>
42535         New module 'iswblank'.
42536         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
42537         * modules/iswblank: New file.
42538         * modules/wctype-h (Files): Remove lib/iswblank.c.
42539         (Makefile.am): Substitute GNULIB_ISWBLANK.
42540         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
42541         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
42542         (gl_WCTYPE_H_DEFAULTS): New macro.
42543         (gl_WCTYPE_H): Require it. Remove iswblank related code.
42544         * modules/iswblank-tests: New file.
42545         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
42546         * tests/test-wctype-h.c (main): Remove iswblank tests.
42547         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
42548         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
42549         of 'wctype-h'.
42550         * NEWS: Mention the change.
42551         * modules/mbchar (Depends-on): Add iswblank.
42553 2011-02-08  Bruno Haible  <bruno@clisp.org>
42555         di-set tests: Refactor.
42556         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
42557         unnecessary includes.
42558         (ASSERT): Remove macro.
42559         (main): Make C90 compliant by avoiding variable declaration after
42560         statement.
42561         * modules/di-set-tests (Files): Add tests/macros.h.
42563 2011-02-08  Bruno Haible  <bruno@clisp.org>
42565         ino-map tests: Refactor.
42566         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
42567         unnecessary includes.
42568         (ASSERT): Remove macro.
42569         (main): Make C90 compliant by avoiding variable declaration after
42570         statement.
42571         * modules/ino-map-tests (Files): Add tests/macros.h.
42573 2011-02-08  Jim Meyering  <meyering@redhat.com>
42575         di-set: add "const" to a cast
42576         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
42577         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
42579 2011-02-06  Bruno Haible  <bruno@clisp.org>
42581         Rename module 'wctype' to 'wctype-h'.
42582         * modules/wctype-h: Renamed from modules/wctype.
42583         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
42584         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
42585         (Files, Depends-on, Makefile.am): Update.
42586         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
42587         (Files, Makefile.am): Update.
42588         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
42589         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
42590         * doc/posix-headers/wctype.texi: Update.
42591         * doc/posix-functions/iswalnum.texi: Update.
42592         * doc/posix-functions/iswalpha.texi: Update.
42593         * doc/posix-functions/iswblank.texi: Update.
42594         * doc/posix-functions/iswcntrl.texi: Update.
42595         * doc/posix-functions/iswdigit.texi: Update.
42596         * doc/posix-functions/iswgraph.texi: Update.
42597         * doc/posix-functions/iswlower.texi: Update.
42598         * doc/posix-functions/iswprint.texi: Update.
42599         * doc/posix-functions/iswpunct.texi: Update.
42600         * doc/posix-functions/iswspace.texi: Update.
42601         * doc/posix-functions/iswupper.texi: Update.
42602         * doc/posix-functions/iswxdigit.texi: Update.
42603         * doc/posix-functions/towlower.texi: Update.
42604         * doc/posix-functions/towupper.texi: Update.
42605         * NEWS: Mention the change.
42606         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
42607         * modules/mbchar (Dependencies): Likewise.
42608         * modules/mbswidth (Dependencies): Likewise.
42609         * modules/quotearg (Dependencies): Likewise.
42610         * modules/regex (Dependencies): Likewise.
42611         * modules/wcscasecmp (Dependencies): Likewise.
42612         * modules/wcsncasecmp (Dependencies): Likewise.
42613         * modules/wcwidth (Dependencies): Likewise.
42615 2011-02-06  Bruno Haible  <bruno@clisp.org>
42617         New module 'wcswidth'.
42618         * modules/wcswidth: New file.
42619         * lib/wchar.in.h (wcswidth): New declaration.
42620         * lib/wcswidth.c: New file.
42621         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
42622         * m4/wcswidth.m4: New file.
42623         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
42624         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
42625         REPLACE_WCSWIDTH.
42626         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
42627         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
42628         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
42629         * doc/posix-functions/wcswidth.texi: Mention the new module.
42631 2011-02-06  Bruno Haible  <bruno@clisp.org>
42633         New module 'wcstok'.
42634         * modules/wcstok: New file.
42635         * lib/wchar.in.h (wcstok): New declaration.
42636         * lib/wcstok.c: New file.
42637         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
42638         * m4/wcstok.m4: New file.
42639         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
42640         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
42641         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
42642         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
42643         * doc/posix-functions/wcstok.texi: Mention the new module.
42645 2011-02-06  Bruno Haible  <bruno@clisp.org>
42647         New module 'wcsstr'.
42648         * modules/wcsstr: New file.
42649         * lib/wchar.in.h (wcsstr): New declaration.
42650         * lib/wcsstr.c: New file.
42651         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
42652         * m4/wcsstr.m4: New file.
42653         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
42654         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
42655         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
42656         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
42657         * doc/posix-functions/wcsstr.texi: Mention the new module.
42659 2011-02-06  Bruno Haible  <bruno@clisp.org>
42661         New module 'wcspbrk'.
42662         * modules/wcspbrk: New file.
42663         * lib/wchar.in.h (wcspbrk): New declaration.
42664         * lib/wcspbrk.c: New file.
42665         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
42666         * m4/wcspbrk.m4: New file.
42667         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
42668         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
42669         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
42670         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
42671         * doc/posix-functions/wcspbrk.texi: Mention the new module.
42673 2011-02-06  Bruno Haible  <bruno@clisp.org>
42675         New module 'wcsspn'.
42676         * modules/wcsspn: New file.
42677         * lib/wchar.in.h (wcsspn): New declaration.
42678         * lib/wcsspn.c: New file.
42679         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
42680         * m4/wcsspn.m4: New file.
42681         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
42682         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
42683         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
42684         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
42685         * doc/posix-functions/wcsspn.texi: Mention the new module.
42687 2011-02-06  Bruno Haible  <bruno@clisp.org>
42689         New module 'wcscspn'.
42690         * modules/wcscspn: New file.
42691         * lib/wchar.in.h (wcscspn): New declaration.
42692         * lib/wcscspn.c: New file.
42693         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
42694         * m4/wcscspn.m4: New file.
42695         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
42696         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
42697         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
42698         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
42699         * doc/posix-functions/wcscspn.texi: Mention the new module.
42701 2011-02-06  Bruno Haible  <bruno@clisp.org>
42703         New module 'wcsrchr'.
42704         * modules/wcsrchr: New file.
42705         * lib/wchar.in.h (wcsrchr): New declaration.
42706         * lib/wcsrchr.c: New file.
42707         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
42708         * m4/wcsrchr.m4: New file.
42709         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
42710         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
42711         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
42712         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
42713         * doc/posix-functions/wcsrchr.texi: Mention the new module.
42715 2011-02-06  Bruno Haible  <bruno@clisp.org>
42717         New module 'wcschr'.
42718         * modules/wcschr: New file.
42719         * lib/wchar.in.h (wcschr): New declaration.
42720         * lib/wcschr.c: New file.
42721         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
42722         * m4/wcschr.m4: New file.
42723         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
42724         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
42725         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
42726         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
42727         * doc/posix-functions/wcschr.texi: Mention the new module.
42729 2011-02-06  Bruno Haible  <bruno@clisp.org>
42731         New module 'wcsdup'.
42732         * modules/wcsdup: New file.
42733         * lib/wchar.in.h (wcsdup): New declaration.
42734         * lib/wcsdup.c: New file.
42735         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
42736         * m4/wcsdup.m4: New file.
42737         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
42738         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
42739         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
42740         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
42741         * doc/posix-functions/wcsdup.texi: Mention the new module.
42743 2011-02-06  Bruno Haible  <bruno@clisp.org>
42745         New module 'wcsxfrm'.
42746         * modules/wcsxfrm: New file.
42747         * lib/wchar.in.h (wcsxfrm): New declaration.
42748         * lib/wcsxfrm.c: New file.
42749         * lib/wcsxfrm-impl.h: New file.
42750         * m4/wcsxfrm.m4: New file.
42751         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
42752         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
42753         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
42754         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
42755         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
42757 2011-02-06  Bruno Haible  <bruno@clisp.org>
42759         New module 'wcscoll'.
42760         * modules/wcscoll: New file.
42761         * lib/wchar.in.h (wcscoll): New declaration.
42762         * lib/wcscoll.c: New file.
42763         * lib/wcscoll-impl.h: New file.
42764         * m4/wcscoll.m4: New file.
42765         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
42766         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
42767         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
42768         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
42769         * doc/posix-functions/wcscoll.texi: Mention the new module.
42771 2011-02-06  Bruno Haible  <bruno@clisp.org>
42773         New module 'wcsncasecmp'.
42774         * modules/wcsncasecmp: New file.
42775         * lib/wchar.in.h (wcsncasecmp): New declaration.
42776         * lib/wcsncasecmp.c: New file.
42777         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
42778         * m4/wcsncasecmp.m4: New file.
42779         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
42780         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
42781         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
42782         HAVE_WCSNCASECMP.
42783         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
42784         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
42786 2011-02-06  Bruno Haible  <bruno@clisp.org>
42788         New module 'wcscasecmp'.
42789         * modules/wcscasecmp: New file.
42790         * lib/wchar.in.h (wcscasecmp): New declaration.
42791         * lib/wcscasecmp.c: New file.
42792         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
42793         * m4/wcscasecmp.m4: New file.
42794         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
42795         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
42796         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
42797         HAVE_WCSCASECMP.
42798         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
42799         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
42801 2011-02-05  Bruno Haible  <bruno@clisp.org>
42803         New module 'wcsncmp'.
42804         * modules/wcsncmp: New file.
42805         * lib/wchar.in.h (wcsncmp): New declaration.
42806         * lib/wcsncmp.c: New file.
42807         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
42808         * m4/wcsncmp.m4: New file.
42809         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
42810         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
42811         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
42812         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
42813         * doc/posix-functions/wcsncmp.texi: Mention the new module.
42815 2011-02-05  Bruno Haible  <bruno@clisp.org>
42817         New module 'wcscmp'.
42818         * modules/wcscmp: New file.
42819         * lib/wchar.in.h (wcscmp): New declaration.
42820         * lib/wcscmp.c: New file.
42821         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
42822         * m4/wcscmp.m4: New file.
42823         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
42824         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
42825         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
42826         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
42827         * doc/posix-functions/wcscmp.texi: Mention the new module.
42829 2011-02-05  Bruno Haible  <bruno@clisp.org>
42831         New module 'wcsncat'.
42832         * modules/wcsncat: New file.
42833         * lib/wchar.in.h (wcsncat): New declaration.
42834         * lib/wcsncat.c: New file.
42835         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
42836         * m4/wcsncat.m4: New file.
42837         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
42838         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
42839         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
42840         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
42841         * doc/posix-functions/wcsncat.texi: Mention the new module.
42843 2011-02-05  Bruno Haible  <bruno@clisp.org>
42845         New module 'wcscat'.
42846         * modules/wcscat: New file.
42847         * lib/wchar.in.h (wcscat): New declaration.
42848         * lib/wcscat.c: New file.
42849         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
42850         * m4/wcscat.m4: New file.
42851         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
42852         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
42853         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
42854         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
42855         * doc/posix-functions/wcscat.texi: Mention the new module.
42857 2011-02-05  Bruno Haible  <bruno@clisp.org>
42859         New module 'wcpncpy'.
42860         * modules/wcpncpy: New file.
42861         * lib/wchar.in.h (wcpncpy): New declaration.
42862         * lib/wcpncpy.c: New file.
42863         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
42864         * m4/wcpncpy.m4: New file.
42865         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
42866         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
42867         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
42868         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
42869         * doc/posix-functions/wcpncpy.texi: Mention the new module.
42871 2011-02-05  Bruno Haible  <bruno@clisp.org>
42873         New module 'wcsncpy'.
42874         * modules/wcsncpy: New file.
42875         * lib/wchar.in.h (wcsncpy): New declaration.
42876         * lib/wcsncpy.c: New file.
42877         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
42878         * m4/wcsncpy.m4: New file.
42879         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
42880         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
42881         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
42882         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
42883         * doc/posix-functions/wcsncpy.texi: Mention the new module.
42885 2011-02-05  Bruno Haible  <bruno@clisp.org>
42887         New module 'wcpcpy'.
42888         * modules/wcpcpy: New file.
42889         * lib/wchar.in.h (wcpcpy): New declaration.
42890         * lib/wcpcpy.c: New file.
42891         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
42892         * m4/wcpcpy.m4: New file.
42893         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
42894         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
42895         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
42896         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
42897         * doc/posix-functions/wcpcpy.texi: Mention the new module.
42899 2011-02-05  Bruno Haible  <bruno@clisp.org>
42901         New module 'wcscpy'.
42902         * modules/wcscpy: New file.
42903         * lib/wchar.in.h (wcscpy): New declaration.
42904         * lib/wcscpy.c: New file.
42905         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
42906         * m4/wcscpy.m4: New file.
42907         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
42908         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
42909         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
42910         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
42911         * doc/posix-functions/wcscpy.texi: Mention the new module.
42913 2011-02-05  Bruno Haible  <bruno@clisp.org>
42915         New module 'wcsnlen'.
42916         * modules/wcsnlen: New file.
42917         * lib/wchar.in.h (wcsnlen): New declaration.
42918         * lib/wcsnlen.c: New file.
42919         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
42920         * m4/wcsnlen.m4: New file.
42921         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
42922         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
42923         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
42924         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
42925         * doc/posix-functions/wcsnlen.texi: Mention the new module.
42927 2011-02-05  Bruno Haible  <bruno@clisp.org>
42929         New module 'wcslen'.
42930         * modules/wcslen: New file.
42931         * lib/wchar.in.h (wcslen): New declaration.
42932         * lib/wcslen.c: New file.
42933         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
42934         * m4/wcslen.m4: New file.
42935         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
42936         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
42937         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
42938         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
42939         * doc/posix-functions/wcslen.texi: Mention the new module.
42941 2011-02-05  Bruno Haible  <bruno@clisp.org>
42943         New module 'wmemset'.
42944         * modules/wmemset: New file.
42945         * lib/wchar.in.h (wmemset): New declaration.
42946         * lib/wmemset.c: New file.
42947         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
42948         * m4/wmemset.m4: New file.
42949         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
42950         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
42951         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
42952         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
42953         * doc/posix-functions/wmemset.texi: Mention the new module.
42955 2011-02-05  Bruno Haible  <bruno@clisp.org>
42957         New module 'wmemmove'.
42958         * modules/wmemmove: New file.
42959         * lib/wchar.in.h (wmemmove): New declaration.
42960         * lib/wmemmove.c: New file.
42961         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
42962         * m4/wmemmove.m4: New file.
42963         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
42964         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
42965         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
42966         HAVE_WMEMMOVE.
42967         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
42968         * doc/posix-functions/wmemmove.texi: Mention the new module.
42970 2011-02-05  Bruno Haible  <bruno@clisp.org>
42972         New module 'wmemcpy'.
42973         * modules/wmemcpy: New file.
42974         * lib/wchar.in.h (wmemcpy): New declaration.
42975         * lib/wmemcpy.c: New file.
42976         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
42977         * m4/wmemcpy.m4: New file.
42978         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
42979         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
42980         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
42981         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
42982         * doc/posix-functions/wmemcpy.texi: Mention the new module.
42984 2011-02-05  Bruno Haible  <bruno@clisp.org>
42986         New module 'wmemcmp'.
42987         * modules/wmemcmp: New file.
42988         * lib/wchar.in.h (wmemcmp): New declaration.
42989         * lib/wmemcmp.c: New file.
42990         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
42991         * m4/wmemcmp.m4: New file.
42992         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
42993         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
42994         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
42995         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
42996         * doc/posix-functions/wmemcmp.texi: Mention the new module.
42998 2011-02-07  Jim Meyering  <meyering@redhat.com>
43000         di-set, ino-map: new modules, from coreutils
43001         * lib/di-set.c: New file.
43002         * lib/di-set.h: Likewise.
43003         * lib/ino-map.c: Likewise.
43004         * lib/ino-map.h: Likewise.
43005         * modules/di-set: Likewise.
43006         * modules/di-set-tests: Likewise.
43007         * modules/ino-map: Likewise.
43008         * modules/ino-map-tests: Likewise.
43009         * tests/test-di-set.c: Likewise.
43010         * tests/test-ino-map.c: Likewise.
43012 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
43014         getloadavg: merge minor changes from Emacs
43016         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
43017         (getloadavg): Use memset, not bzero.
43019         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
43020         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
43021         clash (bug#86).
43023 2010-11-14  Bruno Haible  <bruno@clisp.org>
43025         Allow multiple gnulib generated replacements to coexist.
43026         * lib/getopt.in.h (struct option): Avoid identical redefinition.
43027         * lib/inttypes.in.h (imaxdiv_t): Likewise.
43028         * lib/langinfo.in.h (nl_item): Likewise.
43029         * lib/math.in.h (_NaN, NAN): Likewise.
43030         * lib/netdb.in.h (struct addrinfo): Likewise.
43031         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
43032         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
43033         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
43034         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
43035         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
43036         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
43037         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
43038         pthread_mutexattr_init, pthread_mutexattr_settype,
43039         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
43040         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
43041         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
43042         pthread_spin_trylock, pthread_spin_unlock): Likewise.
43043         * lib/sched.in.h (struct sched_param): Likewise.
43044         * lib/se-selinux.in.h (security_class_t, security_context_t,
43045         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
43046         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
43047         lsetfilecon, fsetfilecon, security_check_context,
43048         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
43049         Likewise.
43050         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
43051         Likewise.
43052         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
43053         _gl_function_taking_int_returning_void_t, union sigval,
43054         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
43055         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
43056         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
43057         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
43058         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
43059         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
43060         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
43061         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
43062         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
43063         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
43064         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
43065         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
43066         socklen_t, rpl_fd_isset): Likewise.
43067         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
43068         * lib/sys_time.in.h (struct timeval): Likewise.
43069         * lib/sys_times.in.h (struct tms): Likewise.
43070         * lib/sys_utsname.in.h (struct utsname):
43071         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
43072         * lib/unistd.in.h (getpagesize): Likewise.
43073         * lib/wchar.in.h (mbstate_t): Likewise.
43074         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
43075         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
43076         towlower, towupper): Likewise.
43077         Reported by Sam Steingold <sds@gnu.org>.
43079 2011-02-05  Eric Blake  <eblake@redhat.com>
43081         unsetenv: work around Haiku issues
43082         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
43083         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
43085 2010-12-30  Bruce Korb  <bkorb@gnu.org>
43087         libposix: avoid calling error() within libposix
43088         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
43089         is defined.
43091 2011-02-05  Eric Blake  <eblake@redhat.com>
43093         strerror_r-posix: port to cygwin
43094         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
43095         implementation.
43096         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
43097         * tests/test-strerror_r.c (main): Fix test.
43098         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
43099         issue.
43101 2011-02-05  Bruno Haible  <bruno@clisp.org>
43103         New module 'wmemchr'.
43104         * modules/wmemchr: New file.
43105         * lib/wchar.in.h (wmemchr): New declaration.
43106         * lib/wmemchr.c: New file.
43107         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
43108         * m4/wmemchr.m4: New file.
43109         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
43110         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
43111         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
43112         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
43113         * doc/posix-functions/wmemchr.texi: Mention the new module.
43115 2011-02-04  Eric Blake  <eblake@redhat.com>
43117         fdopendir: detect FreeBSD bug
43118         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
43119         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
43121 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
43123         stdbool: do not define HAVE_STDBOOL_H
43124         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
43125         AC_HEADER_STDBOOL.  All uses changed.  Do not define
43126         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
43127         imported from the latest Autoconf git.  It was motivated by Emacs,
43128         which uses gnulib but does not need HAVE_STDBOOL_H.
43130 2011-02-04  Bruno Haible  <bruno@clisp.org>
43132         wcsnrtombs: Prepare for new module wwcsnrtombs.
43133         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
43134         * lib/wcsnrtombs.c: Include it.
43135         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
43137         wcsrtombs: Prepare for new module wwcsrtombs.
43138         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
43139         * lib/wcsrtombs.c: Include it.
43140         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
43142         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
43143         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
43144         * lib/mbsnrtowcs.c: Include it.
43145         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
43147         mbsrtowcs: Prepare for new module mbsrtowwcs.
43148         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
43149         * lib/mbsrtowcs.c: Include it.
43150         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
43152 2011-02-04  Bruno Haible  <bruno@clisp.org>
43154         vasnprintf: Reduce use of malloc for small format strings.
43155         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
43156         (arguments): Add room for the first 7 arguments.
43157         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
43158         (char_directives, u8_directives, u16_directives, u32_directives): Add
43159         room for the first 7 directives.
43160         * lib/printf-parse.c: Include <string.h>.
43161         (PRINTF_PARSE): Change memory handling code so that it uses the first
43162         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
43163         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
43164         Reported by Pádraig Brady <P@draigbrady.com>.
43166 2011-01-31  Eric Blake  <eblake@redhat.com>
43168         dup2: work around Haiku bug
43169         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
43170         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
43171         * doc/posix-functions/dup2.texi (dup2): Document the bug.
43172         * tests/test-dup2.c (main): Enhance test.
43174 2011-01-31  Simon Josefsson  <simon@josefsson.org>
43176         doc: off_t is not available in eglibc 2.11.2 stdio.h.
43177         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
43178         declared by eglibc 2.11.2.
43179         * lib/stdio.in.h: Likewise.
43181 2011-01-31  Eric Blake  <eblake@redhat.com>
43183         ignore-value: add missing test dependency
43184         * tests/test-ignore-value.c: Revert previous change; stdio.h
43185         provides off_t.
43186         * modules/ignore-value-tests (Depends-on): Add missing dependency.
43188 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
43190         mktime: clarify long_int width checking
43191         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
43192         the top level, to make it clearer that the assumption about
43193         long_int width is being checked.  See
43194         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
43196 2011-01-30  Simon Josefsson  <simon@josefsson.org>
43198         ignore-value: Fix self-test.
43199         * tests/test-ignore-value.c: Include sys/types.h for off_t.
43201 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
43203         TYPE_MAXIMUM: avoid theoretically undefined behavior
43204         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
43205         negative number, which the C Standard says has undefined behavior.
43206         In practice this is not a problem, but might as well do it by the book.
43207         Reported by Rich Felker and Eric Blake; see
43208         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
43209         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
43210         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
43211         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43212         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
43213         * m4/stdint.m4 (gl_STDINT_H): Likewise.
43214         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
43216         mktime: #undef mktime before #defining it
43217         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
43219         mktime: systematically normalize tm_isdst comparisons
43220         * lib/mktime.c (isdst_differ): New function.
43221         (__mktime_internal): Use it systematically for all isdst comparisons.
43222         This completes the fix for libc BZ #6723, and removes the need for
43223         normalizing tm_isdst.  See
43224         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
43225         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
43227         mktime: fix some integer overflow issues and sidestep the rest
43229         This was prompted by a bug report by Benjamin Lindner for MinGW
43230         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
43231         His bug is due to signed integer overflow (0 - INT_MIN), and I
43232         I scanned through mktime.c looking for other integer overflow
43233         problems, fixing all the bugs I found.
43235         Although the C Standard says the resulting code is still not safe
43236         in the presence of integer overflow, in practice it should be good
43237         enough for all real-world two's-complement implementations, except
43238         for debugging environments that deliberately trap on integer
43239         overflow (e.g., gcc -ftrapv).
43241         * lib/mktime.c (WRAPV): New macro.
43242         (SHR): Also check that long_int and time_t shift right in the
43243         usual way, before using the fast-but-unportable method.
43244         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
43245         used.  The code already assumed two's complement, so there's
43246         no need to test for alternatives.  All uses removed.
43247         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
43248         the C standard.  Problem reported by Rich Felker in
43249         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
43250         (twos_complement_arithmetic): Also check long_int and time_t.
43251         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
43252         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
43253         (__mktime_internal): Avoid integer overflow with unary subtraction
43254         in two instances where -1 - X is an adequate replacement for -X,
43255         since the calculations are approximate.
43257 2011-01-29  Eric Blake  <eblake@redhat.com>
43259         mktime: avoid infinite loop
43260         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
43261         type; behavior is still undefined but portable to all known targets.
43262         Reported by Rich Felker.
43264 2011-01-29  Simon Josefsson  <simon@josefsson.org>
43266         rename, unlink, same-inode: Relicense.
43267         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
43268         * modules/unlink (License): Likewise.
43269         * modules/same-inode (License): Likewise.
43271 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
43273         mktime: avoid problems on NetBSD 5 / i386
43274         * lib/mktime.c (long_int): New type.  This works around a problem
43275         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
43276         but time_t is 64 bits, and where I expect the existing code is
43277         wrong in some cases.
43278         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
43279         (ydhms_diff): Bring back the compile-time check for wide-enough
43280         year and yday.
43282         mktime: fix misspelling in comment
43283         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
43284         This merges all recent glibc changes of importance.
43286 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43288         move-if-change: cope with concurrent mv of identical file.
43289         * build-aux/move-if-change (CMPPROG): Accept environment
43290         variable as an override for `cmp'.
43291         (usage): Document CMPPROG.
43292         Adjust comparison to drop stdout.  Cope with failure of mv if
43293         the target file exists and is identical to the source, for
43294         parallel builds.
43295         Report from H.J. Lu against binutils in PR binutils/12283.
43297 2011-01-28  Bruce Korb  <bkorb@gnu.org>
43299         * users.txt: Mention sharutils.
43301 2011-01-28  Simon Josefsson  <simon@josefsson.org>
43303         * users.txt: Mention OATH Toolkit.
43305 2011-01-27  Bruno Haible  <bruno@clisp.org>
43307         Prepare for supporting FreeBSD 10.
43308         * build-aux/config.libpath: Remove handling of freebsd1*.
43310 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
43312         Prepare for supporting FreeBSD 10.
43313         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
43314         match FreeBSD 10.0.
43316 2011-01-27  Bruno Haible  <bruno@clisp.org>
43318         vma-iter, get-rusage-as: Add OpenBSD support.
43319         * modules/vma-iter (configure.ac): Test for mquery.
43320         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
43321         * lib/vma-iter.c: Include <sys/mman.h>.
43322         (vma_iterate): Add an implementation based on mquery().
43323         * lib/resource-ext.h (get_rusage_as): Update comments.
43324         * lib/get-rusage-as.c: Likewise.
43325         * lib/get-rusage-data.c: Likewise.
43327 2011-01-26  Karl Berry  <karl@gnu.org>
43329         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
43330         variables to make it easier to override the makeinfo program used.
43332 2011-01-26  Eric Blake  <eblake@redhat.com>
43334         fcntl: work around Haiku F_DUPFD bugs
43335         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
43336         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
43337         cloexec bit on duplication.
43338         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
43340 2011-01-26  Bruno Haible  <bruno@clisp.org>
43342         Enable memory leak tests on AIX.
43343         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
43344         * tests/test-fprintf-posix3.c (main): Likewise.
43346 2011-01-26  Bruno Haible  <bruno@clisp.org>
43348         Tests for module 'get-rusage-data'.
43349         * modules/get-rusage-data-tests: New file.
43350         * tests/test-get-rusage-data.c: New file.
43352         New module 'get-rusage-data'.
43353         * lib/resource-ext.h (get_rusage_data): New declaration.
43354         * lib/get-rusage-data.c: New file.
43355         * modules/get-rusage-data: New file.
43357 2011-01-25  Bruno Haible  <bruno@clisp.org>
43359         get-rusage-as: Allow for easier testing.
43360         * lib/resource-ext.h (get_rusage_as): Add comment.
43361         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
43362         (main): New function for interactive testing.
43364 2011-01-25  Bruno Haible  <bruno@clisp.org>
43366         vma-iter: Treat Haiku like BeOS.
43367         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
43368         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
43370 2011-01-25  Eric Blake  <eblake@redhat.com>
43372         c-stack: fix regression on cygwin when libsigsegv is present
43373         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
43375 2011-01-24  Bruno Haible  <bruno@clisp.org>
43377         vma-iter: Avoid empty intervals.
43378         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
43379         on an empty interval.
43381 2011-01-24  Jim Meyering  <meyering@redhat.com>
43383         u64: remove unnecessary #include
43384         * lib/u64.h: Don't include <stddef.h>.  It was not used.
43386 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43388         Allow the user to avoid the HAVE_RAW_DECL_* macros.
43389         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
43391 2011-01-23  Bruno Haible  <bruno@clisp.org>
43393         New module 'vma-iter'.
43394         * lib/vma-iter.h: New file.
43395         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
43396         * modules/vma-iter: New file.
43397         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
43398         for get_rusage_as_via_iterator.
43399         (vma_iterate_callback): New function.
43400         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
43401         * modules/get-rusage-as (Depends-on): Add vma-iter.
43403 2011-01-23  Bruno Haible  <bruno@clisp.org>
43405         uninorm: Tweak includes.
43406         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
43407         Reported by Jim Meyering.
43409 2011-01-23  Bruno Haible  <bruno@clisp.org>
43411         get-rusage-as: Improve on NetBSD.
43412         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
43413         /proc, like on FreeBSD.
43415 2011-01-23  Jim Meyering  <meyering@redhat.com>
43417         xreadlink.h: remove unnecessary #include
43418         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
43420         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
43421         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
43423 2011-01-23  Bruno Haible  <bruno@clisp.org>
43425         get-rusage-as: Fix bug.
43426         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
43427         original limit when aborting the first loop.
43429 2011-01-23  Bruno Haible  <bruno@clisp.org>
43431         wctype: Ensure valid C syntax.
43432         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
43433         unconditionally, instead of gl_NEXT_HEADERS conditionally.
43435 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
43437         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
43438         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
43439         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
43440         as they are needed only for configure's test case.
43441         This removes two unnecessary symbols from config.h.
43443         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
43444         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
43445         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
43446         AC_CHECK_HEADERS_ONCE on a header that we also invoke
43447         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
43448         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
43449         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
43450         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
43451         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
43452         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
43453         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
43454         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
43455         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
43456         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
43457         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
43458         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
43459         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
43460         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
43462 2011-01-21  Eric Blake  <eblake@redhat.com>
43464         maintainer-makefile: work with older git for submodule check
43465         * top/maint.mk (public-submodule-commit): Rewrite to avoid
43466         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
43467         Reported by Matthias Bolte.
43469         bootstrap: minor portability fixes
43470         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
43471         (usage): Omit leading capital and trailing . on help phrases, per
43472         GNU Coding Standards.
43473         (check_versions, top level): Prefix messages with script name.
43475 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
43477         bootstrap: support --no-git option
43478         * build-aux/bootstrap: Add --no-git option, to be used when
43479         --gnulib-srcdir points to the exact desired checkout.
43481 2011-01-21  Eric Blake  <eblake@redhat.com>
43483         strerror_r-posix: work with glibc 2.13
43484         * lib/strerror_r.c (strerror_r): Fix return type.
43486 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43487             Bruno Haible  <bruno@clisp.org>
43489         uN_strstr: New unit tests.
43490         * modules/unistr/u8-strstr-tests: New file.
43491         * modules/unistr/u16-strstr-tests: New file.
43492         * modules/unistr/u32-strstr-tests: New file.
43493         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
43494         * tests/unistr/test-u8-strstr.c: New file.
43495         * tests/unistr/test-u16-strstr.c: New file.
43496         * tests/unistr/test-u32-strstr.c: New file.
43498 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43499             Bruno Haible  <bruno@clisp.org>
43501         Make uN_strstr functions O(n) worst-case.
43502         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
43503         16-bit and 32-bit unit cases, use the unibyte algorithm from
43504         lib/mbsstr.c.
43505         * lib/unistr/u8-strstr.c: Include <string.h>.
43506         (UNIT_IS_UINT8_T): New macro.
43507         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
43508         (U_STRLEN, U_STRNLEN): New macros.
43509         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
43510         (U_STRLEN, U_STRNLEN): New macros.
43511         * modules/unistr/u8-strstr (Depends-on): Add strstr.
43512         (configure.ac): Update required libunistring version.
43513         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
43514         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
43515         malloca.
43516         (configure.ac): Update required libunistring version.
43517         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
43518         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
43519         malloca.
43520         (configure.ac): Update required libunistring version.
43522 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43523             Bruno Haible  <bruno@clisp.org>
43525         Prepare for faster uN_strstr functions.
43526         * lib/str-kmp.h: Support definable UNITs.
43527         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
43528         needle_len argument.
43529         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
43530         * lib/mbscasestr.c (mbscasestr): Likewise.
43532 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43534         malloca-tests: make faster by unsetting MALLOC_PERTURB_
43535         * tests/test-malloca.c (main): Unset the environment variable
43536         to greatly speed up the test.
43537         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
43538         * modules/malloca-tests: Depend on unsetenv.
43540 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43542         ignore-value: remove stdint dependency
43543         * lib/ignore-value.h: Remove <stdint.h>
43544         * modules/ignore-value: Remove stdint dependency.
43546 2011-01-21  Jim Meyering  <meyering@redhat.com>
43548         maint.mk: adjust variable name to be consistent with other gl_ vars
43549         * top/maint.mk (gl_public_submodule_commit): Rename the variable
43550         to be lower case.
43552 2011-01-20  Jim Meyering  <meyering@redhat.com>
43554         maint.mk: make "check" depend on public-submodule-commit by default
43555         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
43557 2011-01-20  Bruno Haible  <bruno@clisp.org>
43559         mbfile, mbiter: Complete change from 2008-12-21.
43560         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
43561         * m4/mbiter.m4 (gl_MBITER): Likewise.
43563 2011-01-20  Jim Meyering  <meyering@redhat.com>
43565         init.sh: insert space between each function name and "()"
43566         * tests/init.sh: Make it a little easier to see that a function's
43567         name is "warn_", and not "warn" when looking at the first part of
43568         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
43570 2011-01-20  Jim Meyering  <meyering@redhat.com>
43572         mountlist: clean up code formatting
43573         * lib/mountlist.c (read_file_system_list): Split a long line,
43574         correct bracing style, use NULL in place of "(struct statfs *)0",
43575         don't parenthesize return value, add spaces around "=" and after
43576         ";-in-for-stmt".
43578 2011-01-14  Markus Duft  <mduft@gentoo.org>
43580         mountlist: add support for Interix
43581         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
43582         Apply statvfs to all entries of /dev/fs.
43583         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
43584         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
43586 2011-01-20  Jim Meyering  <meyering@redhat.com>
43588         maint.mk: improve the public-submodule-commit rule
43589         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
43590         to suppress printing of its commands... unless V=1.
43591         Add git submodule's --quiet option to suppress printing of e.g.,
43592         "Entering gnulib" output.
43593         "cd" into $(srcdir) before running git submodule.
43595 2011-01-20  Bruno Haible  <bruno@clisp.org>
43597         include_next: Fix bug introduced on 2011-01-18.
43598         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
43599         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
43600         ac_cv_header_... variable if the second argument is not 'check'.
43601         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
43602         gl_NEXT_HEADERS_INTERNAL.
43604 2011-01-20  Bruno Haible  <bruno@clisp.org>
43606         Allow the user to avoid the GNULIB_TEST_* macros.
43607         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
43608         Suggested by Paul Eggert.
43610 2011-01-14  Jim Meyering  <meyering@redhat.com>
43612         bootstrap: avoid failure when there is no .gitmodules file
43613         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
43614         has been assigned to, even when its value is the empty string.
43615         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
43616         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
43617         Reported by John W. Eaton <jwe@gnu.org>.
43619 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
43621         assume <ctype.h>, ..., <time.h> exist
43622         For years gnulib has been assuming the existence of the headers
43623         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
43624         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
43625         them, since they don't appear to be needed.
43626         * README (Portability guidelines): Document this.
43627         * lib/flock.c: Assume <fcntl.h> exists.
43628         * lib/regex_internal.h: Assume <locale.h> exists.
43629         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
43630         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
43631         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
43632         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
43633         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
43634         * m4/regex.m4 (gl_REGEX): Likewise.
43635         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
43636         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
43637         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
43638         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
43639         * tests/test-argp.c: Likewise.
43640         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
43642         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
43643         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
43644         AA_APPLE_UNIVERSAL_BUILD.  See
43645         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
43646         * NEWS: Document this.
43648 2011-01-19  Eric Blake  <eblake@redhat.com>
43650         c-stack: assume stack overflow if SA_SIGINFO unsupported
43651         * lib/c-stack.c (SIGACTION_WORKS): Rename...
43652         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
43653         sigaction will work.
43654         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
43655         behavior match Linux.
43656         * tests/test-c-stack.c (main): Prefer NULL for pointers.
43658         stdbool-tests: accommodate Haiku
43659         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
43661         binary-io: fix O_TEXT on Haiku
43662         * modules/binary-io (Depends-on): Add fcntl-h.
43663         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
43664         than blindly undefining O_TEXT.
43665         Reported by Scott McCreary.
43667 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43669         include_next: do not check for standard headers like stddef.h
43671         I found this problem when modifying Emacs to use gnulib.
43672         I noticed that it added HAVE_STDDEF_H to config.h, even though
43673         gnulib always assumes <stddef.h> exists as per README and this
43674         symbol is unnecessary.
43675         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
43676         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
43677         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
43678         faster for headers like stddef.h that are known to exist.
43679         (gl_CHECK_NEXT_HEADERS): Use it.
43680         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
43681         rather than gl_CHECK_NEXT_HEADERS.
43682         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
43683         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
43685 2011-01-18  Eric Blake  <eblake@redhat.com>
43687         ansi-c++-opt: skip C++ dependency style if C++ is unused
43688         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
43689         tests when we know C++ compilation is not desired.
43690         Reported by Scott McCreary.
43692 2011-01-18  Bruno Haible  <bruno@clisp.org>
43694         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
43695         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
43696         (main): Perform test also when getrlimit and setrlimit don't exist or
43697         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
43698         limiting the address space size using setrlimit, compare the address
43699         space size before and after the test.
43700         * tests/test-dprintf-posix2.c: Likewise.
43701         * tests/test-fprintf-posix3.sh: Update skip messages.
43702         * tests/test-dprintf-posix2.sh: Likewise.
43703         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
43704         * modules/dprintf-posix-tests (Depends-on): Likewise.
43705         Reported by Bruce Korb <bkorb@gnu.org> and
43706         Gary V. Vaughan <gary@gnu.org>.
43708 2011-01-18  Bruno Haible  <bruno@clisp.org>
43710         get-rusage-as: Improvement for Cygwin.
43711         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
43712         areas that are merely reserved.
43714 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43716         strftime: remove dependencies on multibyte modules
43718         strftime depended on mbrlen, mbsinit, and wchar, but these modules
43719         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
43720         only if __osf__ is defined, and I suspect OSF doesn't need these
43721         other modules.  If my guess is wrong, we'll need to come up with a
43722         variant of strftime that doesn't need the multibyte modules.
43724         I discovered this problem when attempting modify Emacs to use the
43725         strftime module.  With the previous gnulib, this caused Emacs to
43726         need 31 new files, ranging from lib/config.charset to
43727         m4/wint_t.m4.  This was overkill and I expect would be offputting
43728         to the Emacs maintainers.  After this change, only 6 new files are
43729         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
43730         stdbool.m4, and tm_gmtoff.m4.
43732         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
43733         Suggested by Bruno Haible in
43734         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
43735         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
43736         and do not check for wchar.h.
43737         * modules/strftime (Files): Remove m4/mbstate_t.m4.
43738         (Depends-on): Remove mbrlen, mbsinit, wchar.
43740 2011-01-18  Bruno Haible  <bruno@clisp.org>
43742         Tests for module 'get-rusage-as'.
43743         * modules/get-rusage-as-tests: New file.
43744         * tests/test-get-rusage-as.c: New file.
43746         New module 'get-rusage-as'.
43747         * modules/get-rusage-as: New file.
43748         * lib/resource-ext.h: New file.
43749         * lib/get-rusage-as.c: New file.
43751 2011-01-17  Eric Blake  <eblake@redhat.com>
43753         sigaction: relax license from LGPLv3+ to LGPLv2+
43754         * modules/sigaction (License): Relax to LGPLv2+.
43756 2011-01-14  Bruno Haible  <bruno@clisp.org>
43758         filemode: Make function declarations usable in C++ mode.
43759         * lib/filemode.h: Enclose function declarations in extern "C" block.
43760         Reported by John W. Eaton <jwe@gnu.org>.
43762 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
43764         save-cwd: no longer include "xgetcwd.h"
43765         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
43766         This avoids a compilation failure in projects that use save-cwd
43767         without also using the xgetcwd module.
43769 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43771         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
43772         This is so that a program like Emacs, which needs only dtoastr,
43773         does not have to bother with distributing and compiling ftoastr
43774         and ldtoastr.
43775         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
43776         * modules/dtoastr, modules/ldtoastr: New files.
43777         * modules/ftoastr: Now works just for 'float'.
43778         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
43779         (Makefile.am): Remove ftoastr.h (not needed and no effect),
43780         dtoastr.c, ldtoastr.c.
43782 2011-01-11  Jim Meyering  <meyering@redhat.com>
43784         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
43785         There is no need to work around the lack of the fchdir function,
43786         since gnulib can now provide a replacement when required.
43787         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
43788         * modules/save-cwd (Depends-on): Add fchdir.
43790 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43792         openat, save-cwd: avoid xmalloc
43794         This removes a direct (but undocumented) dependency of openat on
43795         xalloc, along with an indirect dependency via save-cwd.  It also
43796         removes a dependency of save-cwd on xgetcwd, and thereby
43797         indirectly on xalloc.  This change causes the openat substitute
43798         to fall back on save_cwd when memory is tight, and for save_cwd to
43799         fail instead of dying when memory is tight, but that's good enough.
43800         Problem and initial idea for fix reported by Bastien Roucaries in
43801         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
43803         * lib/openat-proc.c: Include stdlib.h (for malloc), not
43804         xalloc.h (for xmalloc).
43805         (openat_proc_name): Use malloc, not xmalloc.
43806         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
43807         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
43809         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
43810         This avoids heap allocation for file names whose lengths are in
43811         the range 512..1023, with the upper bound increasing to at most
43812         4031 depending on the platform's PATH_MAX.  (We do not want
43813         pathmax.h here as it might supply a non-constant PATH_MAX.)
43814         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
43815         Perhaps they should be moved to malloca.h?
43816         (OPENAT_BUFFER_SIZE): Use them.
43818 2011-01-10  Bruno Haible  <bruno@clisp.org>
43820         doc: Update users.txt.
43821         * users.txt: Add recutils.
43823 2011-01-09  Karl Berry  <karl@gnu.org>
43825         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
43827         * doc/configmake.texi: New file.
43828         * doc/gnulib.texi: Include it.
43829         * modules/configmake: Move documentation from here.
43831 2011-01-09  Bruno Haible  <bruno@clisp.org>
43833         Update to Unicode 6.0.0.
43834         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
43835         (get_lbp): Update for Unicode 6.0.0.
43836         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
43837         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
43838         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
43839         U+11001, U+11038..U+11046. Remove U+06DE.
43840         (uc_width): Fix bounds of planes.
43841         * tests/uniwidth/test-uc_width2.sh: Same updates as in
43842         lib/uniwidth/width.c.
43843         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
43844         trailing whitespace removed.
43845         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
43846         without comments, but with the original copyright notice.
43847         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
43848         * lib/unicase/ignorable.h: Likewise.
43849         * lib/unicase/tocasefold.h: Likewise.
43850         * lib/unicase/tolower.h: Likewise.
43851         * lib/unicase/totitle.h: Likewise.
43852         * lib/unicase/toupper.h: Likewise.
43853         * lib/unictype/bidi_of.h: Likewise.
43854         * lib/unictype/blocks.h: Likewise.
43855         * lib/unictype/categ_C.h: Likewise.
43856         * lib/unictype/categ_Cn.h: Likewise.
43857         * lib/unictype/categ_L.h: Likewise.
43858         * lib/unictype/categ_Ll.h: Likewise.
43859         * lib/unictype/categ_Lm.h: Likewise.
43860         * lib/unictype/categ_Lo.h: Likewise.
43861         * lib/unictype/categ_Lu.h: Likewise.
43862         * lib/unictype/categ_M.h: Likewise.
43863         * lib/unictype/categ_Mc.h: Likewise.
43864         * lib/unictype/categ_Me.h: Likewise.
43865         * lib/unictype/categ_Mn.h: Likewise.
43866         * lib/unictype/categ_N.h: Likewise.
43867         * lib/unictype/categ_Nd.h: Likewise.
43868         * lib/unictype/categ_No.h: Likewise.
43869         * lib/unictype/categ_P.h: Likewise.
43870         * lib/unictype/categ_Po.h: Likewise.
43871         * lib/unictype/categ_S.h: Likewise.
43872         * lib/unictype/categ_Sc.h: Likewise.
43873         * lib/unictype/categ_Sk.h: Likewise.
43874         * lib/unictype/categ_Sm.h: Likewise.
43875         * lib/unictype/categ_So.h: Likewise.
43876         * lib/unictype/categ_of.h: Likewise.
43877         * lib/unictype/combining.h: Likewise.
43878         * lib/unictype/ctype_alnum.h: Likewise.
43879         * lib/unictype/ctype_alpha.h: Likewise.
43880         * lib/unictype/ctype_graph.h: Likewise.
43881         * lib/unictype/ctype_lower.h: Likewise.
43882         * lib/unictype/ctype_print.h: Likewise.
43883         * lib/unictype/ctype_punct.h: Likewise.
43884         * lib/unictype/ctype_upper.h: Likewise.
43885         * lib/unictype/decdigit.h: Likewise.
43886         * lib/unictype/digit.h: Likewise.
43887         * lib/unictype/numeric.h: Likewise.
43888         * lib/unictype/pr_alphabetic.h: Likewise.
43889         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
43890         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
43891         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
43892         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
43893         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
43894         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
43895         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
43896         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
43897         * lib/unictype/pr_case_ignorable.h: Likewise.
43898         * lib/unictype/pr_cased.h: Likewise.
43899         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
43900         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
43901         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
43902         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
43903         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
43904         * lib/unictype/pr_combining.h: Likewise.
43905         * lib/unictype/pr_composite.h: Likewise.
43906         * lib/unictype/pr_currency_symbol.h: Likewise.
43907         * lib/unictype/pr_decimal_digit.h: Likewise.
43908         * lib/unictype/pr_deprecated.h: Likewise.
43909         * lib/unictype/pr_format_control.h: Likewise.
43910         * lib/unictype/pr_grapheme_base.h: Likewise.
43911         * lib/unictype/pr_grapheme_extend.h: Likewise.
43912         * lib/unictype/pr_grapheme_link.h: Likewise.
43913         * lib/unictype/pr_id_continue.h: Likewise.
43914         * lib/unictype/pr_id_start.h: Likewise.
43915         * lib/unictype/pr_ideographic.h: Likewise.
43916         * lib/unictype/pr_lowercase.h: Likewise.
43917         * lib/unictype/pr_math.h: Likewise.
43918         * lib/unictype/pr_numeric.h: Likewise.
43919         * lib/unictype/pr_other_alphabetic.h: Likewise.
43920         * lib/unictype/pr_other_id_continue.h: Likewise.
43921         * lib/unictype/pr_other_math.h: Likewise.
43922         * lib/unictype/pr_punctuation.h: Likewise.
43923         * lib/unictype/pr_sentence_terminal.h: Likewise.
43924         * lib/unictype/pr_terminal_punctuation.h: Likewise.
43925         * lib/unictype/pr_unassigned_code_value.h: Likewise.
43926         * lib/unictype/pr_unified_ideograph.h: Likewise.
43927         * lib/unictype/pr_uppercase.h: Likewise.
43928         * lib/unictype/pr_xid_continue.h: Likewise.
43929         * lib/unictype/pr_xid_start.h: Likewise.
43930         * lib/unictype/scripts.h: Likewise.
43931         * lib/unictype/scripts_byname.gperf: Likewise.
43932         * lib/unictype/sy_java_ident.h: Likewise.
43933         * lib/unigbrk/gbrkprop.h: Likewise.
43934         * lib/unilbrk/lbrkprop1.h: Likewise.
43935         * lib/unilbrk/lbrkprop2.h: Likewise.
43936         * lib/uninorm/decomposition-table2.h: Likewise.
43937         * lib/uniwbrk/wbrkprop.h: Likewise.
43938         * tests/unicase/test-cased.c: Likewise.
43939         * tests/unicase/test-ignorable.c: Likewise.
43940         * tests/unicase/test-uc_tolower.c: Likewise.
43941         * tests/unicase/test-uc_totitle.c: Likewise.
43942         * tests/unicase/test-uc_toupper.c: Likewise.
43943         * tests/unictype/test-categ_C.c: Likewise.
43944         * tests/unictype/test-categ_Cn.c: Likewise.
43945         * tests/unictype/test-categ_L.c: Likewise.
43946         * tests/unictype/test-categ_Ll.c: Likewise.
43947         * tests/unictype/test-categ_Lm.c: Likewise.
43948         * tests/unictype/test-categ_Lo.c: Likewise.
43949         * tests/unictype/test-categ_Lu.c: Likewise.
43950         * tests/unictype/test-categ_M.c: Likewise.
43951         * tests/unictype/test-categ_Mc.c: Likewise.
43952         * tests/unictype/test-categ_Me.c: Likewise.
43953         * tests/unictype/test-categ_Mn.c: Likewise.
43954         * tests/unictype/test-categ_N.c: Likewise.
43955         * tests/unictype/test-categ_Nd.c: Likewise.
43956         * tests/unictype/test-categ_No.c: Likewise.
43957         * tests/unictype/test-categ_P.c: Likewise.
43958         * tests/unictype/test-categ_Po.c: Likewise.
43959         * tests/unictype/test-categ_S.c: Likewise.
43960         * tests/unictype/test-categ_Sc.c: Likewise.
43961         * tests/unictype/test-categ_Sk.c: Likewise.
43962         * tests/unictype/test-categ_Sm.c: Likewise.
43963         * tests/unictype/test-categ_So.c: Likewise.
43964         * tests/unictype/test-ctype_alnum.c: Likewise.
43965         * tests/unictype/test-ctype_alpha.c: Likewise.
43966         * tests/unictype/test-ctype_graph.c: Likewise.
43967         * tests/unictype/test-ctype_lower.c: Likewise.
43968         * tests/unictype/test-ctype_print.c: Likewise.
43969         * tests/unictype/test-ctype_punct.c: Likewise.
43970         * tests/unictype/test-ctype_upper.c: Likewise.
43971         * tests/unictype/test-decdigit.h: Likewise.
43972         * tests/unictype/test-digit.h: Likewise.
43973         * tests/unictype/test-numeric.h: Likewise.
43974         * tests/unictype/test-pr_alphabetic.c: Likewise.
43975         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
43976         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
43977         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
43978         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
43979         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
43980         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
43981         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
43982         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
43983         * tests/unictype/test-pr_case_ignorable.c: Likewise.
43984         * tests/unictype/test-pr_cased.c: Likewise.
43985         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
43986         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
43987         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
43988         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
43989         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
43990         * tests/unictype/test-pr_combining.c: Likewise.
43991         * tests/unictype/test-pr_composite.c: Likewise.
43992         * tests/unictype/test-pr_currency_symbol.c: Likewise.
43993         * tests/unictype/test-pr_decimal_digit.c: Likewise.
43994         * tests/unictype/test-pr_deprecated.c: Likewise.
43995         * tests/unictype/test-pr_format_control.c: Likewise.
43996         * tests/unictype/test-pr_grapheme_base.c: Likewise.
43997         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
43998         * tests/unictype/test-pr_grapheme_link.c: Likewise.
43999         * tests/unictype/test-pr_id_continue.c: Likewise.
44000         * tests/unictype/test-pr_id_start.c: Likewise.
44001         * tests/unictype/test-pr_ideographic.c: Likewise.
44002         * tests/unictype/test-pr_lowercase.c: Likewise.
44003         * tests/unictype/test-pr_math.c: Likewise.
44004         * tests/unictype/test-pr_numeric.c: Likewise.
44005         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
44006         * tests/unictype/test-pr_other_id_continue.c: Likewise.
44007         * tests/unictype/test-pr_other_math.c: Likewise.
44008         * tests/unictype/test-pr_punctuation.c: Likewise.
44009         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44010         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44011         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44012         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44013         * tests/unictype/test-pr_uppercase.c: Likewise.
44014         * tests/unictype/test-pr_xid_continue.c: Likewise.
44015         * tests/unictype/test-pr_xid_start.c: Likewise.
44016         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
44017         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
44018         changes.
44019         * lib/unictype/categ_Cc.h: Likewise.
44020         * lib/unictype/categ_Cf.h: Likewise.
44021         * lib/unictype/categ_Co.h: Likewise.
44022         * lib/unictype/categ_Cs.h: Likewise.
44023         * lib/unictype/categ_Lt.h: Likewise.
44024         * lib/unictype/categ_Nl.h: Likewise.
44025         * lib/unictype/categ_Pc.h: Likewise.
44026         * lib/unictype/categ_Pd.h: Likewise.
44027         * lib/unictype/categ_Pe.h: Likewise.
44028         * lib/unictype/categ_Pf.h: Likewise.
44029         * lib/unictype/categ_Pi.h: Likewise.
44030         * lib/unictype/categ_Ps.h: Likewise.
44031         * lib/unictype/categ_Z.h: Likewise.
44032         * lib/unictype/categ_Zl.h: Likewise.
44033         * lib/unictype/categ_Zp.h: Likewise.
44034         * lib/unictype/categ_Zs.h: Likewise.
44035         * lib/unictype/ctype_blank.h: Likewise.
44036         * lib/unictype/ctype_cntrl.h: Likewise.
44037         * lib/unictype/ctype_digit.h: Likewise.
44038         * lib/unictype/ctype_space.h: Likewise.
44039         * lib/unictype/ctype_xdigit.h: Likewise.
44040         * lib/unictype/mirror.h: Likewise.
44041         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44042         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44043         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44044         * lib/unictype/pr_bidi_control.h: Likewise.
44045         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44046         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44047         * lib/unictype/pr_bidi_european_digit.h: Likewise.
44048         * lib/unictype/pr_bidi_pdf.h: Likewise.
44049         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44050         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44051         * lib/unictype/pr_dash.h: Likewise.
44052         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44053         * lib/unictype/pr_diacritic.h: Likewise.
44054         * lib/unictype/pr_extender.h: Likewise.
44055         * lib/unictype/pr_hex_digit.h: Likewise.
44056         * lib/unictype/pr_hyphen.h: Likewise.
44057         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44058         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44059         * lib/unictype/pr_ignorable_control.h: Likewise.
44060         * lib/unictype/pr_iso_control.h: Likewise.
44061         * lib/unictype/pr_join_control.h: Likewise.
44062         * lib/unictype/pr_left_of_pair.h: Likewise.
44063         * lib/unictype/pr_line_separator.h: Likewise.
44064         * lib/unictype/pr_logical_order_exception.h: Likewise.
44065         * lib/unictype/pr_non_break.h: Likewise.
44066         * lib/unictype/pr_not_a_character.h: Likewise.
44067         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44068         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44069         * lib/unictype/pr_other_id_start.h: Likewise.
44070         * lib/unictype/pr_other_lowercase.h: Likewise.
44071         * lib/unictype/pr_other_uppercase.h: Likewise.
44072         * lib/unictype/pr_paired_punctuation.h: Likewise.
44073         * lib/unictype/pr_paragraph_separator.h: Likewise.
44074         * lib/unictype/pr_pattern_syntax.h: Likewise.
44075         * lib/unictype/pr_pattern_white_space.h: Likewise.
44076         * lib/unictype/pr_private_use.h: Likewise.
44077         * lib/unictype/pr_quotation_mark.h: Likewise.
44078         * lib/unictype/pr_radical.h: Likewise.
44079         * lib/unictype/pr_soft_dotted.h: Likewise.
44080         * lib/unictype/pr_space.h: Likewise.
44081         * lib/unictype/pr_titlecase.h: Likewise.
44082         * lib/unictype/pr_variation_selector.h: Likewise.
44083         * lib/unictype/pr_white_space.h: Likewise.
44084         * lib/unictype/pr_zero_width.h: Likewise.
44085         * lib/unictype/sy_c_ident.h: Likewise.
44086         * lib/unictype/sy_c_whitespace.h: Likewise.
44087         * lib/unictype/sy_java_whitespace.h: Likewise.
44088         * lib/uninorm/composition-table.gperf: Likewise.
44089         * lib/uninorm/decomposition-table1.h: Likewise.
44090         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
44091         LB8.
44092         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
44093         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
44094         * modules/unictype/*: Bump version number of expected libunistring
44095         version.
44097 2011-01-09  Bruno Haible  <bruno@clisp.org>
44099         Update to Unicode 5.2.0.
44100         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
44101         trailing whitespace removed.
44103 2011-01-09  Bruno Haible  <bruno@clisp.org>
44105         New Unicode character properties, from Unicode 5.2.0.
44106         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
44107         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
44108         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
44109         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
44110         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
44111         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
44112         uc_is_property_cased, uc_is_property_case_ignorable,
44113         uc_is_property_changes_when_lowercased,
44114         uc_is_property_changes_when_uppercased,
44115         uc_is_property_changes_when_titlecased,
44116         uc_is_property_changes_when_casefolded,
44117         uc_is_property_changes_when_casemapped): New declarations.
44118         * lib/unictype/pr_byname.gperf: Add the new properties.
44119         * modules/unictype/property-byname (Depends-on): Depend on the new
44120         properties modules.
44121         * modules/unictype/property-all (Depends-on): Likewise.
44122         * MODULES.html.sh (Unicode string functions): Add
44123         unictype/property-case-ignorable, unictype/property-cased,
44124         unictype/property-changes-when-casefolded,
44125         unictype/property-changes-when-casemapped,
44126         unictype/property-changes-when-lowercased,
44127         unictype/property-changes-when-titlecased,
44128         unictype/property-changes-when-uppercased.
44130         New module 'unictype/property-changes-when-casemapped'.
44131         * modules/unictype/property-changes-when-casemapped: New file.
44132         * lib/unictype/pr_changes_when_casemapped.c: New file.
44133         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
44134         generated by gen-uni-tables.
44135         * modules/unictype/property-changes-when-casemapped-tests: New file.
44136         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
44137         automatically generated by gen-uni-tables.
44139         New module 'unictype/property-changes-when-casefolded'.
44140         * modules/unictype/property-changes-when-casefolded: New file.
44141         * lib/unictype/pr_changes_when_casefolded.c: New file.
44142         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
44143         generated by gen-uni-tables.
44144         * modules/unictype/property-changes-when-casefolded-tests: New file.
44145         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
44146         automatically generated by gen-uni-tables.
44148         New module 'unictype/property-changes-when-titlecased'.
44149         * modules/unictype/property-changes-when-titlecased: New file.
44150         * lib/unictype/pr_changes_when_titlecased.c: New file.
44151         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
44152         generated by gen-uni-tables.
44153         * modules/unictype/property-changes-when-titlecased-tests: New file.
44154         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
44155         automatically generated by gen-uni-tables.
44157         New module 'unictype/property-changes-when-uppercased'.
44158         * modules/unictype/property-changes-when-uppercased: New file.
44159         * lib/unictype/pr_changes_when_uppercased.c: New file.
44160         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
44161         generated by gen-uni-tables.
44162         * modules/unictype/property-changes-when-uppercased-tests: New file.
44163         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
44164         automatically generated by gen-uni-tables.
44166         New module 'unictype/property-changes-when-lowercased'.
44167         * modules/unictype/property-changes-when-lowercased: New file.
44168         * lib/unictype/pr_changes_when_lowercased.c: New file.
44169         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
44170         generated by gen-uni-tables.
44171         * modules/unictype/property-changes-when-lowercased-tests: New file.
44172         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
44173         automatically generated by gen-uni-tables.
44175         New module 'unictype/property-case-ignorable'.
44176         * modules/unictype/property-case-ignorable: New file.
44177         * lib/unictype/pr_case_ignorable.c: New file.
44178         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
44179         by gen-uni-tables.
44180         * modules/unictype/property-case-ignorable-tests: New file.
44181         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
44182         generated by gen-uni-tables.
44184         New module 'unictype/property-cased'.
44185         * modules/unictype/property-cased: New file.
44186         * lib/unictype/pr_cased.c: New file.
44187         * lib/unictype/pr_cased.h: New file, automatically generated by
44188         gen-uni-tables.
44189         * modules/unictype/property-cased-tests: New file.
44190         * tests/unictype/test-pr_cased.c: New file, automatically generated by
44191         gen-uni-tables.
44193 2011-01-09  Bruno Haible  <bruno@clisp.org>
44195         Update to Unicode 5.2.0.
44196         * lib/gen-uni-tables.c (output_predicate, output_category,
44197         output_combclass, output_bidi_category, output_decimal_digit_test,
44198         output_decimal_digit, output_digit_test, output_digit,
44199         output_numeric_test, output_numeric, output_mirror, output_scripts,
44200         output_scripts_byname, output_blocks, output_ident_category): Fix
44201         comment header.
44202         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
44203         get_wbp.
44204         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
44205         items.
44206         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
44207         Changes_When_Lowercased, Changes_When_Uppercased,
44208         Changes_When_Titlecased, Changes_When_Casefolded,
44209         Changes_When_Casemapped.
44210         (is_property_alphabetic, is_property_default_ignorable_code_point):
44211         Update for Unicode 5.2.0.
44212         (is_property_cased, is_property_case_ignorable,
44213         is_property_changes_when_lowercased,
44214         is_property_changes_when_uppercased,
44215         is_property_changes_when_titlecased,
44216         is_property_changes_when_casefolded,
44217         is_property_changes_when_casemapped): New functions.
44218         (output_properties): Output also the properties cased, case_ignorable,
44219         changes_when_lowercased, changes_when_uppercased,
44220         changes_when_titlecased, changes_when_casefolded,
44221         changes_when_casemapped.
44222         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
44223         Unicode TR#11 revision 17 -> 19.
44224         (LBP_CP): New enumeration value.
44225         (LBP_*): Adjust values accordingly.
44226         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
44227         TR#14 revision 22 -> 24.
44228         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
44229         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
44230         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
44231         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
44232         is_WBP_MIDLETTER.
44233         (output_composition_tables): Allow for 24 bits instead of 16 bits in
44234         the code1 and code2 of each composition rule.
44235         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
44236         * lib/unicase/ignorable.h: Likewise.
44237         * lib/unicase/tocasefold.h: Likewise.
44238         * lib/unicase/tolower.h: Likewise.
44239         * lib/unicase/totitle.h: Likewise.
44240         * lib/unicase/toupper.h: Likewise.
44241         * lib/unictype/bidi_of.h: Likewise.
44242         * lib/unictype/blocks.h: Likewise.
44243         * lib/unictype/categ_C.h: Likewise.
44244         * lib/unictype/categ_Cf.h: Likewise.
44245         * lib/unictype/categ_Cn.h: Likewise.
44246         * lib/unictype/categ_L.h: Likewise.
44247         * lib/unictype/categ_Ll.h: Likewise.
44248         * lib/unictype/categ_Lm.h: Likewise.
44249         * lib/unictype/categ_Lo.h: Likewise.
44250         * lib/unictype/categ_Lu.h: Likewise.
44251         * lib/unictype/categ_M.h: Likewise.
44252         * lib/unictype/categ_Mc.h: Likewise.
44253         * lib/unictype/categ_Mn.h: Likewise.
44254         * lib/unictype/categ_N.h: Likewise.
44255         * lib/unictype/categ_Nd.h: Likewise.
44256         * lib/unictype/categ_Nl.h: Likewise.
44257         * lib/unictype/categ_No.h: Likewise.
44258         * lib/unictype/categ_P.h: Likewise.
44259         * lib/unictype/categ_Pd.h: Likewise.
44260         * lib/unictype/categ_Po.h: Likewise.
44261         * lib/unictype/categ_S.h: Likewise.
44262         * lib/unictype/categ_Sc.h: Likewise.
44263         * lib/unictype/categ_So.h: Likewise.
44264         * lib/unictype/categ_of.h: Likewise.
44265         * lib/unictype/combining.h: Likewise.
44266         * lib/unictype/ctype_alnum.h: Likewise.
44267         * lib/unictype/ctype_alpha.h: Likewise.
44268         * lib/unictype/ctype_graph.h: Likewise.
44269         * lib/unictype/ctype_lower.h: Likewise.
44270         * lib/unictype/ctype_print.h: Likewise.
44271         * lib/unictype/ctype_punct.h: Likewise.
44272         * lib/unictype/ctype_upper.h: Likewise.
44273         * lib/unictype/decdigit.h: Likewise.
44274         * lib/unictype/digit.h: Likewise.
44275         * lib/unictype/numeric.h: Likewise.
44276         * lib/unictype/pr_alphabetic.h: Likewise.
44277         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
44278         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
44279         * lib/unictype/pr_bidi_european_digit.h: Likewise.
44280         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
44281         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
44282         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
44283         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
44284         * lib/unictype/pr_combining.h: Likewise.
44285         * lib/unictype/pr_composite.h: Likewise.
44286         * lib/unictype/pr_currency_symbol.h: Likewise.
44287         * lib/unictype/pr_dash.h: Likewise.
44288         * lib/unictype/pr_decimal_digit.h: Likewise.
44289         * lib/unictype/pr_deprecated.h: Likewise.
44290         * lib/unictype/pr_diacritic.h: Likewise.
44291         * lib/unictype/pr_extender.h: Likewise.
44292         * lib/unictype/pr_grapheme_base.h: Likewise.
44293         * lib/unictype/pr_grapheme_extend.h: Likewise.
44294         * lib/unictype/pr_grapheme_link.h: Likewise.
44295         * lib/unictype/pr_id_continue.h: Likewise.
44296         * lib/unictype/pr_id_start.h: Likewise.
44297         * lib/unictype/pr_ideographic.h: Likewise.
44298         * lib/unictype/pr_ignorable_control.h: Likewise.
44299         * lib/unictype/pr_logical_order_exception.h: Likewise.
44300         * lib/unictype/pr_lowercase.h: Likewise.
44301         * lib/unictype/pr_numeric.h: Likewise.
44302         * lib/unictype/pr_other_alphabetic.h: Likewise.
44303         * lib/unictype/pr_punctuation.h: Likewise.
44304         * lib/unictype/pr_sentence_terminal.h: Likewise.
44305         * lib/unictype/pr_terminal_punctuation.h: Likewise.
44306         * lib/unictype/pr_unassigned_code_value.h: Likewise.
44307         * lib/unictype/pr_unified_ideograph.h: Likewise.
44308         * lib/unictype/pr_uppercase.h: Likewise.
44309         * lib/unictype/pr_xid_continue.h: Likewise.
44310         * lib/unictype/pr_xid_start.h: Likewise.
44311         * lib/unictype/pr_zero_width.h: Likewise.
44312         * lib/unictype/scripts.h: Likewise.
44313         * lib/unictype/scripts_byname.gperf: Likewise.
44314         * lib/unictype/sy_java_ident.h: Likewise.
44315         * lib/unigbrk/gbrkprop.h: Likewise.
44316         * lib/unilbrk/lbrkprop1.h: Likewise.
44317         * lib/unilbrk/lbrkprop2.h: Likewise.
44318         * lib/unilbrk/lbrktables.h: Likewise.
44319         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
44320         LBP_CP. Implement rule LB30.
44321         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
44322         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
44323         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
44324         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
44325         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
44326         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
44327         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
44328         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
44329         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
44330         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
44331         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
44332         bits instead of 16 bits in the code1 and code2 of each composition
44333         rule.
44334         (uc_composition): Update for Unicode 5.2.0.
44335         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
44336         * lib/uninorm/decomposition-table2.h: Likewise.
44337         * lib/uniwbrk/wbrkprop.h: Likewise.
44338         * tests/unicase/test-cased.c: Likewise.
44339         * tests/unicase/test-ignorable.c: Likewise.
44340         * tests/unicase/test-uc_tolower.c: Likewise.
44341         * tests/unicase/test-uc_totitle.c: Likewise.
44342         * tests/unicase/test-uc_toupper.c: Likewise.
44343         * tests/unictype/test-categ_C.c: Likewise.
44344         * tests/unictype/test-categ_Cf.c: Likewise.
44345         * tests/unictype/test-categ_Cn.c: Likewise.
44346         * tests/unictype/test-categ_L.c: Likewise.
44347         * tests/unictype/test-categ_Ll.c: Likewise.
44348         * tests/unictype/test-categ_Lm.c: Likewise.
44349         * tests/unictype/test-categ_Lo.c: Likewise.
44350         * tests/unictype/test-categ_Lu.c: Likewise.
44351         * tests/unictype/test-categ_M.c: Likewise.
44352         * tests/unictype/test-categ_Mc.c: Likewise.
44353         * tests/unictype/test-categ_Mn.c: Likewise.
44354         * tests/unictype/test-categ_N.c: Likewise.
44355         * tests/unictype/test-categ_Nd.c: Likewise.
44356         * tests/unictype/test-categ_Nl.c: Likewise.
44357         * tests/unictype/test-categ_No.c: Likewise.
44358         * tests/unictype/test-categ_P.c: Likewise.
44359         * tests/unictype/test-categ_Pd.c: Likewise.
44360         * tests/unictype/test-categ_Po.c: Likewise.
44361         * tests/unictype/test-categ_S.c: Likewise.
44362         * tests/unictype/test-categ_Sc.c: Likewise.
44363         * tests/unictype/test-categ_So.c: Likewise.
44364         * tests/unictype/test-ctype_alnum.c: Likewise.
44365         * tests/unictype/test-ctype_alpha.c: Likewise.
44366         * tests/unictype/test-ctype_graph.c: Likewise.
44367         * tests/unictype/test-ctype_lower.c: Likewise.
44368         * tests/unictype/test-ctype_print.c: Likewise.
44369         * tests/unictype/test-ctype_punct.c: Likewise.
44370         * tests/unictype/test-ctype_upper.c: Likewise.
44371         * tests/unictype/test-decdigit.h: Likewise.
44372         * tests/unictype/test-digit.h: Likewise.
44373         * tests/unictype/test-numeric.h: Likewise.
44374         * tests/unictype/test-pr_alphabetic.c: Likewise.
44375         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
44376         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
44377         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
44378         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
44379         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
44380         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
44381         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
44382         * tests/unictype/test-pr_combining.c: Likewise.
44383         * tests/unictype/test-pr_composite.c: Likewise.
44384         * tests/unictype/test-pr_currency_symbol.c: Likewise.
44385         * tests/unictype/test-pr_dash.c: Likewise.
44386         * tests/unictype/test-pr_decimal_digit.c: Likewise.
44387         * tests/unictype/test-pr_deprecated.c: Likewise.
44388         * tests/unictype/test-pr_diacritic.c: Likewise.
44389         * tests/unictype/test-pr_extender.c: Likewise.
44390         * tests/unictype/test-pr_grapheme_base.c: Likewise.
44391         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
44392         * tests/unictype/test-pr_grapheme_link.c: Likewise.
44393         * tests/unictype/test-pr_id_continue.c: Likewise.
44394         * tests/unictype/test-pr_id_start.c: Likewise.
44395         * tests/unictype/test-pr_ideographic.c: Likewise.
44396         * tests/unictype/test-pr_ignorable_control.c: Likewise.
44397         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
44398         * tests/unictype/test-pr_lowercase.c: Likewise.
44399         * tests/unictype/test-pr_numeric.c: Likewise.
44400         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
44401         * tests/unictype/test-pr_punctuation.c: Likewise.
44402         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44403         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44404         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44405         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44406         * tests/unictype/test-pr_uppercase.c: Likewise.
44407         * tests/unictype/test-pr_xid_continue.c: Likewise.
44408         * tests/unictype/test-pr_xid_start.c: Likewise.
44409         * tests/unictype/test-pr_zero_width.c: Likewise.
44410         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
44411         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
44412         changed behaviour: line breaking is now disallowed between a letter
44413         or '=' and '('.
44414         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
44415         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
44416         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
44417         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
44418         * tests/uniwidth/test-uc_width2.sh: Same updates as in
44419         lib/uniwidth/width.c.
44420         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
44421         without comments, but with the original copyright notice.
44422         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
44423         changes.
44424         * lib/unictype/categ_Cc.h: Likewise.
44425         * lib/unictype/categ_Co.h: Likewise.
44426         * lib/unictype/categ_Cs.h: Likewise.
44427         * lib/unictype/categ_Lt.h: Likewise.
44428         * lib/unictype/categ_Me.h: Likewise.
44429         * lib/unictype/categ_Pc.h: Likewise.
44430         * lib/unictype/categ_Pe.h: Likewise.
44431         * lib/unictype/categ_Pf.h: Likewise.
44432         * lib/unictype/categ_Pi.h: Likewise.
44433         * lib/unictype/categ_Ps.h: Likewise.
44434         * lib/unictype/categ_Sk.h: Likewise.
44435         * lib/unictype/categ_Sm.h: Likewise.
44436         * lib/unictype/categ_Z.h: Likewise.
44437         * lib/unictype/categ_Zl.h: Likewise.
44438         * lib/unictype/categ_Zp.h: Likewise.
44439         * lib/unictype/categ_Zs.h: Likewise.
44440         * lib/unictype/ctype_blank.h: Likewise.
44441         * lib/unictype/ctype_cntrl.h: Likewise.
44442         * lib/unictype/ctype_digit.h: Likewise.
44443         * lib/unictype/ctype_space.h: Likewise.
44444         * lib/unictype/ctype_xdigit.h: Likewise.
44445         * lib/unictype/mirror.h: Likewise.
44446         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44447         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
44448         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44449         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
44450         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44451         * lib/unictype/pr_bidi_control.h: Likewise.
44452         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44453         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44454         * lib/unictype/pr_bidi_pdf.h: Likewise.
44455         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44456         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44457         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44458         * lib/unictype/pr_format_control.h: Likewise.
44459         * lib/unictype/pr_hex_digit.h: Likewise.
44460         * lib/unictype/pr_hyphen.h: Likewise.
44461         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44462         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44463         * lib/unictype/pr_iso_control.h: Likewise.
44464         * lib/unictype/pr_join_control.h: Likewise.
44465         * lib/unictype/pr_left_of_pair.h: Likewise.
44466         * lib/unictype/pr_line_separator.h: Likewise.
44467         * lib/unictype/pr_math.h: Likewise.
44468         * lib/unictype/pr_non_break.h: Likewise.
44469         * lib/unictype/pr_not_a_character.h: Likewise.
44470         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44471         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44472         * lib/unictype/pr_other_id_continue.h: Likewise.
44473         * lib/unictype/pr_other_id_start.h: Likewise.
44474         * lib/unictype/pr_other_lowercase.h: Likewise.
44475         * lib/unictype/pr_other_math.h: Likewise.
44476         * lib/unictype/pr_other_uppercase.h: Likewise.
44477         * lib/unictype/pr_paired_punctuation.h: Likewise.
44478         * lib/unictype/pr_paragraph_separator.h: Likewise.
44479         * lib/unictype/pr_pattern_syntax.h: Likewise.
44480         * lib/unictype/pr_pattern_white_space.h: Likewise.
44481         * lib/unictype/pr_private_use.h: Likewise.
44482         * lib/unictype/pr_quotation_mark.h: Likewise.
44483         * lib/unictype/pr_radical.h: Likewise.
44484         * lib/unictype/pr_soft_dotted.h: Likewise.
44485         * lib/unictype/pr_space.h: Likewise.
44486         * lib/unictype/pr_titlecase.h: Likewise.
44487         * lib/unictype/pr_variation_selector.h: Likewise.
44488         * lib/unictype/pr_white_space.h: Likewise.
44489         * lib/unictype/sy_c_ident.h: Likewise.
44490         * lib/unictype/sy_c_whitespace.h: Likewise.
44491         * lib/unictype/sy_java_whitespace.h: Likewise.
44492         * modules/uni*/*: Bump version number of expected libunistring version.
44493         Reported by Simon Josefsson.
44495 2011-01-09  Karl Heuer  <kwzh@gnu.org>
44497         useless-if-before-free: fix typo in --help and make the internal,
44498         automatic version date update process work once again.
44499         --help output contained a NUL character instead of the
44500         backslash-zero that was intended.  Also, the "must lie within
44501         the first 8 lines" line is on line 9, and hence not getting
44502         automatically updated.
44503         * build-aux/useless-if-before-free: Fix the former by adding a
44504         backslash, and the latter by condensing the three lines of what-it-does
44505         to a single line, leaving one line of slack for the future.
44507 2011-01-09  Bruno Haible  <bruno@clisp.org>
44509         uniwidth/width: Fix width of U+1D173..U+1D17A.
44510         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
44511         symbolic_width, output_width_property_test): New functions.
44512         (main): Invoke output_nonspacing_property, output_width_property_test.
44513         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
44514         U+1D173..U+1D17A.
44515         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
44516         1.
44517         * modules/uniwidth/*: Bump version number of expected libunistring
44518         version.
44519         * modules/unilbrk/*: Likewise.
44521 2011-01-08  Bruno Haible  <bruno@clisp.org>
44523         uninorm tests: Preserve copyright of Unicode data file.
44524         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
44525         Mention modifications.
44527 2011-01-08  Bruno Haible  <bruno@clisp.org>
44529         gen-uni-tables: Prepare for Unicode 5.2.0.
44530         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
44531         (debug_output_lbp, output_lbp): Update.
44533 2011-01-08  Bruno Haible  <bruno@clisp.org>
44535         unilbrk: Clarify gen-uni-tables.c code.
44536         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
44537         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
44538         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
44540 2011-01-07  Bruno Haible  <bruno@clisp.org>
44542         strtod: Restore errno when successfully parsing Infinity or NaN.
44543         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
44544         restore the original errno.
44546 2011-01-07  Bruno Haible  <bruno@clisp.org>
44548         remove test: Avoid failure on HP-UX 11.
44549         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
44551 2011-01-07  Bruno Haible  <bruno@clisp.org>
44553         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
44554         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
44555         error code.
44557 2011-01-07  Pádraig Brady  <P@draigBrady.com>
44559         ignore-value: fixup comments, and add Eric Blake
44560         as an author since he rewrote the macros.
44561         * lib/ignore-value.h (ignore_value):  State that
44562         we now support aggregates.  Also specify exactly
44563         when the GCC warn_unused_result feature was added.
44565 2011-01-06  Eric Blake  <eblake@redhat.com>
44567         ignore-value: support aggregate types
44568         * lib/ignore-value.h (ignore_value): Provide separate gcc
44569         definition.
44570         * modules/ignore-value-tests: New test module.
44571         * tests/test-ignore-value.c: New test.
44573         maint.mk: improve sc_prohibit_strcmp regex
44574         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
44575         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
44576         definition of STRNEQ.
44578         signal: work around Haiku issue with SIGBUS
44579         * lib/siglist.h: Add comment.
44580         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
44581         strsignal's favoring of SIGSEGV.
44582         * tests/test-signal.c (main): Avoid test failure.
44583         * doc/posix-headers/signal.texi (signal.h): Document the issue.
44584         Reported by Scott McCreary.
44586         maint.mk: add pre-release check to ensure submodule commits are public
44587         * top/maint.mk (public-submodule-commit): New rule.
44588         (submodule-checks): New variable.
44589         (alpha beta stable): Depend on the variable.
44591 2011-01-05  Pádraig Brady  <P@draigBrady.com>
44592         and Jim Meyering  <meyering@redhat.com>
44594         ignore-value: make ignore_value more generic; deprecate ignore_ptr
44595         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
44596         (ATTRIBUTE_DEPRECATED): Define.
44597         (_ignore_case): New function.
44598         (ignore_value): New macro, to replace the old function.
44599         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
44600         * modules/ignore-value (Depends-on): Add stdint.
44602 2011-01-04  Eric Blake  <eblake@redhat.com>
44604         doc: regenerate INSTALL
44605         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
44606         @firstparagraphindent support, now that autoconf dropped it.
44607         (INSTALL_PRELUDE): Reinstate old macro.
44608         * doc/install.texi: Resync from autoconf.
44609         * doc/INSTALL: Reflect recent autoconf update.
44610         * doc/INSTALL.ISO: Likewise.
44611         * doc/INSTALL.UTF-8: Likewise.
44612         Reported by Karl Berry.
44614 2011-01-04  Bruce Korb  <address@hidden>
44616         git-version-gen: avoid a sub-shell
44617         * build-aux/git-version-gen: Redirect stderr in `...` via
44618         "exec 2>...", rather than via an added sub-shell.
44620 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
44622         git-version-gen: use (...) rather than sh -c '...'
44623         * build-aux/git-version-gen: Rather than hard-coding a shell's name
44624         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
44626 2011-01-03  Jim Meyering  <meyering@redhat.com>
44628         git-version-gen: convert leading TABs to spaces
44629         * build-aux/git-version-gen: Expand leading TABs.
44631         git-version-gen: handle failed "git rev-list"
44632         * build-aux/git-version-gen: Rather than leaking a "fatal" error
44633         from git and proceeding as if it had succeeded but printed no SHA1
44634         checksums, suppress the diagnostic and handle the failure.
44635         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
44637         git-version-gen: include command name in one more diagnostic
44638         * build-aux/git-version-gen: When the required .tarball-version file
44639         was missing or unreadable, you might see the diagnostic from "cat",
44640         but no trace of the name of the invoking script.  Now, you still see
44641         the diagnostic from cat, but also get one from "git-version-gen: ".
44642         Inspired by a patch from Bruce Korb.
44644         update-copyright: adjust test to match changed code
44645         * tests/test-update-copyright.sh: Change test's expected output
44646         to match new actual output.
44648 2011-01-02  Bruno Haible  <bruno@clisp.org>
44650         getlogin_r: Avoid test failure on HP-UX 11.
44651         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
44652         ERANGE when the second argument is zero.
44653         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
44654         portability problem.
44656 2011-01-02  Bruce Korb  <bkorb@gnu.org>
44658         * build-aux/update-copyright: doc Simon's changes
44660 2011-01-02  Simon Josefsson  <simon@josefsson.org>
44662         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
44663         environment variable.
44665 2011-01-02  Bruno Haible  <bruno@clisp.org>
44667         unigbrk: Avoid gcc warnings.
44668         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
44669         unused variable.
44670         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
44671         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
44672         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
44673         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
44674         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
44675         Change type of first argument to 'const char *'.
44676         (main): Remove unused variable.
44677         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
44678         type of first argument to 'const char *'.
44679         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
44680         Likewise.
44681         (main): Change type of variable 's'.
44682         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
44683         to 'int'.
44685 2011-01-02  Bruno Haible  <bruno@clisp.org>
44687         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
44688         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
44689         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
44690         bug.
44691         * lib/pwrite.c: Undo 2010-12-31 patch.
44692         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
44694 2011-01-02  Bruno Haible  <bruno@clisp.org>
44696         pread: Fix test whether it works.
44697         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
44699 2011-01-02  Bruno Haible  <bruno@clisp.org>
44701         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
44702         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
44703         ends in "6". Don't require a specific month name. Try also the locale
44704         names found on HP-UX 11 and Solaris 7.
44706 2011-01-02  Bruno Haible  <bruno@clisp.org>
44708         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
44709         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
44710         C linkage.
44711         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
44713 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44715         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
44716         for consistency, since the "cluster" term is not used elsewhere.
44717         * lib/unigbrk.in.h: Update name.
44718         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
44719         * lib/unigbrk/u16-grapheme-next.c: Update name.
44720         * lib/unigbrk/u16-grapheme-prev.c: Update name.
44721         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
44722         * lib/unigbrk/u32-grapheme-next.c: Update name.
44723         * lib/unigbrk/u32-grapheme-prev.c: Update name.
44724         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
44725         * lib/unigbrk/u8-grapheme-next.c: Update name.
44726         * lib/unigbrk/u8-grapheme-prev.c: Update name.
44727         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
44728         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
44729         Suggested by Bruno Haible.
44731 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44733         Remove module 'u8-grapheme-len' as too redundant with
44734         'u8-grapheme-next'.
44735         * modules/unigbrk/u8-grapheme-len: Delete file.
44736         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
44737         * lib/unigbrk.in.h: Remove prototype for deleted function.
44738         * lib/unigbrk/u8-grapheme-len.c: Delete file.
44739         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
44741         Remove module 'u16-grapheme-len' as too redundant with
44742         'u16-grapheme-next'.
44743         * modules/unigbrk/u16-grapheme-len: Delete file.
44744         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
44745         * lib/unigbrk.in.h: Remove prototype for deleted function.
44746         * lib/unigbrk/u16-grapheme-len.c: Delete file.
44747         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
44749         Remove module 'u32-grapheme-len' as too redundant with
44750         'u32-grapheme-next'.
44751         * modules/unigbrk/u32-grapheme-len: Delete file.
44752         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
44753         * lib/unigbrk.in.h: Remove prototype for deleted function.
44754         * lib/unigbrk/u32-grapheme-len.c: Delete file.
44755         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
44757         Suggested by Bruno Haible.
44759 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44761         * unigbrk.in.h: Fix typo: "ben" => "been".
44762         Reported by Bruno Haible.
44764 2011-01-01  Jim Meyering  <meyering@redhat.com>
44766         maint: update almost all copyright ranges to include 2011
44767         Run the new "make update-copyright" rule.
44769 2011-01-01  Jim Meyering  <meyering@redhat.com>
44771         maint: update-copyright: exempt doc/INSTALL*
44772         * Makefile (update-copyright): Also exclude doc/INSTALL*,
44773         since they are generated.  Suggested by Bruno Haible.
44775 2011-01-01  Jim Meyering  <meyering@redhat.com>
44777         maint: refine the update-copyright rule
44778         * Makefile (update-copyright): Also exclude any file that includes
44779         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
44780         code that merely generates the comment.
44782 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
44784         New module 'u8-grapheme-len'.
44785         * modules/unigbrk/u8-grapheme-len: New file.
44786         * modules/unigbrk/u8-grapheme-len-tests: New file.
44787         * lib/unigbrk.in.h: Add prototype for new function.
44788         * lib/unigbrk/u8-grapheme-len.c: New file.
44789         * tests/unigbrk/test-u8-grapheme-len.c: New file.
44791         New module 'u16-grapheme-len'.
44792         * modules/unigbrk/u16-grapheme-len: New file.
44793         * modules/unigbrk/u16-grapheme-len-tests: New file.
44794         * lib/unigbrk.in.h: Add prototype for new function.
44795         * lib/unigbrk/u16-grapheme-len.c: New file.
44796         * tests/unigbrk/test-u16-grapheme-len.c: New file.
44798         New module 'u32-grapheme-len'.
44799         * modules/unigbrk/u32-grapheme-len: New file.
44800         * modules/unigbrk/u32-grapheme-len-tests: New file.
44801         * lib/unigbrk.in.h: Add prototype for new function.
44802         * lib/unigbrk/u32-grapheme-len.c: New file.
44803         * tests/unigbrk/test-u32-grapheme-len.c: New file.
44805         New module 'u8-grapheme-next'.
44806         * modules/unigbrk/u8-grapheme-next: New file.
44807         * modules/unigbrk/u8-grapheme-next-tests: New file.
44808         * lib/unigbrk.in.h: Add prototype for new function.
44809         * lib/unigbrk/u8-grapheme-next.c: New file.
44810         * tests/unigbrk/test-u8-grapheme-next.c: New file.
44812         New module 'u16-grapheme-next'.
44813         * modules/unigbrk/u16-grapheme-next: New file.
44814         * modules/unigbrk/u16-grapheme-next-tests: New file.
44815         * lib/unigbrk.in.h: Add prototype for new function.
44816         * lib/unigbrk/u16-grapheme-next.c: New file.
44817         * tests/unigbrk/test-u16-grapheme-next.c: New file.
44819         New module 'u32-grapheme-next'.
44820         * modules/unigbrk/u32-grapheme-next: New file.
44821         * modules/unigbrk/u32-grapheme-next-tests: New file.
44822         * lib/unigbrk.in.h: Add prototype for new function.
44823         * lib/unigbrk/u32-grapheme-next.c: New file.
44824         * tests/unigbrk/test-u32-grapheme-next.c: New file.
44826         New module 'u8-grapheme-prev'.
44827         * modules/unigbrk/u8-grapheme-prev: New file.
44828         * modules/unigbrk/u8-grapheme-prev-tests: New file.
44829         * lib/unigbrk.in.h: Add prototype for new function.
44830         * lib/unigbrk/u8-grapheme-prev.c: New file.
44831         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
44833         New module 'u16-grapheme-prev'.
44834         * modules/unigbrk/u16-grapheme-prev: New file.
44835         * modules/unigbrk/u16-grapheme-prev-tests: New file.
44836         * lib/unigbrk.in.h: Add prototype for new function.
44837         * lib/unigbrk/u16-grapheme-prev.c: New file.
44838         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
44840         New module 'u32-grapheme-prev'.
44841         * modules/unigbrk/u32-grapheme-prev: New file.
44842         * modules/unigbrk/u32-grapheme-prev-tests: New file.
44843         * lib/unigbrk.in.h: Add prototype for new function.
44844         * lib/unigbrk/u32-grapheme-prev.c: New file.
44845         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
44847         New module 'u8-grapheme-breaks'.
44848         * modules/unigbrk/u8-grapheme-breaks: New file.
44849         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
44850         * lib/unigbrk.in.h: Add prototype for new function.
44851         * lib/unigbrk/u8-grapheme-breaks.c: New file.
44852         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
44854         New module 'u16-grapheme-breaks'.
44855         * modules/unigbrk/u16-grapheme-breaks: New file.
44856         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
44857         * lib/unigbrk.in.h: Add prototype for new function.
44858         * lib/unigbrk/u16-grapheme-breaks.c: New file.
44859         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
44861         New module 'u32-grapheme-breaks'.
44862         * modules/unigbrk/u32-grapheme-breaks: New file.
44863         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
44864         * lib/unigbrk.in.h: Add prototype for new function.
44865         * lib/unigbrk/u32-grapheme-breaks.c: New file.
44866         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
44868         New module 'ulc-grapheme-breaks'.
44869         * modules/unigbrk/ulc-grapheme-breaks: New file.
44870         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
44871         * m4/locale-ar.m4: New file.
44872         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
44873         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
44874         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
44876 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
44878         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
44879         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
44880         modified how this file was generated before I initially submitted
44881         the module, but failed to regenerate it.  This meant that several
44882         of the level2 entries were wrong.
44883         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
44884         Remove the division-by-2 that is folded into the table now that
44885         gbrkprop.h has been regenerated properly.  Now -1 entries are
44886         handled correctly.
44888         New module 'unigbrk/uc-gbrk-prop-tests'.
44889         * modules/unigbrk/uc-gbrk-prop-tests: New file.
44890         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
44891         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
44892         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
44894 2011-01-01  Bruno Haible  <bruno@clisp.org>
44896         Avoid use of hexadecimal escapes.
44897         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
44898         instead of hexadecimal escapes.
44900 2011-01-01  Jim Meyering  <meyering@redhat.com>
44902         maint: new rule to update copyright year ranges
44903         * Makefile (update-copyright): New rule.
44905         maint: indent with TABs in Makefile
44906         * Makefile: Expand leading sequences of spaces to TABs
44908         version-etc: update the copyright year it reports
44909         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
44911 2010-12-31  Bruno Haible  <bruno@clisp.org>
44913         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
44914         * lib/isfinite.c (zerof, zerod, zerol): New variables.
44915         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
44916         zero.
44918 2010-12-31  Bruno Haible  <bruno@clisp.org>
44920         pwrite: Work around HP-UX 11.11 bug.
44921         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
44922         works and set REPLACE_PWRITE if not.
44923         * lib/pwrite.c (pwrite): Add an implementation that uses the system
44924         function.
44925         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
44927 2010-12-31  Bruno Haible  <bruno@clisp.org>
44929         pread: Work around HP-UX 11 bugs.
44930         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
44931         and set REPLACE_PREAD if not.
44932         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
44934 2010-12-31  Eric Blake  <eblake@redhat.com>
44936         nl_langinfo: fix YESEXPR on Irix 6.5
44937         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
44938         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
44939         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
44940         it.
44942 2010-12-31  Bruno Haible  <bruno@clisp.org>
44944         iconv: Document HP-UX 11 bug.
44945         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
44947 2010-12-31  Bruno Haible  <bruno@clisp.org>
44949         ldexpl: Fix link error on HP-UX 11.
44950         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
44951         LDEXPL_LIBM, using $ISNANL_LIBM.
44953 2010-12-31  Eric Blake  <eblake@redhat.com>
44955         ftello: avoid compilation failure with SunStudio c89
44956         * lib/ftello.c (ftello): Use lseek, not llseek.
44958         tests: avoid failing coreutils tests on cygwin
44959         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
44960         (create_exe_shims_): Return 0 when skipping.
44962 2010-12-31  Bruno Haible  <bruno@clisp.org>
44964         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
44965         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
44967 2010-12-31  Bruno Haible  <bruno@clisp.org>
44969         waitpid: Fix link error in C++ mode.
44970         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
44972 2010-12-31  Bruno Haible  <bruno@clisp.org>
44974         isnan: Use GCC built-ins when possible.
44975         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
44976         __builtin_isnan.
44977         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
44978         (isnan): Define using GCC built-ins for GCC >= 4.0.
44980 2010-12-31  Bruno Haible  <bruno@clisp.org>
44982         isnand: Fix mistake.
44983         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
44984         __builtin_isnand.
44986 2010-12-31  Bruno Haible  <bruno@clisp.org>
44988         open: Avoid C++ error on HP-UX 11.
44989         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
44991 2010-12-31  Bruno Haible  <bruno@clisp.org>
44993         time_r: Add missing declarations on HP-UX 11.
44994         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
44995         instead of HAVE_LOCALTIME_R.
44996         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
44997         HAVE_LOCALTIME_R always.
44998         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
44999         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
45000         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
45001         HAVE_LOCALTIME_R.
45002         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
45003         * doc/posix-functions/localtime_r.texi: Likewise.
45005 2010-12-29  Eric Blake  <eblake@redhat.com>
45007         mountlist: tweak previous commit
45008         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
45009         Reported by Paul Eggert.
45011         mountlist: fix local drive detection on cygwin
45012         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
45013         that works for cygwin.
45015 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
45017         ftoastr, snprintf: ftoastr + snprintf module
45018         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
45019         since the snprintf module now should be good enough here.
45020         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
45021         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
45022         and gl_MODULE_INDICATOR([snprintf]), but the former enables
45023         GNULIB_SNPRINTF only for the test directory, and the latter
45024         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
45025         seems to suffice by itself.
45027 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
45029         alloca: one step towards thread-safety
45030         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
45031         need for a static variable.  All callers changed.  This does not
45032         make the alloca replacement thread-safe, but it's one step.
45034         tests: minor indenting change
45035         * tests/init.sh: Sync from coreutils housekeeping patch
45036         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
45037         to keep lines within 80 columns.
45039 2010-12-28  Jim Meyering  <meyering@redhat.com>
45041         regex: don't infloop on persistent failing calloc
45042         * lib/regexec.c (build_trtable): Return failure indication upon
45043         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
45044         In glibc, this was fixed for version 2.13:
45045         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
45047 2010-12-28  Bruno Haible  <bruno@clisp.org>
45048             Paul Eggert <eggert@cs.ucla.edu>
45050         linkat: Make implementation robust against system behaviour variations.
45051         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
45052         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
45053         way, and to -2 if it needs a generic runtime test.
45054         * lib/linkat.c (solaris_optimized_link_immediate,
45055         solaris_optimized_link_follow): New functions.
45056         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
45057         (check_same_link): Use it.
45059 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
45061         New module 'unigbrk/base'.
45062         * modules/unigbrk/base: New file.
45063         * lib/unigbrk.in.h: New file.
45065         New module 'unigbrk/uc-gbrk-prop'.
45066         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
45067         * modules/unigbrk/uc-gbrk-prop: New file.
45068         * lib/unigbrk/gbrkprop.h: New file.
45069         * lib/unigbrk/uc-gbrk-prop.c: New file.
45071         New module 'unigbrk/uc-is-grapheme-break'.
45072         * modules/unigbrk/uc-is-grapheme-break: New file.
45073         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
45074         * lib/unigbrk/uc-is-grapheme-break.c: New file.
45075         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
45076         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
45077         * tests/unigbrk/GraphemeBreakTest.txt: New file.
45079         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
45081 2010-12-27  Bruno Haible  <bruno@clisp.org>
45083         linkat test: Avoid failure on Solaris 11 2010-11.
45084         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
45086 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
45088         utimens: work around glibc rounding bug on more platforms
45089         * lib/utimens.c (fdutimens): Work around rounding bug even if
45090         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
45091         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
45093 2010-12-27  Bruno Haible  <bruno@clisp.org>
45095         select tests: Improve comments.
45096         * tests/test-select.c (do_select): Add comments.
45098 2010-12-27  Bruno Haible  <bruno@clisp.org>
45100         select tests: Safer way of handling timeout.
45101         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
45102         at every invocation.
45104 2010-12-27  Bruno Haible  <bruno@clisp.org>
45106         select tests: Use 'bool' where appropriate.
45107         * tests/test-select.c (connect_to_socket): Change argument type to
45108         'bool'.
45110 2010-12-27  Bruno Haible  <bruno@clisp.org>
45112         select tests: Use existing modules.
45113         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
45114         (configure.ac): Don't test for unistd.h.
45115         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
45116         declared in <unistd.h>.
45118 2010-12-27  Bruno Haible  <bruno@clisp.org>
45120         mbrtowc: Work around a Solaris 7 bug.
45121         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
45122         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
45123         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
45124         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
45125         MBRTOWC_NULL_ARG1_BUG.
45126         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
45127         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
45128         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
45129         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
45131 2010-12-27  Jim Meyering  <meyering@redhat.com>
45133         read-file.c: tweak syntax
45134         * lib/read-file.c (fread_file): Remove space after "*" in function
45135         definitions.
45137 2010-12-27  Bruno Haible  <bruno@clisp.org>
45139         times test: Avoid gcc warnings on OSF/1.
45140         * tests/test-times.c (main): Cast printf arguments from clock_t to
45141         'long int'.
45143 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
45145         utimens: work around glibc rounding bug on older Linux kernels
45146         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
45147         on Linux with a glibc whose utimes might not work, then work
45148         around a longstanding glibc bug involving rounding rather than
45149         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
45150         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
45152 2010-12-26  Bruno Haible  <bruno@clisp.org>
45154         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
45155         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
45156         _GL_CXXALIAS_SYS.
45157         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45159 2010-12-26  Bruno Haible  <bruno@clisp.org>
45161         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
45162         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
45163         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
45164         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
45165         looking for the declaration.
45166         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
45167         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
45168         problem.
45169         * doc/posix-functions/inet_pton.texi: Likewise.
45171 2010-12-26  Bruno Haible  <bruno@clisp.org>
45173         arpa_inet: Use the common idioms with C++ support.
45174         * lib/arpa_inet.in.h: Include c++defs.h.
45175         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
45176         support.
45177         * modules/arpa_inet (Depends-on): Add c++defs.
45178         (Makefile.am): Substitute the contents of c++defs.h.
45179         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
45180         * modules/arpa_inet-c++-tests: New file.
45181         * tests/test-arpa_inet-c++.cc: New file.
45183 2010-12-25  Bruno Haible  <bruno@clisp.org>
45185         Fix more C++ link errors on Solaris 8.
45186         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
45187         $(LIB_EACCESS).
45188         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
45189         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
45190         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
45191         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
45192         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
45194 2010-12-25  Bruno Haible  <bruno@clisp.org>
45196         printf-posix: Fix link error when a non-GCC compiler is used.
45197         * lib/stdio.in.h (printf): When not using GCC, override printf
45198         correctly.
45199         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45201 2010-12-25  Bruno Haible  <bruno@clisp.org>
45203         strerror_r-posix: Update doc.
45204         * doc/posix-functions/strerror_r.texi: Update doc about the return
45205         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
45207 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
45209         utimens: simplify the logic of the previous change
45210         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
45211         This should not affect whether the test succeeds or fails.
45213         utimens: configure better on hosts with NFS clock skew
45214         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
45215         uses the clock of the local host.  It might use the clock of the
45216         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
45217         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
45219 2010-12-25  Bruno Haible  <bruno@clisp.org>
45221         ptsname test: Avoid failure on Solaris.
45222         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
45223         open a pseudo-terminal; don't use BSD-style ptys.
45224         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
45226 2010-12-25  Bruno Haible  <bruno@clisp.org>
45228         ptsname: Avoid ERANGE failure on some systems.
45229         * lib/ptsname.c (buffer): Increase size.
45231 2010-12-25  Bruno Haible  <bruno@clisp.org>
45233         rename, renameat: Avoid test failures at NFS mounted locations.
45234         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
45235         so that subsequent mkdir calls succeed.
45237 2010-12-25  Bruno Haible  <bruno@clisp.org>
45239         iswblank: Fix C++ link error on Solaris 8.
45240         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
45241         _GL_FUNCDECL_SYS.
45243 2010-12-25  Bruno Haible  <bruno@clisp.org>
45245         unistd: Fix C++ link error on Solaris 8.
45246         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
45248 2010-12-25  Bruno Haible  <bruno@clisp.org>
45250         readlink doc: Mention an old glibc bug.
45251         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
45253 2010-12-25  Bruno Haible  <bruno@clisp.org>
45255         fcntl-h: Fix for use of C++ on glibc systems.
45256         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
45257         also on glibc systems in C++ mode.
45258         Reported by Gary V. Vaughan <gary@gnu.org>.
45260 2010-12-25  Bruno Haible  <bruno@clisp.org>
45262         roundl-ieee: Make it work on OSF/1 5.1 with cc.
45263         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
45265 2010-12-25  Bruno Haible  <bruno@clisp.org>
45267         truncl-ieee: Make it work on OSF/1 5.1 with cc.
45268         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
45269         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
45270         test whether truncl works according to ISO C 99 with IEC 60559.
45271         * m4/truncl-ieee.m4: New file.
45272         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
45273         m4/signbit.m4.
45274         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
45276 2010-12-25  Bruno Haible  <bruno@clisp.org>
45278         ceill-ieee: Make it work on OSF/1 5.1 with cc.
45279         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
45280         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
45281         test whether ceill works according to ISO C 99 with IEC 60559.
45282         * m4/ceill-ieee.m4: New file.
45283         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
45284         m4/signbit.m4.
45285         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
45287 2010-12-25  Bruno Haible  <bruno@clisp.org>
45289         Ensure all prerequisites of <wchar.h> are included.
45290         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
45291         before <wchar.h>.
45292         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
45293         gl_MBRLEN_NUL_RETVAL): Likewise.
45294         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
45295         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
45296         AC_FUNC_MBRTOWC): Likewise.
45297         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
45298         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
45299         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
45300         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
45301         Likewise.
45302         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
45303         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
45304         (gl_WCHAR_H): Improve comments.
45305         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
45307 2010-12-25  Bruno Haible  <bruno@clisp.org>
45309         strtok_r: Fix C syntax error in autoconf macro.
45310         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
45311         characters in test program.
45313 2010-12-24  Bruno Haible  <bruno@clisp.org>
45315         ceil, trunc, round: Fix gcc warnings.
45316         * lib/ceil.c (MIN): Undefine before redefining.
45317         * lib/trunc.c (MIN): Likewise.
45318         * lib/round.c (MIN): Likewise.
45319         Include <math.h> first.
45321 2010-12-24  Bruno Haible  <bruno@clisp.org>
45323         select tests: Avoid failures on OSF/1 5.1.
45324         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
45325         failure of closing the last socket; it may fail with ECONNRESET.
45327 2010-12-24  Eric Blake  <eblake@redhat.com>
45329         stdint: avoid HP-UX 10.20 preprocessor bug
45330         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
45331         than #if.
45332         * tests/test-floor2.c (main): Likewise.
45333         Reported by Peter O'Gorman.
45335         pipe: make obsoletion transition easier
45336         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
45337         * modules/pipe (Files): Include revived file.
45338         (Include): Drop reference, to mirror getdate's behavior.
45340 2010-12-24  Bruno Haible  <bruno@clisp.org>
45342         sys_socket: Hide mismatch of declarations on NonStop Kernel.
45343         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
45344         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
45345         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45347 2010-12-24  Bruno Haible  <bruno@clisp.org>
45349         gethostname: Ensure declaration on NonStop Kernel.
45350         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
45351         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45353 2010-12-24  Bruno Haible  <bruno@clisp.org>
45355         sys_select: Ensure all necessary types on NonStop Kernel.
45356         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
45357         include <sys/time.h>.
45358         * doc/posix-headers/sys_select.texi: Mention that it's missing on
45359         NonStop Kernel.
45360         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45362 2010-12-24  Bruno Haible  <bruno@clisp.org>
45364         sys_select: Remove unneeded include.
45365         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
45366         have <sys/select.h>.
45368 2010-12-24  Bruno Haible  <bruno@clisp.org>
45370         gethostname: Provide a fallback for HOST_NAME_MAX.
45371         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
45372         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
45373         instead.
45374         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45376 2010-12-24  Bruno Haible  <bruno@clisp.org>
45378         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
45379         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
45380         (SA_RESTART): Likewise.
45381         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45383 2010-12-24  Bruno Haible  <bruno@clisp.org>
45385         signal: Define NSIG.
45386         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
45387         * tests/test-signal.c (nsig): New variable.
45388         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45390 2010-12-24  Bruno Haible  <bruno@clisp.org>
45392         rename, renameat: Avoid test failures on OSF/1 5.1.
45393         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
45394         alternative error codes.
45395         * tests/test-renameat.c (main): Likewise.
45397 2010-12-24  Bruno Haible  <bruno@clisp.org>
45399         *printf: Detect large precisions bug on Solaris 10/SPARC.
45400         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
45401         by Paul Eggert.
45402         * tests/test-snprintf-posix.h (test_function): Add this test code here
45403         too.
45404         * tests/test-sprintf-posix.h (test_function): Likewise.
45405         * tests/test-vasnprintf-posix.c (test_function): Likewise.
45406         * tests/test-vasprintf-posix.c (test_function): Likewise.
45407         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
45408         around by gnulib.
45409         * doc/posix-functions/printf.texi: Likewise.
45410         * doc/posix-functions/snprintf.texi: Likewise.
45411         * doc/posix-functions/sprintf.texi: Likewise.
45412         * doc/posix-functions/vfprintf.texi: Likewise.
45413         * doc/posix-functions/vprintf.texi: Likewise.
45414         * doc/posix-functions/vsnprintf.texi: Likewise.
45415         * doc/posix-functions/vsprintf.texi: Likewise.
45416         * doc/posix-functions/dprintf.texi: Undo last commit.
45417         * doc/posix-functions/vdprintf.texi: Likewise.
45419 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45421         tests: port test-fdutimensat.c to Solaris 8
45422         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
45423         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
45424         On Solaris 8, it fails with errno == ENOSYS, because there is no
45425         futimens (so it can't use the fd), and there is no lutimens (so it
45426         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
45428         vsnprintf: make more consistent with snprintf; doc fixes
45430         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
45431         the byte count return problem was promoted from the snprintf-posix
45432         to the snprintf module.
45433         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
45434         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
45435         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
45436         * tests/test-snprintf.c (main): Check the byte count returned.
45437         * tests/test-vsnprintf.c (main): Likewise.
45439 2010-12-23  Eric Blake  <eblake@redhat.com>
45441         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
45442         * modules/sigpipe (License): Relax license.
45444 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
45446         doc: document Solaris printf bug with large float precisions
45447         * doc/posix-functions/dprintf.texi (dprintf):
45448         * doc/posix-functions/fprintf.texi (fprintf):
45449         * doc/posix-functions/printf.texi (printf):
45450         * doc/posix-functions/snprintf.texi (snprintf):
45451         * doc/posix-functions/sprintf.texi (sprintf):
45452         * doc/posix-functions/vdprintf.texi (vdprintf):
45453         * doc/posix-functions/vfprintf.texi (vfprintf):
45454         * doc/posix-functions/vprintf.texi (vprintf):
45455         * doc/posix-functions/vsnprintf.texi (vsnprintf):
45456         * doc/posix-functions/vsprintf.texi (vsprintf):
45457         Mention that these functions mishandle large floating point
45458         precisions on Solaris 10.  The same bug is also present in Solaris
45459         8, and I assume earlier.  This causes "cd gnulib-tests; make
45460         check" to fail on Solaris 8 (and I assume, later) when building
45461         the latest coreutils, in test-vasprintf-posix's call to
45462         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
45463         the wide flavors (e.g., wprintf) so this patch just updates the
45464         documentation for the narrow ones.
45466         test-posixtm.c: add two tests
45467         * tests/test-posixtm.c: Add two tests, to highlight the
45468         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
45469         around this bug; this is merely to document it.
45471 2010-12-22  Bruno Haible  <bruno@clisp.org>
45473         getlogin_r: Work around portability problem on OSF/1.
45474         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
45475         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
45476         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
45477         test for a truncated result.
45478         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
45479         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
45480         * modules/getlogin_r (Depends-on): Add memchr.
45481         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
45483 2010-12-22  Bruno Haible  <bruno@clisp.org>
45485         ptsname: Avoid test failure on OSF/1 5.1.
45486         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
45487         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
45488         (same_slave): New function.
45489         (main): Use it to compare ptsname's result with the expected file name.
45491 2010-12-22  Bruno Haible  <bruno@clisp.org>
45493         Port extended stdio modules to HP NonStop Kernel.
45494         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
45495         macros.
45496         * lib/fbufmode.c: Update comments.
45497         * lib/fflush.c: Likewise.
45498         * lib/fpurge.c: Likewise.
45499         * lib/freadable.c: Likewise.
45500         * lib/freadahead.c: Likewise.
45501         * lib/freading.c: Likewise.
45502         * lib/freadptr.c: Likewise.
45503         * lib/freadseek.c: Likewise.
45504         * lib/fseeko.c: Likewise.
45505         * lib/fseterr.c: Likewise.
45506         * lib/fwritable.c: Likewise.
45507         * lib/fwriting.c: Likewise.
45508         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45510 2010-12-22  Bruno Haible  <bruno@clisp.org>
45512         ttyname_r: Work around bug on OSF/1 5.1.
45513         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
45514         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
45515         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
45516         present.
45517         * lib/ttyname_r.c (ttyname_r): Update comments.
45519 2010-12-22  Bruno Haible  <bruno@clisp.org>
45521         round: Implement result sign according to IEEE 754.
45522         * lib/round.c (MIN, MINUS_ZERO): New macros.
45523         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
45524         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
45525         * tests/test-round-ieee.c (main): Likewise.
45526         * tests/test-roundl-ieee.c (main): Likewise.
45528         trunc: Implement result sign according to IEEE 754.
45529         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
45530         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
45531         * tests/test-trunc2.c: Include minus-zero.h.
45532         (MINUS_ZERO): New macro.
45533         (trunc_reference): Keep in sync with lib/trunc.c.
45534         * tests/test-truncf2.c: Include minus-zero.h.
45535         (MINUS_ZERO): New macro.
45536         (truncf_reference): Keep in sync with lib/trunc.c.
45537         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
45538         * tests/test-trunc-ieee.c (main): Likewise.
45539         * tests/test-truncl-ieee.c (main): Likewise.
45541         ceil: Implement result sign according to IEEE 754.
45542         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
45543         (FUNC): Return -0.0 for -1 < x < 0.
45544         * tests/test-ceil2.c: Include minus-zero.h.
45545         (MINUS_ZERO): New macro.
45546         (ceil_reference): Keep in sync with lib/ceil.c.
45547         * tests/test-ceilf2.c: Include minus-zero.h.
45548         (MINUS_ZERO): New macro.
45549         (ceilf_reference): Keep in sync with lib/ceil.c.
45550         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
45551         * tests/test-ceil-ieee.c (main): Likewise.
45552         * tests/test-ceill-ieee.c (main): Likewise.
45554         floor: Implement result sign according to IEEE 754.
45555         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
45556         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
45557         * tests/test-floorf2.c (floorf_reference): Likewise.
45558         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
45559         * tests/test-floor-ieee.c (main): Likewise.
45560         * tests/test-floorl-ieee.c (main): Likewise.
45562 2010-12-22  Bruno Haible  <bruno@clisp.org>
45564         getaddrinfo: Update doc.
45565         * doc/posix-functions/gai_strerror.texi: Return type is also different
45566         on AIX and HP-UX.
45568 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
45570         getaddrinfo, inet_ntop: Update doc for Solaris.
45571         * doc/posix-functions/gai_strerror.texi: Return type is also an
45572         issue on Solaris 9 and earlier.
45573         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
45574         on Solaris 10 and earlier.
45576 2010-12-21  Bruno Haible  <bruno@clisp.org>
45578         New module 'roundl-ieee'.
45579         * modules/roundl-ieee: New file.
45580         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
45581         test whether roundl works according to ISO C 99 with IEC 60559.
45582         * m4/roundl-ieee.m4: New file.
45583         * modules/roundl-ieee-tests: New file.
45584         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
45585         * tests/test-roundl.c (main): Remove signbit tests.
45586         * modules/roundl-tests (Depends-on): Remove signbit.
45587         * doc/posix-functions/roundl.texi: Mention the new module.
45589 2010-12-21  Bruno Haible  <bruno@clisp.org>
45591         New module 'truncl-ieee'.
45592         * modules/truncl-ieee: New file.
45593         * modules/truncl-ieee-tests: New file.
45594         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
45595         * tests/test-truncl.c (main): Remove signbit tests.
45596         * modules/truncl-tests (Depends-on): Remove signbit.
45597         * doc/posix-functions/truncl.texi: Mention the new module.
45599 2010-12-21  Bruno Haible  <bruno@clisp.org>
45601         New module 'ceill-ieee'.
45602         * modules/ceill-ieee: New file.
45603         * modules/ceill-ieee-tests: New file.
45604         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
45605         * tests/test-ceill.c (main): Remove signbit tests.
45606         * modules/ceill-tests (Depends-on): Remove signbit.
45607         * doc/posix-functions/ceill.texi: Mention the new module.
45609 2010-12-21  Bruno Haible  <bruno@clisp.org>
45611         New module 'floorl-ieee'.
45612         * modules/floorl-ieee: New file.
45613         * modules/floorl-ieee-tests: New file.
45614         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
45615         * tests/test-floorl.c (main): Remove signbit tests.
45616         * modules/floorl-tests (Depends-on): Remove signbit.
45617         * doc/posix-functions/floorl.texi: Mention the new module.
45619 2010-12-21  Bruno Haible  <bruno@clisp.org>
45621         New module 'round-ieee'.
45622         * modules/round-ieee: New file.
45623         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
45624         whether round works according to ISO C 99 with IEC 60559.
45625         * m4/round-ieee.m4: New file.
45626         * modules/round-ieee-tests: New file.
45627         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
45628         * tests/test-round1.c (main): Remove signbit tests.
45629         * modules/round-tests (Depends-on): Remove 'signbit'.
45630         * doc/posix-functions/round.texi: Mention the new module.
45632 2010-12-21  Bruno Haible  <bruno@clisp.org>
45634         New module 'trunc-ieee'.
45635         * modules/trunc-ieee: New file.
45636         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
45637         whether trunc works according to ISO C 99 with IEC 60559.
45638         * m4/trunc-ieee.m4: New file.
45639         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
45640         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
45641         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
45642         * modules/trunc-ieee-tests: New file.
45643         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
45644         * tests/test-trunc1.c (main): Remove signbit tests.
45645         * modules/trunc-tests (Depends-on): Remove 'signbit'.
45646         * doc/posix-functions/trunc.texi: Mention the new module.
45648 2010-12-21  Bruno Haible  <bruno@clisp.org>
45650         New module 'ceil-ieee'.
45651         * modules/ceil-ieee: New file.
45652         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
45653         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
45654         ISO C 99 with IEC 60559.
45655         * m4/ceil-ieee.m4: New file.
45656         * modules/ceil (Files): Add lib/ceil.c.
45657         (Depends-on): Add 'float'.
45658         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45659         * lib/math.in.h (ceil): New declaration.
45660         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
45661         REPLACE_CEIL.
45662         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
45663         * modules/ceil-ieee-tests: New file.
45664         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
45665         * tests/test-math-c++.cc: Check the signature of 'ceil'.
45666         * doc/posix-functions/ceil.texi: Mention the new module.
45668 2010-12-21  Bruno Haible  <bruno@clisp.org>
45670         New module 'floor-ieee'.
45671         * modules/floor-ieee: New file.
45672         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
45673         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
45674         ISO C 99 with IEC 60559.
45675         * m4/floor-ieee.m4: New file.
45676         * modules/floor (Files): Add lib/floor.c.
45677         (Depends-on): Add 'float'.
45678         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45679         * lib/math.in.h (floor): New declaration.
45680         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
45681         REPLACE_FLOOR.
45682         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
45683         * modules/floor-ieee-tests: New file.
45684         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
45685         * tests/test-math-c++.cc: Check the signature of 'floor'.
45686         * doc/posix-functions/floor.texi: Mention the new module.
45688 2010-12-21  Bruno Haible  <bruno@clisp.org>
45690         New module 'roundf-ieee'.
45691         * modules/roundf-ieee: New file.
45692         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
45693         test whether roundf works according to ISO C 99 with IEC 60559.
45694         * m4/roundf-ieee.m4: New file.
45695         * modules/roundf-ieee-tests: New file.
45696         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
45697         * tests/test-roundf1.c (main): Remove signbit tests.
45698         * modules/roundf-tests (Depends-on): Remove 'signbit'.
45699         * doc/posix-functions/roundf.texi: Mention the new module.
45701 2010-12-21  Bruno Haible  <bruno@clisp.org>
45703         New module 'truncf-ieee'.
45704         * modules/truncf-ieee: New file.
45705         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
45706         test whether truncf works according to ISO C 99 with IEC 60559.
45707         * m4/truncf-ieee.m4: New file.
45708         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
45709         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
45710         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
45711         * modules/truncf-ieee-tests: New file.
45712         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
45713         * tests/test-truncf1.c (main): Remove signbit tests.
45714         * modules/truncf-tests (Depends-on): Remove 'signbit'.
45715         * doc/posix-functions/truncf.texi: Mention the new module.
45717 2010-12-21  Bruno Haible  <bruno@clisp.org>
45719         New module 'ceilf-ieee'.
45720         * modules/ceilf-ieee: New file.
45721         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
45722         test whether ceilf works according to ISO C 99 with IEC 60559.
45723         * m4/ceilf-ieee.m4: New file.
45724         * modules/ceilf-ieee-tests: New file.
45725         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
45726         * tests/test-ceilf1.c (main): Remove signbit tests.
45727         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
45728         * doc/posix-functions/ceilf.texi: Mention the new module.
45730 2010-12-21  Bruno Haible  <bruno@clisp.org>
45732         New module 'floorf-ieee'.
45733         * modules/floorf-ieee: New file.
45734         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
45735         test whether floorf works according to ISO C 99 with IEC 60559.
45736         * m4/floorf-ieee.m4: New file.
45737         * modules/floorf-ieee-tests: New file.
45738         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
45739         * tests/test-floorf1.c (main): Remove signbit tests.
45740         * modules/floorf-tests (Depends-on): Remove 'signbit'.
45741         * doc/posix-functions/floorf.texi: Mention the new module.
45743 2010-12-21  Bruno Haible  <bruno@clisp.org>
45745         Support for minus zero in autoconf macros.
45746         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
45747         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
45748         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
45749         * tests/minus-zero.h: Update comments.
45751 2010-12-21  Bruno Haible  <bruno@clisp.org>
45753         Tests for module 'ceil'.
45754         * modules/ceil-tests: New file.
45755         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
45756         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
45758 2010-12-21  Bruno Haible  <bruno@clisp.org>
45760         Tests for module 'floor'.
45761         * modules/floor-tests: New file.
45762         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
45763         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
45765 2010-12-21  Bruno Haible  <bruno@clisp.org>
45767         math: Fix indentation.
45768         * lib/math.in.h (floorf): Fix indentation.
45770 2010-12-21  Bruno Haible  <bruno@clisp.org>
45772         Fix cross-compilation guesses on Solaris.
45773         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
45774         not match "solaris2.10".
45775         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
45776         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
45777         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
45779 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
45781         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
45782         This fixes a problem observed with the latest coreutils snapshot
45783         that caused a test to fail on Solaris 8.  src/csplit.c's call
45784         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
45785         earlier, instead of returning the number of bytes that would have
45786         been generated; this causes csplit to incorrectly report memory
45787         exhaustion.
45788         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
45789         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
45790         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
45791         comments to match.
45792         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
45793         Fix typo in matching older versions of Solaris: "solaris2.10"
45794         is matched by the shell pattern "solaris2.[0-9]*".  This matters
45795         only for guessing while cross-compiling.
45796         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
45798 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
45800         ftoastr: fix comment again
45801         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
45802         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
45803         Also, simplify example a bit by using flags = 0.
45805 2010-12-20  Bruno Haible  <bruno@clisp.org>
45807         round*, trunc*: Update documentation regarding glibc.
45808         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
45809         * doc/posix-functions/round.texi: Likewise.
45810         * doc/posix-functions/roundl.texi: Likewise.
45811         * doc/posix-functions/truncf.texi: Likewise.
45812         * doc/posix-functions/trunc.texi: Likewise.
45813         * doc/posix-functions/truncl.texi: Likewise.
45815 2010-12-20  Bruno Haible  <bruno@clisp.org>
45817         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
45818         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
45819         * doc/posix-functions/round.texi: Likewise.
45820         * doc/posix-functions/roundl.texi: Likewise.
45822 2010-12-20  Bruno Haible  <bruno@clisp.org>
45824         ttyname_r: Add missing declaration on HP-UX 11.
45825         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
45826         HAVE_TTYNAME_R.
45827         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
45828         declared. Set HAVE_TTYNAME_R always.
45829         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45830         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
45831         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
45832         HAVE_TTYNAME_R.
45833         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
45835 2010-12-20  Bruno Haible  <bruno@clisp.org>
45837         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
45838         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
45839         * doc/posix-functions/getlogin_r.texi: Likewise.
45840         * tests/test-getlogin.c: Include <errno.h>.
45841         (main): Avoid test failure on HP-UX 11.11.
45842         * tests/test-getlogin_r.c (main): Likewise.
45844 2010-12-20  Bruno Haible  <bruno@clisp.org>
45846         getlogin_r: Add missing declaration on HP-UX 11.
45847         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
45848         declared also when it exists as a function.
45849         * doc/posix-functions/getlogin_r.texi: Document this workaround.
45851 2010-12-20  Bruno Haible  <bruno@clisp.org>
45853         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
45854         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
45855         through wcrtomb.
45857 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
45859         ftoastr: fix comment
45860         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
45861         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
45863 2010-12-19  Bruno Haible  <bruno@clisp.org>
45865         isnan: Ensure it is a macro.
45866         * lib/math.in.h (isnan): Define as a macro if not already a macro.
45867         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
45868         Solaris.
45870 2010-12-19  Bruno Haible  <bruno@clisp.org>
45872         ldexpl test: Fix link error on OSF/1 5.1.
45873         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
45875 2010-12-19  Bruno Haible  <bruno@clisp.org>
45877         wctype: Make it work in C++ mode on OSF/1 5.1.
45878         * lib/wctype.in.h (iswblank): Declare but not define here.
45879         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
45880         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
45881         * modules/wctype (Files): Add lib/iswblank.c.
45883 2010-12-19  Bruno Haible  <bruno@clisp.org>
45885         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
45886         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
45887         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
45889 2010-12-19  Bruno Haible  <bruno@clisp.org>
45891         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
45892         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
45893         _POSIX_PII_SOCKET.
45894         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
45895         * doc/posix-functions/recvfrom.texi: Likewise.
45896         * doc/posix-functions/send.texi: Likewise.
45897         * doc/posix-functions/sendto.texi: Likewise.
45899 2010-12-19  Bruno Haible  <bruno@clisp.org>
45901         tcgetsid: Add missing declaration on OSF/1 5.1.
45902         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
45903         HAVE_TCGETSID.
45904         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
45905         Don't set HAVE_TCGETSID.
45906         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
45907         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
45908         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
45909         HAVE_TCGETSID.
45910         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
45912 2010-12-19  Bruno Haible  <bruno@clisp.org>
45914         stdio: Fix problem with popen() declaration on OSF/1 5.1.
45915         * lib/stdio.in.h: During the include_next statement, let recursive
45916         includes of this file include only the system header file.
45918 2010-12-19  Bruno Haible  <bruno@clisp.org>
45920         iconv_open: Fix regression from 2010-12-04.
45921         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
45922         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
45924 2010-12-19  Bruno Haible  <bruno@clisp.org>
45926         stdbool test: Avoid a gcc warning.
45927         * tests/test-stdbool.c (main): Fail if e1 is false.
45928         Reported by Jim Meyering.
45930 2010-12-19  Jim Meyering  <meyering@redhat.com>
45932         setenv: restore to working order
45933         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
45934         mistakenly removed.
45935         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
45936         HAVE_SETENV.
45937         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
45938         HAVE_SETENV.
45940 2010-12-19  Bruno Haible  <bruno@clisp.org>
45942         Document some different function declarations on OSF/1 5.1.
45943         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
45944         * doc/posix-functions/inet_ntop.texi: Likewise.
45945         * doc/posix-functions/gethostname.texi: Likewise.
45946         * lib/unistd.in.h (gethostname): Update comment.
45948 2010-12-19  Bruno Haible  <bruno@clisp.org>
45950         doc: Mention vasprintf-posix module.
45951         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
45952         the 'vasprintf-posix' module.
45953         * doc/glibc-functions/vasprintf.texi: Likewise.
45955 2010-12-19  Bruno Haible  <bruno@clisp.org>
45957         unsetenv: Add missing declaration on OSF/1 5.1.
45958         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
45959         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
45960         Don't set HAVE_UNSETENV. In the test program, set _BSD.
45961         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
45962         not HAVE_UNSETENV.
45963         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
45964         HAVE_UNSETENV.
45965         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
45967 2010-12-19  Bruno Haible  <bruno@clisp.org>
45969         setenv: Add missing declaration on OSF/1 5.1.
45970         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
45971         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
45972         declared. Don't set HAVE_SETENV.
45973         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
45974         not HAVE_SETENV.
45975         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
45976         HAVE_SETENV.
45977         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
45979 2010-12-19  Bruno Haible  <bruno@clisp.org>
45981         nl_langinfo tests: Avoid gcc warning.
45982         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
45984 2010-12-19  Bruno Haible  <bruno@clisp.org>
45986         mknod: Avoid error in C++ mode on OSF/1 with GCC.
45987         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
45988         _GL_CXXALIAS_SYS.
45990 2010-12-19  Bruno Haible  <bruno@clisp.org>
45992         stdbool: Relax test.
45993         * tests/test-stdbool.c (e): Don't require that casts from a variable's
45994         address to 'bool' work in static initializer, for compilers other than
45995         GCC.
45997 2010-12-19  Bruno Haible  <bruno@clisp.org>
45999         ftello: Add missing declaration on OSF/1 5.1.
46000         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
46001         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
46002         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
46003         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
46004         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
46006 2010-12-19  Bruno Haible  <bruno@clisp.org>
46008         fseeko: Add missing declaration on OSF/1 5.1.
46009         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
46010         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
46011         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
46012         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
46013         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
46015 2010-12-19  Bruno Haible  <bruno@clisp.org>
46017         fchdir: Add missing declaration on OSF/1 5.1.
46018         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
46019         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
46020         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
46021         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
46022         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
46024 2010-12-19  Bruno Haible  <bruno@clisp.org>
46026         relocatable-prog-wrapper: Separate from relocatable-prog.
46027         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
46028         uninstall-relocwrapper rule here.
46029         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
46030         Reported by Ian Beckwith <ianb@erislabs.net>.
46032 2010-12-19  Bruno Haible  <bruno@clisp.org>
46034         unistr/u8-mbsnlen: Add missing dependency.
46035         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
46036         Reported by Ian Beckwith <ianb@erislabs.net>.
46038 2010-12-19  Bruno Haible  <bruno@clisp.org>
46040         iconv: Make it possible again to use this module without 'iconv-h'.
46041         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
46042         if it is not defined.
46043         Reported by Ian Beckwith <ianb@erislabs.net>.
46045 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
46047         acl: port to Solaris 8 when copying from tmpfs to ufs
46048         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
46049         error number.  Problem observed on Solaris 8 with latest
46050         coreutils, with "mv A B", where A is on a tmpfs file system and B
46051         is on a ufs file system.  This caused coreutils' mv/part-symlink
46052         test to fail.
46054         tests: set fail=0 at start
46055         * tests/init.sh (setup_): Move fail=0 initialization here ...
46056         (mktempd_): ... from here, so that tests can rely on fail being
46057         set to 0 initially.  This fixes a problem in coreutils; see:
46058         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
46060 2010-12-18  Bruno Haible  <bruno@clisp.org>
46062         memmem-simple: Stylistic changes.
46063         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
46064         Fix preprocessor directive indentation.
46066 2010-12-15  Pádraig Brady  <P@draigBrady.com>
46068         memmem, memmem-simple: reorganize and expand empty needle check
46069         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
46070         functional checks to memmem-simple so that one has a fully functional
46071         memmem by using just this module.
46072         Restrict the performance only check to the memmem module.
46073         Also expand the empty needle check to ensure the correct
46074         pointer is returned, not just a non NULL pointer.
46075         * doc/glibc-functions/memmem.texi: Rearrange the portability
46076         documentation to correlate with the rearranged checks.
46077         Clarify exactly how the memmem and memmem-simple modules
46078         relate to each other.
46080 2010-12-15  Pádraig Brady  <P@draigBrady.com>
46081             Bruno Haible  <bruno@clisp.org>
46083         Improve cross-compilation guesses for uClibc.
46084         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
46085         that uClibc does not have the glibc bug.
46086         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
46087         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
46089 2010-12-14  Eric Blake  <eblake@redhat.com>
46091         configmake: provide fallbacks for oldest supported autotools
46092         * m4/configmake.m4: New file.
46093         * modules/configmake (Files): Ship it.
46094         (configure.ac): Use it to guarantee fallbacks.
46096 2010-12-13  Pádraig Brady  <P@draigBrady.com>
46098         read-file: Improve handling of large files
46099         * lib/read-file.c (fread_file): Minimize realloc()s
46100         for regular files, and better manage sizes around SIZE_MAX.
46102 2010-12-13  Eric Blake  <eblake@redhat.com>
46104         cloexec, fcntl: relax license
46105         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
46106         consent from all contributors.
46107         * modules/fcntl (License): Likewise.
46109 2010-12-10  Bruno Haible  <bruno@clisp.org>
46111         Tests for module 'pipe-posix'.
46112         * modules/pipe-posix-tests: New file.
46113         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
46115 2010-12-10  Bruno Haible  <bruno@clisp.org>
46117         pipe-posix: Make it work in C++ mode.
46118         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
46119         (pipe): Use common idiom, not a macro definition.
46120         * lib/pipe.c: New file.
46121         * m4/pipe.m4: New file.
46122         * modules/pipe-posix (Description): Enhance.
46123         (Files): Add lib/pipe.c, m4/pipe.m4.
46124         (configure.ac): Invoke gl_FUNC_PIPE.
46125         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
46126         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
46127         * tests/test-unistd-c++.cc: Check the signature of pipe.
46129 2010-12-10  Bruno Haible  <bruno@clisp.org>
46131         Rename module 'pipe' to 'spawn-pipe'.
46132         * modules/spawn-pipe: New file, renamed from modules/pipe.
46133         (Files, configure.ac, Makefile.am): Update.
46134         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
46135         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
46136         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
46137         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
46138         "spawn-pipe.h" instead of "pipe.h".
46139         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
46140         to gl_SPAWN_PIPE.
46141         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
46142         (Files, Makefile.am): Update.
46143         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
46144         Update.
46145         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
46146         Include "spawn-pipe.h" instead of "pipe.h".
46147         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
46148         * lib/javacomp.c: Likewise.
46149         * lib/javaversion.c: Likewise.
46150         * lib/pipe-filter-gi.c: Likewise.
46151         * lib/pipe-filter-ii.c: Likewise.
46152         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
46153         * modules/javacomp (Depends-on): Likewise.
46154         * modules/javaversion (Depends-on): Likewise.
46155         * modules/pipe-filter-gi (Depends-on): Likewise.
46156         * modules/pipe-filter-ii (Depends-on): Likewise.
46157         * MODULES.html.sh (Executing programs): Update.
46158         * NEWS: Mention the change.
46160 2010-12-10  Eric Blake  <eblake@redhat.com>
46162         pipe-posix: new module
46163         * modules/pipe-posix: New file.
46164         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
46165         (gl_UNISTD_H): Check for declaration.
46166         * modules/unistd (Makefile.am): Substitute it.
46167         * lib/unistd.in.h (pipe): Provide it for mingw.
46168         * doc/posix-functions/pipe.texi (pipe): Update documentation.
46169         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
46171 2010-12-07  Bruno Haible  <bruno@clisp.org>
46173         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
46174         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
46175         u8_strcmp_gnu.
46176         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
46178 2010-12-06  Bruno Haible  <bruno@clisp.org>
46180         Update internal documentation.
46181         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
46183 2010-12-04  Bruno Haible  <bruno@clisp.org>
46185         Put more information about failed tests into the test return codes.
46186         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
46187         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
46188         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
46189         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
46190         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
46191         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46192         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46193         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
46194         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
46195         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
46196         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
46197         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
46198         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
46199         * m4/stdint.m4 (gl_STDINT_H): Likewise.
46200         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
46201         returns a bit mask.
46202         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
46203         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
46204         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
46205         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
46206         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
46207         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
46208         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
46209         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
46210         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
46211         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
46212         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
46213         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
46214         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
46215         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
46216         * m4/link.m4 (gl_FUNC_LINK): Likewise.
46217         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
46218         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
46219         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
46220         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
46221         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
46222         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
46223         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
46224         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
46225         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
46226         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
46227         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
46228         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
46229         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
46230         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
46231         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
46232         gl_PRINTF_PRECISION): Likewise.
46233         * m4/regex.m4 (gl_REGEX): Likewise.
46234         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
46235         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
46236         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
46237         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
46238         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
46239         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
46240         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
46241         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
46242         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
46243         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46244         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
46245         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
46246         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
46247         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
46248         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
46249         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
46250         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
46251         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
46252         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
46253         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
46254         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
46255         enumerated value.
46256         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
46258 2010-12-04  Bruno Haible  <bruno@clisp.org>
46260         Update for Solaris 11 2010-11.
46261         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
46262         Express, released in November 2010.
46264 2010-12-04  Bruno Haible  <bruno@clisp.org>
46266         nproc: Relax license.
46267         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
46268         and Paul Eggert.
46269         Requested by Ludovic Courtès <ludo@gnu.org>.
46271 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
46273         utimecmp: fine-grained src to nearby coarse-grained dest
46275         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
46276         and the source is on a file system with higher-resolution time
46277         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
46278         not work, and the time stamps are close together, the algorithm to
46279         determine the exact resolution from the read-back mtime was buggy:
46280         it had a "!=" where it should have had an "==".  This bug has been
46281         in the code ever since it was introduced to gnulib.
46282         Problem reported by Dan Jacobson in
46283         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
46285 2010-11-30  Bruno Haible  <bruno@clisp.org>
46287         strerror_r-posix: Fix autoconf test.
46288         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
46290 2010-11-28  Bruno Haible  <bruno@clisp.org>
46291             Paul Eggert  <eggert@cs.ucla.edu>
46293         Tests for module 'getdomainname'.
46294         * modules/getdomainname-tests: New file.
46295         * tests/test-getdomainname.c: New file, based on
46296         tests/test-gethostname.c.
46298 2010-11-28  Bruno Haible  <bruno@clisp.org>
46299             Paul Eggert  <eggert@cs.ucla.edu>
46301         getdomainname: Use the system function when possible.
46302         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
46303         (getdomainname): Replace if needed. Provide the declaration if it is
46304         missing. Don't use _GL_CXXALIAS_SYS_CAST.
46305         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
46306         (getdomainname): When the system has getdomainname, call the system
46307         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
46308         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
46309         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
46310         found in libnsl. Look for the declaration also in <netdb.h>. Replace
46311         the function if its second argument is of type 'int' or if it is found
46312         in libnsl.
46313         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
46314         <sys/systeminfo.h> and sysinfo().
46315         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
46316         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46317         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
46318         HAVE_GETDOMAINNAME.
46319         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
46320         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
46321         * doc/glibc-functions/getdomainname.texi: Document the problems with
46322         the getdomainname declaration.
46324 2010-11-28  Bruno Haible  <bruno@clisp.org>
46326         sys_socket: Ensure ss_family field on AIX.
46327         * lib/sys_socket.in.h (ss_family): New macro definition.
46328         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
46329         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
46330         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46331         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
46332         * modules/sys_socket (Makefile.am): Substitute
46333         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
46334         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
46336 2010-11-27  Bruno Haible  <bruno@clisp.org>
46338         readline: Improve configure output.
46339         * m4/readline.m4 (gl_FUNC_READLINE): Make the
46340         "checking for readline..." result understandable.
46342 2010-11-27  Bruno Haible  <bruno@clisp.org>
46344         *printf-posix: Detect a bug on Solaris 10/x86.
46345         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
46346         for floating-point output.
46347         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
46348         directive.
46349         * tests/test-snprintf-posix.h (test_function): Likewise.
46350         * tests/test-sprintf-posix.h (test_function): Likewise.
46351         * tests/test-vasprintf-posix.c (test_function): Likewise.
46352         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
46353         * doc/posix-functions/printf.texi: Likewise.
46354         * doc/posix-functions/snprintf.texi: Likewise.
46355         * doc/posix-functions/sprintf.texi: Likewise.
46356         * doc/posix-functions/vfprintf.texi: Likewise.
46357         * doc/posix-functions/vprintf.texi: Likewise.
46358         * doc/posix-functions/vsnprintf.texi: Likewise.
46359         * doc/posix-functions/vsprintf.texi: Likewise.
46360         * doc/glibc-functions/obstack_printf.texi: Likewise.
46361         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
46363 2010-11-27  Bruno Haible  <bruno@clisp.org>
46365         Fix link error when module libunistring-optional is in use.
46366         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
46367         * modules/striconveha-tests (Makefile.am): Likewise.
46369 2010-11-27  Bruno Haible  <bruno@clisp.org>
46371         regex: Mention link dependencies.
46372         * modules/regex (Link): New section.
46373         * modules/rpmatch (Link): Likewise.
46374         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
46376 2010-11-27  Bruno Haible  <bruno@clisp.org>
46378         ftoastr: Fix compilation error on Solaris.
46379         * lib/ftoastr.c: Include <config.h>.
46381 2010-11-27  Bruno Haible  <bruno@clisp.org>
46383         getloadavg: Update documentation.
46384         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
46386 2010-11-27  Bruno Haible  <bruno@clisp.org>
46388         sys_socket: Fix test whether the functions are declared.
46389         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
46390         not <sys/select.h>.
46392 2010-11-27  Bruno Haible  <bruno@clisp.org>
46394         getpass: Make sure to get system declaration on some platforms.
46395         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
46396         gl_USE_SYSTEM_EXTENSIONS.
46397         * modules/getpass (Depends-on): Add extensions.
46399 2010-11-26  Bruno Haible  <bruno@clisp.org>
46401         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
46402         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
46403         'iconv' module is present.
46404         (ICONV_CONST): New macro.
46405         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
46406         ICONV_CONST.
46407         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
46408         set ICONV_CONST.
46409         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
46410         here.
46411         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
46412         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
46413         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
46414         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
46415         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
46416         present.
46418 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46420         ftoastr: comment fix
46421         * lib/ftoastr.c: "little" -> "little or no" in comment
46423 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
46425         stdint: port to GCC 4.3 + OSX + Octave
46426         On this platform, stdint.h is buggy and defines int64_t to long
46427         long int.  The replacement defined it to long int, causing
46428         problems with C++ style name mangling.  Instead, trust the system
46429         definition if INT64_MAX is defined, and likewise for the unsigned
46430         variant.   Problem reported by Jarno Rajahalme in
46431         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
46432         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
46433         and don't mess with int64_t and INT64_MAX in this case.
46434         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
46436 2010-11-24  Bruno Haible  <bruno@clisp.org>
46438         doc: Corrections regarding MacOS X 10.4 and 10.5.
46439         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
46440         MacOS X.
46441         Reported by Simon Josefsson.
46443 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
46445         Uninstall ".bin" files installed by relocwrapper.
46446         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
46447         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
46448         unless it is already there.
46450 2010-11-21  Bruno Haible  <bruno@clisp.org>
46452         Update for NetBSD 5.0.
46453         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
46454         NetBSD; the test fails on NetBSD 5.0.
46455         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
46456         about NetBSD.
46458 2010-11-21  Bruno Haible  <bruno@clisp.org>
46460         Update for HP-UX 11.23 and HP-UX 11.31.
46461         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
46462         HP-UX.
46464 2010-11-21  Bruno Haible  <bruno@clisp.org>
46466         Update for MacOS X 10.5.
46467         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
46468         MacOS X; the test fails on MacOS X 10.5.8.
46469         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
46470         about MacOS X.
46472 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
46474         bootstrap: add bootstrap_sync option.
46475         See discussion at
46476         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
46477         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
46478         * build-aux/bootstrap: Accept --bootstrap-sync to update
46479         bootstrap if it is not identical to the local gnulib's
46480         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
46481         enable this by default.  Accept --no-bootstrap-sync to disable
46482         it.
46484 2010-11-20  Bruno Haible  <bruno@clisp.org>
46486         Ensure that <features.h> is included before __GLIBC__ is tested.
46487         * lib/printf-parse.h: Include <features.h>.
46488         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
46489         Reported by Mike Frysinger <vapier@gentoo.org>.
46491         Ensure that <features.h> is included before __GLIBC__ is tested.
46492         * lib/wchar.in.h: Include <features.h>.
46493         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
46494         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
46495         Reported by Mike Frysinger <vapier@gentoo.org>.
46497         Ensure that <features.h> is included before __GLIBC__ is tested.
46498         * lib/arpa_inet.in.h: Include <features.h>.
46499         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
46500         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
46501         Reported by Mike Frysinger <vapier@gentoo.org>.
46503         Ensure that <features.h> is included before __GLIBC__ is tested.
46504         * build-aux/link-warning.h: Include <features.h>.
46505         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
46506         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
46507         Reported by Mike Frysinger <vapier@gentoo.org>.
46509         Ensure that <features.h> is included before __GLIBC__ is tested.
46510         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
46511         Reported by Mike Frysinger <vapier@gentoo.org>.
46513 2010-11-20  Bruno Haible  <bruno@clisp.org>
46515         memmem: Fix autoconf test.
46516         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
46518 2010-11-20  Bruno Haible  <bruno@clisp.org>
46520         Port to uClibc.
46521         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
46522         * lib/fcntl.in.h: Likewise.
46523         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
46524         * lib/mbrtowc.c (mbrtowc): Likewise.
46525         * lib/relocatable.c (find_shared_library_fullname): Likewise.
46526         * lib/strerror_r.c: Likewise.
46527         * lib/unistr/u8-strnlen.c: Likewise.
46528         * lib/vasnprintf.c (decimal_point_char): Likewise.
46529         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
46530         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
46531         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
46532         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
46533         * tests/test-sigaction.c (handler, main): Likewise.
46534         * lib/freading.h: Treat uClibc like a non-glibc platform.
46535         * lib/freading.c: Likewise.
46536         * lib/gettext.h: Likewise.
46537         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
46538         Likewise.
46539         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
46540         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
46541         * lib/propername.c (proper_name_utf8): Likewise.
46542         * lib/spawn.in.h: Likewise.
46543         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
46544         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
46545         mem_cd_iconveh_internal): Likewise.
46546         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
46547         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
46548         strstr, strcasestr): Likewise.
46549         * lib/unicodeio.c (unicode_to_mb): Likewise.
46550         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
46551         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
46552         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
46553         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
46554         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
46555         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
46556         * lib/unistr/u8-stpncpy.c: Likewise.
46557         * lib/vasnprintf.c (VASNPRINTF): Likewise.
46558         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
46559         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46560         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46561         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
46562         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
46563         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
46564         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
46565         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
46566         Likewise.
46567         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
46568         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46569         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
46570         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46571         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
46572         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
46573         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
46574         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
46575         * tests/test-getopt.h (OPTIND_MIN): Likewise.
46576         * tests/test-striconveha.c (main): Likewise.
46577         * tests/test-vasnprintf-posix.c (test_function): Likewise.
46578         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
46579         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
46580         * doc/posix-functions/getline.texi: Likewise.
46581         Reported by Mike Frysinger <vapier@gentoo.org>.
46583 2010-11-20  Bruno Haible  <bruno@clisp.org>
46585         nproc: Fix condition.
46586         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
46587         HAVE_PTHREAD_AFFINITY_NP.
46589 2010-11-20  Bruno Haible  <bruno@clisp.org>
46591         Fix a comment.
46592         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
46594 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
46596         ftoastr: don't assume snprintf
46597         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
46598         Implement a subset of snprintf here, by using sprintf safely.
46599         * modules/ftoastr (Depends-on): Remove snprintf.
46601 2010-11-19  Jim Meyering  <meyering@redhat.com>
46603         test-rename.h: fix compilation failure
46604         * tests/test-rename.h (test_rename): Add omitted "}".
46606 2010-11-17  Jim Meyering  <meyering@redhat.com>
46608         maint.mk: add a URL discussing the no-@acronym policy
46609         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
46611 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
46613         ftoastr: depend on snprintf, improve comments
46614         * lib/ftoastr.c: Also mention Loitsch's draft.
46615         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
46616         needed in the current implementation, but it might simplify
46617         speeding up the code later.
46618         * modules/ftoastr: Depend on snprintf; this improves portability.
46619         Suggested by Bruno Haible in the same email.
46621         ftoastr: port to hosts lacking strtof and strtold
46622         Problem reported by Bruno Haible in
46623         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
46624         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
46625         environment and strtold (and presumably strtof) are not available.
46626         * modules/ftoastr (Files): Add m4/c-strtod.m4.
46627         (configure.ac): Require gl_C99_STRTOLD.
46629 2010-11-18  Bruno Haible  <bruno@clisp.org>
46631         c-strtold: Avoid link error on AIX 7.
46632         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
46633         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
46634         (gl_C_STRTOLD): Test whether strtold_l exists.
46635         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46637 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46639         intprops: new macro INT_BITS_STRLEN_BOUND
46640         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
46641         ftoastr.h.  This exposes an internal of intprops.h that was formerly
46642         not exposed.  Also, it uses a slightly tighter bound than before;
46643         though this makes no practical difference, we might as well be as
46644         tight as we easily can.
46646         ftoastr: new module, for lossless conversion of floats to short strings
46647         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
46648         * modules/ftoastr: New files.
46650 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
46652         bootstrap: port to Solaris sed
46653         * build-aux/bootstrap (get_version): Port to Solaris sed.
46654         See Ralf Wildenhues's note in
46655         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
46657 2010-11-14  Jim Meyering  <meyering@redhat.com>
46659         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
46660         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
46661         and move definition closer to sole use.
46663 2010-11-13  Jim Meyering  <meyering@redhat.com>
46665         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
46666         Now we require at least autoconf-2.59, which means the work-around
46667         is no longer needed.
46668         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
46669         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46670         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
46671         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
46672         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
46674 2010-11-13  Bruno Haible  <bruno@clisp.org>
46676         rename, renameat: Avoid test failures at NFS mounted locations.
46677         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
46678         functions.
46679         (test_rename): Use assert_nonexistent.
46680         * tests/test-rename.c: Include <dirent.h>.
46681         * tests/test-renameat.c: Likewise.
46682         Reported by Gary V. Vaughan <gary@gnu.org>.
46684         rename, renameat: Document Linux bug with NFS
46685         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
46686         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
46687         * doc/posix-functions/renameat.texi: Likewise.
46688         Suggested by Eric Blake.
46690 2010-11-13  Bruno Haible  <bruno@clisp.org>
46692         rename test: Add comments.
46693         * tests/test-rename.h (test_rename): Add structure and comments.
46695 2010-11-13  Eric Blake  <eblake@redhat.com>
46697         maintainer-makefile: cover a few more files
46698         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
46699         scripts generated within C files, for libvirt.
46701 2010-11-13  Bruno Haible  <bruno@clisp.org>
46703         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
46704         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
46705         character, return the number of bytes that belong together, not always
46706         1.
46707         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
46708         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
46709         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
46710         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
46711         number of bytes of an invalid character.
46712         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
46713         (main): Invoke it.
46714         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
46715         results.
46716         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
46717         malformed byte sequences.
46718         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
46719         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
46720         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
46721         Reported by Ben Pfaff and Paolo Bonzini.
46723 2010-11-13  Bruno Haible  <bruno@clisp.org>
46725         openat: Work around glibc bug with fchownat() and empty file names.
46726         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
46727         (gl_FUNC_FCHOWNAT): Invoke it.
46728         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
46729         * doc/posix-functions/fchownat.texi: Document the glibc bug.
46730         Reported by Gary V. Vaughan <gary@gnu.org>.
46732 2010-11-13  Bruno Haible  <bruno@clisp.org>
46734         openat: Ensure autoconf macro ordering.
46735         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
46736         gl_USE_SYSTEM_EXTENSIONS.
46737         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
46739 2010-11-13  Bruno Haible  <bruno@clisp.org>
46741         Update comments.
46742         * lib/unistr/u8-check.c: Update file name in comments.
46743         * lib/unistr/u8-mblen.c: Likewise.
46744         * lib/unistr/u8-prev.c: Likewise.
46745         * lib/unistr/u8-strmblen.c: Likewise.
46746         * lib/unistr/u8-strmbtouc.c: Likewise.
46748 2010-11-13  Jim Meyering  <meyering@redhat.com>
46750         tests: avoid test failure on Solaris 10 due to lack of PATH export
46751         * tests/test-update-copyright.sh: Don't forget to export PATH.
46753         init.sh: ensure that IFS is defined, just in case...
46754         * tests/init.sh (setup_): Ensure that IFS is defined,
46755         so that saving and restoring it works as expected.  This
46756         appears to be useful at least for an old version of dash
46757         from a long time ago (RH 6).  See here for details:
46758         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
46760         maint.mk: tighten "test a == b" check
46761         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
46762         test to files that contain something like #!/bin/sh.
46763         Without this, coreutils would get two false positives in
46764         the comments of C source files.
46766 2010-11-12  Eric Blake  <eblake@redhat.com>
46768         bootstrap: fix typo in previous attempt
46769         * build-aux/bootstrap (buildreq): Correct the grouping.
46770         Reported by Paul Eggert.
46772         maintainer-makefile: prohibit test x == x
46773         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
46774         Based on a report by Matthias Bolte.
46776         bootstrap: allow FreeBSD gzip
46777         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
46778         which has no '.' and goes to stderr.
46779         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
46780         Reported by Matthias Bolte.
46782         maintainer-makefile: check for i18n setup
46783         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
46784         will likely work.
46786 2010-11-12  Bruno Haible  <bruno@clisp.org>
46788         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
46789         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
46790         * lib/nanosleep.c (nanosleep): Likewise.
46792 2010-11-11  Bruno Haible  <bruno@clisp.org>
46794         fcntl-h: Fix for use of C++ on glibc systems.
46795         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
46796         also on glibc systems in C++ mode.
46797         Reported by Gary V. Vaughan <gary@gnu.org>.
46799 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
46801         mknod: avoid false failure with dash
46802         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
46804 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
46806         unlink: Fix "is it should" typo in diagnostic.
46807         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
46808         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
46810 2010-11-11  Bruno Haible  <bruno@clisp.org>
46812         Tests for module 'strerror_r-posix'.
46813         * modules/strerror_r-posix-tests: New file.
46814         * tests/test-strerror_r.c: New file.
46815         * tests/test-string-c++.cc: Check the signature of strerror_r.
46817         New module 'strerror_r-posix'.
46818         * lib/string.in.h (strerror_r): New declaration.
46819         * lib/strerror_r.c: New file.
46820         * m4/strerror_r.m4: New file.
46821         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
46822         of strerror_r.
46823         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
46824         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
46825         * modules/strerror_r-posix: New file.
46826         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
46827         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
46828         * doc/posix-functions/strerror_r.texi: Mention the new module and the
46829         portability problems.
46831 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
46833         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
46834         line is also considered for output. Quoted function name in shell
46835         command, so temporary files for functions like MyClass::operator()
46836         are removed correctly without errors.
46838 2010-11-09  Bruno Haible  <bruno@clisp.org>
46840         * doc/posix-functions/strerror.texi: List more failing platforms.
46842         * doc/posix-functions/strerror.texi: Add a comment.
46844 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
46846         fdopendir: fix bug on MacOS X when low on file descriptors
46848         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
46849         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
46850         All callers changed.
46851         (fdopendir): Invoke save_cwd at the top level, not after using
46852         multiple dup() calls to use up file descriptors.  Then retry
46853         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
46854         less than the maximum number of open file descriptors, because
46855         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
46856         on Mac OS X 10.6.4 for tar 1.24
46857         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
46858         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
46859         and for tar 1.25
46860         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
46862 2010-11-07  Bruno Haible  <bruno@clisp.org>
46864         vasnprintf: Support I flag on glibc systems.
46865         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
46866         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
46867         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
46868         snprintf function.
46869         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
46870         glibc systems.
46871         * tests/test-vasnprintf-posix3.c: New file.
46872         * modules/vasnprintf-posix-tests (Files): Add it.
46873         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
46875 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
46877         [html] Fix copy/paste bug: Use unique name for compiler warnings.
46878         * MODULES.html.sh: For compiler warnings, use name
46879         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
46881 2010-11-05  Eric Blake  <eblake@redhat.com>
46883         ceil, floor: avoid spurious failure with icc
46884         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
46885         [denormals-as-zero] when optimizing without -mieee-fp option.
46886         * tests/test-floorf2.c (floorf_reference): Likewise.
46887         * tests/test-ceilf1.c (dummy): New function.
46888         (main): Use it to outsmart icc's optimization.
46889         * tests/test-floorf1.c (dummy, main): Likewise.
46891         tests: require working signbit
46892         * modules/ceilf-tests (Depends-on): Add signbit.
46893         * modules/ceill-tests (Depends-on): Likewise.
46894         * modules/floorf-tests (Depends-on): Likewise.
46895         * modules/floorl-tests (Depends-on): Likewise.
46896         * modules/round-tests (Depends-on): Likewise.
46897         * modules/roundf-tests (Depends-on): Likewise.
46898         * modules/roundl-tests (Depends-on): Likewise.
46899         * modules/trunc-tests (Depends-on): Likewise.
46900         * modules/truncf-tests (Depends-on): Likewise.
46901         * modules/truncl-tests (Depends-on): Likewise.
46903         strtod: work around icc bug
46904         * lib/strtod.c (minus_zero): Define to working value.
46905         (strtod): Use it to avoid icc bug.
46907         copysign: enhance tests
46908         * modules/copysign-tests (Files): Add minus-zero.h.
46909         * tests/test-copysign.c (main): Also test zeros.
46911 2010-11-04  Eric Blake  <eblake@redhat.com>
46913         ceil, floor, round, trunc: enhance tests of -0
46914         * tests/test-ceilf1.c (main): Ensure correct sign of result.
46915         * tests/test-ceill.c (main): Likewise.
46916         * tests/test-floorf1.c (main): Likewise.
46917         * tests/test-floorl.c (main): Likewise.
46918         * tests/test-round1.c (main): Likewise.
46919         * tests/test-roundf1.c (main): Likewise.
46920         * tests/test-roundl.c (main): Likewise.
46921         * tests/test-trunc1.c (main): Likewise.
46922         * tests/test-truncf1.c (main): Likewise.
46923         * tests/test-truncl.c (main): Likewise.
46925 2010-11-04  Eric Blake  <eblake@redhat.com>
46927         frexp, tests: work around ICC bug with -zero
46928         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
46929         works with more compilers.
46930         * tests/minus-zero.h: New file.
46931         * modules/ceilf-tests (Files): Include it.
46932         * modules/ceill-tests (Files): Likewise.
46933         * modules/floorf-tests (Files): Likewise.
46934         * modules/floorl-tests (Files): Likewise.
46935         * modules/frexp-nolibm-tests (Files): Likewise.
46936         * modules/frexp-tests (Files): Likewise.
46937         * modules/frexpl-nolibm-tests (Files): Likewise.
46938         * modules/frexpl-tests (Files): Likewise.
46939         * modules/isnan-tests (Files): Likewise.
46940         * modules/isnand-nolibm-tests (Files): Likewise.
46941         * modules/isnand-tests (Files): Likewise.
46942         * modules/isnanf-nolibm-tests (Files): Likewise.
46943         * modules/isnanf-tests (Files): Likewise.
46944         * modules/isnanl-nolibm-tests (Files): Likewise.
46945         * modules/isnanl-tests (Files): Likewise.
46946         * modules/round-tests (Files): Likewise.
46947         * modules/roundf-tests (Files): Likewise.
46948         * modules/roundl-tests (Files): Likewise.
46949         * modules/ldexpl-tests (Files): Likewise.
46950         * modules/signbit-tests (Files): Likewise.
46951         * modules/snprintf-posix-tests (Files): Likewise.
46952         * modules/sprintf-posix-tests (Files): Likewise.
46953         * modules/strtod-tests (Files): Likewise.
46954         * modules/trunc-tests (Files): Likewise.
46955         * modules/truncf-tests (Files): Likewise.
46956         * modules/truncl-tests (Files): Likewise.
46957         * modules/vsnprintf-posix-tests (Files): Likewise.
46958         * modules/vsprintf-posix-tests (Files): Likewise.
46959         * modules/vasnprintf-posix-tests (Files): Likewise.
46960         * modules/vasprintf-posix-tests (Files): Likewise.
46961         * tests/test-ceilf1.c (main): Use it.
46962         * tests/test-ceill.c (main): Likewise.
46963         * tests/test-floorf1.c (main): Likewise.
46964         * tests/test-floorl.c (main): Likewise.
46965         * tests/test-frexp.c (main): Likewise.
46966         * tests/test-frexpl.c (main): Likewise.
46967         * tests/test-isnan.c (main): Likewise.
46968         * tests/test-isnand.h (main): Likewise.
46969         * tests/test-isnanf.h (main): Likewise.
46970         * tests/test-isnanl.h (main): Likewise.
46971         * tests/test-ldexpl.c (main): Likewise.
46972         * tests/test-round.c (main): Likewise.
46973         * tests/test-roundf.c (main): Likewise.
46974         * tests/test-roundl.c (main): Likewise.
46975         * tests/test-signbit.c (test_signbitf, test_signbitd)
46976         (test_signbitl): Likewise.
46977         * tests/test-snprintf-posix.h (test_function): Likewise.
46978         * tests/test-sprintf-posix.h (test_function): Likewise.
46979         * tests/test-strtod.c (main): Likewise.
46980         * tests/test-trunc1.c (main): Likewise.
46981         * tests/test-truncf1.c (main): Likewise.
46982         * tests/test-truncl.c (main): Likewise.
46984         isnanl: work around icc bug
46985         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
46987 2010-11-03  Eric Blake  <eblake@redhat.com>
46989         tests: fix compiler warnings
46990         * tests/test-getopt.h (test_getopt): Fix condition.
46991         * tests/test-getopt_long.h (test_getopt_long): Likewise.
46992         * tests/test-pipe2.c (main): Likewise.
46993         * tests/test-quotearg-simple.c (main): Avoid icc warning.
46995         utimens: fix broken m4 test
46996         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
46998 2010-10-28  Bruno Haible  <bruno@clisp.org>
47000         posix_spawn*, getdtablesize: Relax license.
47001         * modules/posix_spawn (License): Change to LGPLv2+.
47002         * modules/posix_spawnp (License): Likewise.
47003         * modules/posix_spawn-internal (License): Likewise.
47004         * modules/posix_spawnattr_init (License): Likewise.
47005         * modules/posix_spawnattr_getflags (License): Likewise.
47006         * modules/posix_spawnattr_setflags (License): Likewise.
47007         * modules/posix_spawnattr_getpgroup (License): Likewise.
47008         * modules/posix_spawnattr_setpgroup (License): Likewise.
47009         * modules/posix_spawnattr_getschedparam (License): Likewise.
47010         * modules/posix_spawnattr_setschedparam (License): Likewise.
47011         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
47012         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
47013         * modules/posix_spawnattr_getsigdefault (License): Likewise.
47014         * modules/posix_spawnattr_setsigdefault (License): Likewise.
47015         * modules/posix_spawnattr_getsigmask (License): Likewise.
47016         * modules/posix_spawnattr_setsigmask (License): Likewise.
47017         * modules/posix_spawnattr_destroy (License): Likewise.
47018         * modules/posix_spawn_file_actions_init (License): Likewise.
47019         * modules/posix_spawn_file_actions_addclose (License): Likewise.
47020         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
47021         * modules/posix_spawn_file_actions_addopen (License): Likewise.
47022         * modules/posix_spawn_file_actions_destroy (License): Likewise.
47023         * modules/getdtablesize (License): Likewise.
47024         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
47026 2010-10-26  Bruno Haible  <bruno@clisp.org>
47028         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
47029         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
47030         Cygwin and mingw.
47031         Suggested by Eric Blake.
47033 2010-10-26  Bruno Haible  <bruno@clisp.org>
47035         stdio: Work around compilation error due to renameat() on Solaris 10.
47036         * lib/stdio.in.h: Include <unistd.h> on Solaris.
47037         * lib/renameat.c: Don't include <unistd.h> here.
47038         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
47039         Reported by Paul Eggert and Eric Blake.
47041 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
47043         renameat: port to Solaris 10, which declares renameat in unistd.h
47045         * lib/renameat.c: Include unistd.h before stdio.h, because
47046         Solaris 10 declares renameat in unistd.h.  Problem encountered
47047         when building GNU tar 1.24 on Solaris 10.
47049 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
47051         fdopendir: fix C89 compilation
47052         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
47053         compilers.
47055 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
47057         inttostr: simplify by removing unnecessary redundancy
47058         * lib/anytostr.c: Don't include verify.h.
47059         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
47060         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
47061         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
47062         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
47063         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
47064         Likewise.
47065         * modules/inttostr (Depends-on): Remove 'verify'.
47067 2010-10-23  Bruno Haible  <bruno@clisp.org>
47069         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
47070         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
47071         Reported by Eric Blake.
47073 2010-10-23  Bruno Haible  <bruno@clisp.org>
47075         Tests: Fix LOCALE_JA on MirBSD 10.
47076         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
47077         to an UTF-8 locale.
47078         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
47079         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
47080         Reported by Eric Blake.
47082 2010-10-21  Bruno Haible  <bruno@clisp.org>
47084         nl_langinfo test: Avoid test failure on NetBSD 5.
47085         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
47086         Reported by Eric Blake.
47088 2010-10-21  Eric Blake  <eblake@redhat.com>
47090         c-stack: work around libsigsegv 2.8 bug
47091         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
47092         overflow on at least PowerPC64.
47094 2010-10-17  Bruno Haible  <bruno@clisp.org>
47096         userspec: Drop redundant file.
47097         * modules/userspec (Files): Remove lib/inttostr.h.
47099 2010-10-17  Bruno Haible  <bruno@clisp.org>
47101         nl_langinfo tests: Silence some warnings.
47102         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
47103         Reported by Jim Meyering.
47105 2010-10-17  Bruno Haible  <bruno@clisp.org>
47107         Make use of GCC's attribute __alloc_size__.
47108         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
47109         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
47110         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
47111         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
47112         __alloc_size__.
47113         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
47114         Suggested by Jim Meyering.
47116 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
47118         bootstrap: anchor .gitignore entries.
47119         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
47120         with...
47121         (insert_vc_ignore): ... this new function, which prepends `/' to
47122         all .gitignore entries before passing them to
47123         insert_sorted_if_absent.
47125 2010-10-16  Bruno Haible  <bruno@clisp.org>
47127         nextafter: Fix configure check.
47128         * modules/nextafter (configure.ac): Correct expected prototype.
47130 2010-10-16  Bruno Haible  <bruno@clisp.org>
47132         termios: Update documentation.
47133         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
47135 2010-10-16  Bruno Haible  <bruno@clisp.org>
47137         tests: Make them compile with TinyCC.
47138         * tests/test-strstr.c (main): Remove parentheses around array
47139         initializer.
47141 2010-10-15  Eric Blake  <eblake@redhat.com>
47143         ignore-value: make header idempotent
47144         * lib/ignore-value.h: Add double-inclusion guards.
47145         Reported by Stefan Berger.
47147 2010-10-15  Jim Meyering  <meyering@redhat.com>
47149         GNUmakefile: handle "stable" target, not "major"
47150         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
47151         lists in maint.mk and announce-gen.  Without this, "make stable"
47152         would fail to ensure that $(VERSION) is up to date.
47154 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
47156         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
47157         & co.
47159 2010-10-14  Bruno Haible  <bruno@clisp.org>
47161         vasnprintf: Don't set errno to 0.
47162         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
47163         block that sets it to 0.
47164         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
47166 2010-10-14  Bruno Haible  <bruno@clisp.org>
47168         socketlib: Fix.
47169         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
47170         gl_PREREQ_SYS_H_WINSOCK2.
47171         Reported by Ian Beckwith <ianb@erislabs.net>.
47173 2010-10-13  Jim Meyering  <meyering@redhat.com>
47175         test-select-stdin.c: avoid warn_unused_result warnings
47176         * tests/test-select-stdin.c: Include "macros.h".
47177         ASSERT that read and fflush succeed.
47179 2010-10-13  Jim Meyering  <meyering@redhat.com>
47181         git-version-gen: do require git-VC'd files in cwd
47182         * build-aux/git-version-gen: Reject a git version string
47183         if there are no commits associated with the current directory.
47184         This avoids an unlikely false-positive (unrelated dir whose parent
47185         repository also contains a tag matching v*), as pointed out
47186         by Giuseppe Scrivano in
47187         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
47189 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
47191         argv-iter: omit nonconforming declaration
47192         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
47193         enum arg_iter_err declaration, which doesn't conform to C99.
47194         Solaris 10 cc warns about this.
47196 2010-10-13  Eric Blake  <eblake@redhat.com>
47198         termios: fix compilation on mingw
47199         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
47200         (gl_TERMIOS_H): Adjust it on mingw.
47201         * modules/termios (Makefile.am): Substitute new key.
47202         * lib/termios.in.h (includes): Make include_next conditional.
47203         * doc/posix-headers/termios.texi (termios.h): Update
47204         documentation.
47205         Reported by Daniel P. Berrange.
47207 2010-10-13  Jim Meyering  <meyering@redhat.com>
47209         git-version-gen: don't require that .git/ be in the current dir
47210         * build-aux/git-version-gen: Adjust this script so that it works
47211         when run from any working directory beneath the top-level .git/-
47212         containing directory.  Inspired by a patch from Giuseppe Scrivano,
47213         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
47215         test-select: avoid warn_unused_result warnings
47216         * tests/test-select.c: Include "macros.h".
47217         ASSERT that each call to read, write, and pipe succeeds.
47218         While not technically required, also check each "close".
47219         * modules/select-tests (Files): Add tests/macros.h.
47221         test-symlinkat: remove declaration of unused local
47222         * tests/test-symlinkat.c (main): Remove unused local, "buf".
47224         test-inttostr: avoid shadowing warnings
47225         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
47226         and use malloc rather than the stack for the same reason as
47227         mentioned in the comment justifying the other allocation.
47229 2010-10-11  Bruno Haible  <bruno@clisp.org>
47231         stdlib: Allow multiple gnulib generated replacements to coexist.
47232         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
47233         Reported by Sam Steingold <sds@gnu.org>.
47235 2010-10-11  Jim Meyering  <meyering@redhat.com>
47237         fix a documentation typo
47238         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
47240 2010-10-11  Eric Blake  <eblake@redhat.com>
47242         futimens: work around Solaris 11 bug
47243         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
47244         * tests/test-futimens.h (test_futimens): Enhance, rather than
47245         weaken test.
47246         * doc/posix-functions/futimens.texi (futimens): Document the bug.
47248 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
47250         Indentation.
47251         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
47252         higher-level operators more to the left.
47254 2010-10-11  Jim Meyering  <meyering@redhat.com>
47256         test-futimens: avoid unwarranted test failure on Solaris 5.11
47257         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
47258         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
47259         because it tries to dereference the NULL name argument.
47261 2010-10-11  Bruno Haible  <bruno@clisp.org>
47263         Indentation.
47264         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
47265         indentation.
47267 2010-10-11  Jim Meyering  <meyering@redhat.com>
47269         spawn.in.h: make indentation consistent with parentheses
47270         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
47271         Make indentation consistent with parentheses.
47273 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
47275         Fix mismatched parens in previous commit
47276         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
47277         parens.
47279 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
47281         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
47283         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
47284         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
47285         * lib/malloca.c: Include "verify.h".
47286         (verify1): Remove, replacing with a verify call.
47287         * lib/relocwrapper.c (verify1): Likewise.
47288         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
47289         Likewise.
47290         * modules/malloca (Depends-on): Add 'verify'.
47291         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
47292         * modules/vasnprintf (Depends-on): Add 'verify'.
47293         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47294         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47295         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47296         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47297         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47298         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47299         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47301         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
47303         Formerly the style was sometimes 2*X - 1, because the C standard
47304         was wrongly thought to disallow ?: in integral constant expressions.
47305         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
47306         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
47307         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
47308         * lib/stdint.in.h (_verify_intmax_size): Likewise.
47309         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
47310         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
47311         verify that time_t cannot be floating.
47313 2010-10-08  Eric Blake  <eblake@redhat.com>
47315         time: enforce recent POSIX ruling that time_t is integral
47316         * lib/time.in.h (__time_t_must_be_integral): Detect any
47317         problematic systems, allowing the rest of gnulib to assume POSIX.
47319 2010-10-08  Jim Meyering  <meyering@redhat.com>
47321         fdopendir: fix a bug on systems lacking openat and /proc support
47322         OpenBSD 4.7 is one such system.  The most noticeable effect was
47323         failure of any application making nontrivial use of fts: rm, du,
47324         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
47325           ./rm: traversal failed: `a': Bad file descriptor
47326         Debugging that, you see that even though FD 6 was closed just
47327         prior to the opendir call in fd_clone_opendir, its resulting
47328         dir->dd_fd was 8, rather than the expected value of 6:
47330         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
47331         93                close (fd);
47332         (gdb) n
47333         94                dir = fd_clone_opendir (dupfd);
47334         (gdb) n
47335         95                saved_errno = errno;
47336         (gdb) p dir->dd_fd
47337         $11 = 8
47339         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
47340         The problem is that on OpenBSD, fd_clone_opendir has to resort
47341         to using the old-style save/restore CWD mechanism, due to its
47342         lack of openat/proc support, and *that* would steal the FD (6)
47343         that opendir was supposed to use.
47345         The fix is to squirrel away the desired FD so that save_cwd uses a
47346         different one, and then free the dest FD right before calling opendir.
47347         That guarantees opendir will use the required file descriptor.
47349         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
47351 2010-10-08  Bruno Haible  <bruno@clisp.org>
47353         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
47354         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
47356 2010-10-08  Bruno Haible  <bruno@clisp.org>
47358         nanosleep: Make replacement POSIX compliant.
47359         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
47360         is out of range.
47361         Reported by Jim Meyering.
47363 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
47365         bootstrap: add hook for altering gnulib.mk, for Bison
47366         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
47367         the Bison bootstrapping process can rewrite file names and variables
47368         in this file before later parts of 'bootstrap' use the file.
47369         Bison wants to include lib/gnulib.mk from the top-level makefile,
47370         so it needs the file names in this file to be relative to the top
47371         level, not relative to lib; plus it needs variable names to be
47372         rewritten.
47373         (slurp): Use the new function.
47375         bootstrap: reformat for readability
47376         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
47378 2010-10-08  Eric Blake  <eblake@redhat.com>
47380         docs: update cygwin progress
47381         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
47382         1.7.7.
47383         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
47384         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
47385         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
47386         * doc/posix-functions/carg.texi (carg): Likewise.
47387         * doc/posix-functions/cargf.texi (cargf): Likewise.
47388         * doc/posix-functions/casin.texi (casin): Likewise.
47389         * doc/posix-functions/casinf.texi (casinf): Likewise.
47390         * doc/posix-functions/casinh.texi (casinh): Likewise.
47391         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
47392         * doc/posix-functions/catan.texi (catan): Likewise.
47393         * doc/posix-functions/catanf.texi (catanf): Likewise.
47394         * doc/posix-functions/catanh.texi (catanh): Likewise.
47395         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
47396         * doc/posix-functions/ccos.texi (ccos): Likewise.
47397         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
47398         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
47399         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
47400         * doc/posix-functions/cexp.texi (cexp): Likewise.
47401         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
47402         * doc/posix-functions/cimag.texi (cimag): Likewise.
47403         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
47404         * doc/posix-functions/clog.texi (clog): Likewise.
47405         * doc/posix-functions/clogf.texi (clogf): Likewise.
47406         * doc/posix-functions/conj.texi (conj): Likewise.
47407         * doc/posix-functions/conjf.texi (conjf): Likewise.
47408         * doc/posix-functions/cpow.texi (cpow): Likewise.
47409         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
47410         * doc/posix-functions/cproj.texi (cproj): Likewise.
47411         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
47412         * doc/posix-functions/creal.texi (creal): Likewise.
47413         * doc/posix-functions/crealf.texi (crealf): Likewise.
47414         * doc/posix-functions/csin.texi (csin): Likewise.
47415         * doc/posix-functions/csinf.texi (csinf): Likewise.
47416         * doc/posix-functions/csinh.texi (csinh): Likewise.
47417         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
47418         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
47419         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
47420         * doc/posix-functions/ctan.texi (ctan): Likewise.
47421         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
47422         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
47423         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
47424         * doc/posix-headers/complex.texi (complex.h): Likewise.
47426 2010-10-07  Jim Meyering  <meyering@redhat.com>
47428         parse-datetime: avoid compilation failure on OpenBSD 4.7
47429         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
47430         This works around a compilation failure on OpenBSD 4.7:
47431         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
47433 2010-10-07  Eric Blake  <eblake@redhat.com>
47435         docs: update cygwin progress
47436         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
47437         1.7.6.
47438         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
47439         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
47440         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
47441         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
47442         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
47443         Likewise.
47444         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
47445         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
47446         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
47447         Likewise.
47448         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
47449         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
47450         Likewise.
47451         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
47452         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
47453         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
47454         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
47455         Likewise.
47456         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
47457         Likewise.
47458         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
47460         docs: update parse-datetime history
47461         * doc/parse-datetime.texi (Authors of parse_datetime): Better
47462         documentation of this function's history and alternatives.
47464         cygwin: use more robust version check
47465         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
47466         exclude an eventual cygwin 1.9.1.
47467         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
47468         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
47469         (gl_FUNC_STRCASESTR): Likewise.
47470         Reported by Bruno Haible.
47472 2010-10-06  Bruno Haible  <bruno@clisp.org>
47474         string, sys_select: Avoid #including large headers unless necessary.
47475         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
47476         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
47477         OSF/1, BeOS, Haiku.
47478         Reported by Jim Meyering.
47480 2010-10-05  Eric Blake  <eblake@redhat.com>
47482         memmem, strstr, strcasestr: fix bug with long periodic needle
47483         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
47484         periodic needle having false positive.
47485         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
47486         and cygwin 1.7.7.
47487         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
47488         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
47489         (gl_FUNC_STRCASESTR): Likewise.
47490         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
47491         * tests/test-memmem.c (main): Expose the bug.
47492         * tests/test-strcasestr.c (main): Likewise.
47493         * tests/test-strstr.c (main): Likewise.
47494         * tests/test-c-strcasestr.c (main): Likewise.
47495         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
47496         * doc/posix-functions/strstr.texi (strstr): Likewise.
47497         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
47498         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
47500 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47502         parse-datetime: do some more renaming
47503         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
47504         parse_datetime, not get_date.  Mention the renaming.
47505         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
47506         in comments.
47507         * m4/bison.m4: Likewise.
47509 2010-10-05  Eric Blake  <eblake@redhat.com>
47511         parse-datetime: better name than get_date
47512         * NEWS: Reword the deprecation notice.
47513         * modules/get_date: Rename to modules/parse-datetime.
47514         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
47515         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
47516         * lib/get_date.y: Rename to lib/parse-datetime.y.
47517         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
47518         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
47519         * doc/getdate.texi: Provide fallback wrapper.
47520         * lib/getdate.h: Move guts, and wrap...
47521         * lib/parse-datetime.h: ...new file.
47522         * lib/parse-datetime.y (get_date): Rename...
47523         (parse_datetime): ...to this.
47524         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
47525         (gl_PARSE_DATETIME): ...to this.
47526         * doc/posix-functions/getdate.texi (get_date): Provide fallback
47527         documentation.
47528         * modules/getdate (Files): Provide fallback docs and header.
47529         (Notice, Depends-on): Update references.
47530         * tests/test-parse-datetime.c: Likewise.
47531         * DEPENDENCIES: Likewise.
47532         * MODULES.html.sh (Date and time <time.h>): Likewise.
47533         * doc/parse-datetime.texi (Date input formats)
47534         (Authors of parse_datetime): Likewise.
47535         * modules/parse-datetime (Files, configure.ac, Makefile.am)
47536         (Include): Likewise.
47537         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
47538         * gnulib-tool: Likewise.
47539         * m4/bison.m4 (gl_BISON): Likewise.
47540         Suggested by Bruno Haible.
47542 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47544         more ports to Solaris tr, which needs [] around ranges
47545         * gnulib-tool: Solaris tr needs [] around ranges.
47546         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
47547         * tests/test-pipe-filter-gi1.c (main): Likewise.
47548         * tests/test-pipe-filter-ii1.c (main): Likewise.
47550 2010-10-05  Eric Blake  <eblake@redhat.com>
47552         bootstrap: fix Solaris regression
47553         * build-aux/bootstrap (check_versions): Solaris tr still needs []
47554         around ranges.
47555         Reported by Pádraig Brady.
47557         bootstrap: work with pkg-config
47558         * build-aux/bootstrap (check_versions): Also transliterate - in
47559         prerequisite name.
47560         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
47561         prerequisites that were already found, to avoid confusion.
47562         Reported by Justin Clift.
47564         faccessat: remove unused wrappers
47565         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
47566         presence of these wrappers dragged in -lgen on Solaris.
47567         Reported by Clemens Brogi; fix suggested by Paul Eggert.
47569 2010-10-05  Jim Meyering  <meyering@redhat.com>
47571         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
47572         * Makefile (sc_pragma_columns): New syntax-check rule.
47574 2010-10-04  Bruno Haible  <bruno@clisp.org>
47576         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
47577         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
47578         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
47579         Reported by Bruce Korb and Eric Blake.
47581 2010-10-04  Bruno Haible  <bruno@clisp.org>
47583         threadlib: Make option --with-libpth-prefix work.
47584         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
47585         use $LIBPTH, not just -lpth.
47587 2010-10-04  Bruno Haible  <bruno@clisp.org>
47589         Avoid line length limitation from HP NonStop system header files.
47590         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
47591         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
47592         * lib/ctype.in.h: Likewise.
47593         * lib/dirent.in.h: Likewise.
47594         * lib/errno.in.h: Likewise.
47595         * lib/fcntl.in.h: Likewise.
47596         * lib/float.in.h: Likewise.
47597         * lib/getopt.in.h: Likewise.
47598         * lib/iconv.in.h: Likewise.
47599         * lib/inttypes.in.h: Likewise.
47600         * lib/langinfo.in.h: Likewise.
47601         * lib/locale.in.h: Likewise.
47602         * lib/math.in.h: Likewise.
47603         * lib/netdb.in.h: Likewise.
47604         * lib/netinet_in.in.h: Likewise.
47605         * lib/poll.in.h: Likewise.
47606         * lib/pthread.in.h: Likewise.
47607         * lib/pty.in.h: Likewise.
47608         * lib/sched.in.h: Likewise.
47609         * lib/se-selinux.in.h: Likewise.
47610         * lib/search.in.h: Likewise.
47611         * lib/signal.in.h: Likewise.
47612         * lib/spawn.in.h: Likewise.
47613         * lib/stdarg.in.h: Likewise.
47614         * lib/stddef.in.h: Likewise.
47615         * lib/stdint.in.h: Likewise.
47616         * lib/stdio.in.h: Likewise.
47617         * lib/stdlib.in.h: Likewise.
47618         * lib/string.in.h: Likewise.
47619         * lib/strings.in.h: Likewise.
47620         * lib/sys_file.in.h: Likewise.
47621         * lib/sys_ioctl.in.h: Likewise.
47622         * lib/sys_select.in.h: Likewise.
47623         * lib/sys_socket.in.h: Likewise.
47624         * lib/sys_stat.in.h: Likewise.
47625         * lib/sys_time.in.h: Likewise.
47626         * lib/sys_times.in.h: Likewise.
47627         * lib/sys_utsname.in.h: Likewise.
47628         * lib/sys_wait.in.h: Likewise.
47629         * lib/sysexits.in.h: Likewise.
47630         * lib/termios.in.h: Likewise.
47631         * lib/time.in.h: Likewise.
47632         * lib/unistd.in.h: Likewise.
47633         * lib/wchar.in.h: Likewise.
47634         * lib/wctype.in.h: Likewise.
47635         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
47636         * modules/ctype (Makefile.am): Likewise.
47637         * modules/dirent (Makefile.am): Likewise.
47638         * modules/errno (Makefile.am): Likewise.
47639         * modules/fcntl-h (Makefile.am): Likewise.
47640         * modules/float (Makefile.am): Likewise.
47641         * modules/getopt-posix (Makefile.am): Likewise.
47642         * modules/iconv-h (Makefile.am): Likewise.
47643         * modules/inttypes (Makefile.am): Likewise.
47644         * modules/langinfo (Makefile.am): Likewise.
47645         * modules/locale (Makefile.am): Likewise.
47646         * modules/math (Makefile.am): Likewise.
47647         * modules/netdb (Makefile.am): Likewise.
47648         * modules/netinet_in (Makefile.am): Likewise.
47649         * modules/poll-h (Makefile.am): Likewise.
47650         * modules/pthread (Makefile.am): Likewise.
47651         * modules/pty (Makefile.am): Likewise.
47652         * modules/sched (Makefile.am): Likewise.
47653         * modules/search (Makefile.am): Likewise.
47654         * modules/selinux-h (Makefile.am): Likewise.
47655         * modules/signal (Makefile.am): Likewise.
47656         * modules/spawn (Makefile.am): Likewise.
47657         * modules/stdarg (Makefile.am): Likewise.
47658         * modules/stddef (Makefile.am): Likewise.
47659         * modules/stdint (Makefile.am): Likewise.
47660         * modules/stdio (Makefile.am): Likewise.
47661         * modules/stdlib (Makefile.am): Likewise.
47662         * modules/string (Makefile.am): Likewise.
47663         * modules/strings (Makefile.am): Likewise.
47664         * modules/sys_file (Makefile.am): Likewise.
47665         * modules/sys_ioctl (Makefile.am): Likewise.
47666         * modules/sys_select (Makefile.am): Likewise.
47667         * modules/sys_socket (Makefile.am): Likewise.
47668         * modules/sys_stat (Makefile.am): Likewise.
47669         * modules/sys_time (Makefile.am): Likewise.
47670         * modules/sys_times (Makefile.am): Likewise.
47671         * modules/sys_utsname (Makefile.am): Likewise.
47672         * modules/sys_wait (Makefile.am): Likewise.
47673         * modules/sysexits (Makefile.am): Likewise.
47674         * modules/termios (Makefile.am): Likewise.
47675         * modules/time (Makefile.am): Likewise.
47676         * modules/unistd (Makefile.am): Likewise.
47677         * modules/wchar (Makefile.am): Likewise.
47678         * modules/wctype (Makefile.am): Likewise.
47680 2010-10-04  Bruno Haible  <bruno@clisp.org>
47682         read-file tests: Avoid a test failure on NonStop Kernel.
47683         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
47684         a regular file.
47685         Reported by Joachim Schmitz <schmitz@hp.com>.
47687 2010-10-03  Bruno Haible  <bruno@clisp.org>
47689         gnulib-tool: Fixes for --create-testdir with --libtool.
47690         * gnulib-tool (func_get_automake_snippet): Don't augment
47691         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
47692         an executable.
47693         (func_create_testdir): Handle module 'alloca' like func_import.
47694         Reported by Bruce Korb <bruce.korb@gmail.com>.
47696 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
47698         Avoid some lines longer than 80 characters.
47699         * lib/stdint.in.h: Break long comment lines.
47700         * lib/math.in.h: Likewise.
47701         (_GL_NUM_UINT_WORDS): New macro, for readability.
47702         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
47703         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
47704         * lib/stdlib.in.h: Likewise.
47705         * lib/spawn.in.h: Likewise.
47706         * lib/sys_socket.in.h: Update an URL.
47707         * lib/sys_stat.in.h: Break long line.
47709 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
47711         Improve pmccabe2html.
47712         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
47713         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
47714         when the sources change. Remove the line in the HTML about "Used
47715         ranges" (which implied that there might be other unused ranges),
47716         rename "Resume" to "Summary" (easier to understand for more users).
47717         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
47718         styles, and some unnecessary blank lines.
47720 2010-10-03  Bruno Haible  <bruno@clisp.org>
47721             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
47723         acl: Add support for ACLs on NonStop Kernel.
47724         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
47725         Check whether the function aclsort() exists.
47726         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
47727         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
47728         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47729         (acl_nontrivial [HAVE_ACLSORT]: New function.
47730         (file_has_acl): Implement for NonStop Kernel.
47731         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47732         (qset_acl): Implement for NonStop Kernel.
47733         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
47734         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47735         (main): Implement for NonStop Kernel.
47736         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
47737         Kernel. Handle this flavor.
47738         * tests/test-set-mode-acl.sh: Likewise.
47739         * tests/test-copy-acl.sh: Likewise.
47740         * tests/test-copy-file.sh: Likewise.
47742 2010-10-03  Bruno Haible  <bruno@clisp.org>
47744         Info about ACLs on NonStop Kernel.
47745         * doc/acl-resources.txt: Add info about NonStop Kernel.
47746         References by Joachim Schmitz <schmitz@hp.com>.
47748 2010-10-02  Bruno Haible  <bruno@clisp.org>
47750         Define missing EDQUOT on NonStop Kernel.
47751         * lib/errno.in.h (EDQUOT): Assign a value if missing.
47752         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
47753         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
47754         missing.
47755         * doc/posix-headers/errno.texi: Mention the NSK bug.
47756         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
47757         Reported by Joachim Schmitz <schmitz@hp.com>.
47759 2010-10-02  Bruno Haible  <bruno@clisp.org>
47761         Update doc for POSIX:2008.
47762         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
47763         Update URL of POSIX specification.
47765 2010-10-02  Bruno Haible  <bruno@clisp.org>
47767         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
47768         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
47769         from gnulib, not from Automake.
47771 2010-10-02  Bruno Haible  <bruno@clisp.org>
47773         New module 'system-posix'.
47774         * modules/system-posix: New file.
47775         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
47776         module is present.
47777         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47778         GNULIB_SYSTEM_POSIX.
47779         * modules/stdlib (Depends-on): Remove sys_wait.
47780         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
47781         * doc/posix-functions/system.texi: Mention the new module.
47782         * doc/posix-headers/stdlib.texi: Likewise.
47783         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
47784         define test_sys_wait_macros to a no-op.
47785         Reported by Sam Steingold <sds@gnu.org>.
47787 2010-09-30  Bruno Haible  <bruno@clisp.org>
47789         More renaming from 'getdate' to 'get_date'.
47790         * doc/get_date.texi: Renamed from doc/getdate.texi.
47791         * modules/get_date (Files): Update.
47792         * MODULES.html.sh (Date and time <time.h>): Update.
47793         * DEPENDENCIES: Update.
47794         * gnulib-tool: Update comment.
47795         * m4/bison.m4 (gl_BISON): Likewise.
47796         * m4/get_date.m4 (gl_GET_DATE): Likewise.
47798 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
47800         bootstrap: support ACLOCAL_FLAGS during aclocal
47801         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
47802         can add additional -I dir for third-party .m4 files.
47804 2010-09-30  Eric Blake  <eblake@redhat.com>
47806         bootstrap: use glibtoolize on MacOS
47807         * build-aux/bootstrap (check_versions): Convert libtool into
47808         libtoolize.
47809         (tool search): Move libtool check earlier, and look for
47810         glibtoolize for MacOS.
47811         (gnulib_tool_options): Auto-add --libtool when appropriate.
47812         Reported by Justin Clift.
47814         poll: fix typo that broke test on MacOS
47815         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
47816         Reported by Justin Clift.
47818         getdate: rename to get_date
47819         Note: getdate.h is not renamed, to minimize client impact.
47820         * modules/getdate: Mark obsolete.  Move old contents...
47821         * modules/get_date: ...to new module name.
47822         * modules/getdate-tests: Move...
47823         * modules/get_date-tests: ...here.
47824         * m4/getdate.m4: Move...
47825         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
47826         * lib/getdate.y: Move...
47827         * lib/get_date.y: ...here.
47828         * tests/test-getdate.c: Move...
47829         * tests/test-get_date.c: ...here.
47830         * doc/posix-functions/getdate.texi (getdate): Update name.
47831         * NEWS: Mention the change.
47833 2010-09-29  Bruno Haible  <bruno@clisp.org>
47835         Separate the module 'waitpid' from the module 'sys_wait'.
47836         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
47837         present.
47838         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
47839         gl_MODULE_INDICATOR_FOR_TESTS.
47840         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
47841         * modules/sys_wait (Depends-on): Remove waitpid.
47842         (Makefile.am): Substitute GNULIB_WAITPID.
47843         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
47844         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
47845         signature only if the 'waitpid' module is present.
47846         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
47847         * NEWS: Mention the change.
47848         * modules/grantpt (Depends-on): Add waitpid.
47849         * modules/wait-process (Depends-on): Likewise.
47851 2010-09-29  Bruno Haible  <bruno@clisp.org>
47853         More tests for module 'sys_wait'.
47854         * modules/sys_wait-c++-tests: New file.
47855         * tests/test-sys_wait-c++.cc: New file.
47856         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
47857         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47859 2010-09-29  Bruno Haible  <bruno@clisp.org>
47861         New module 'waitpid'.
47862         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
47863         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
47864         Don't include <process.h>.
47865         (waitpid): Declare only, using modern idiom.
47866         * m4/waitpid.m4: New file.
47867         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
47868         * modules/waitpid: New file.
47869         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
47870         (Makefile.am): Update.
47871         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47873 2010-09-28  Bruno Haible  <bruno@clisp.org>
47875         poll: Assume ANSI C.
47876         * lib/poll.c (poll): Use an ANSI C declaration.
47878 2010-09-28  Bruno Haible  <bruno@clisp.org>
47880         poll-h: Create poll.h on all platforms.
47881         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
47882         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
47883         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
47884         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
47885         (gl_REPLACE_POLL_H): Don't set POLL_H.
47886         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
47887         * modules/poll-h (Depends-on): Add include_next.
47888         (Makefile.am): Create poll.h unconditionally. Substitute also
47889         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
47891 2010-09-28  Bruno Haible  <bruno@clisp.org>
47893         Tests for module 'poll-h'.
47894         * modules/poll-h-c++-tests: New file.
47895         * tests/test-poll-h-c++.cc: New file.
47897         Tests for module 'poll-h'.
47898         * modules/poll-h-tests: New file.
47899         * tests/test-poll-h.c: New file.
47901 2010-09-28  Bruno Haible  <bruno@clisp.org>
47903         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
47904         * modules/poll-h (Depends-on): Add 'extensions'.
47906 2010-09-28  Bruno Haible  <bruno@clisp.org>
47908         New module 'poll-h'.
47909         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
47910         (poll): Use modern idiom.
47911         * modules/poll-h: New file.
47912         * modules/poll (Files): Remove lib/poll.in.h.
47913         (Depends-on): Add poll-h.
47914         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
47915         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
47916         * m4/poll_h.m4: New file.
47917         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
47918         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
47919         and invoke gl_REPLACE_POLL_H.
47920         * lib/poll.c: Use common idiom.
47921         * tests/test-poll.c: Likewise.
47922         * doc/posix-headers/poll.texi: Mention the poll-h module.
47923         Suggested by Eric Blake.
47925 2010-09-26  Bruno Haible  <bruno@clisp.org>
47927         sys_wait: Implement WSTOPSIG.
47928         * lib/sys_wait.in.h (WSTOPSIG): New macro.
47929         Reported by Simon Josefsson.
47931 2010-09-26  Simon Josefsson  <simon@josefsson.org>
47933         stdlib, sys_wait: Avoid compilation error on mingw.
47934         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
47936 2010-09-26  Bruno Haible  <bruno@clisp.org>
47938         stdlib tests: Avoid code duplication.
47939         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
47940         * modules/sys_wait-tests (Files): Likewise.
47941         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
47942         * tests/test-stdlib.c: Include test-sys_wait.h.
47943         (main): Invoke test_sys_wait_macros.
47944         * tests/test-sys_wait.c: Include test-sys_wait.h.
47945         (main): Invoke test_sys_wait_macros.
47947 2010-09-25  Simon Josefsson  <simon@josefsson.org>
47949         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
47950         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
47951         sure Windows sockets are working before calling getaddrinfo.
47952         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
47953         * doc/gnulib.texi (Windows sockets): Fix typo.
47955 2010-09-25  Bruno Haible  <bruno@clisp.org>
47957         Tests for module 'regex-quote'.
47958         * modules/regex-quote-tests: New file.
47959         * tests/test-regex-quote.c: New file.
47961         New module 'regex-quote'.
47962         * lib/regex-quote.h: New file.
47963         * lib/regex-quote.c: New file.
47964         * modules/regex-quote: New file.
47965         Suggested by Reuben Thomas <rrt@sc3d.org>.
47967 2010-09-24  Bruno Haible  <bruno@clisp.org>
47969         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
47970         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
47972 2010-09-23  Bruno Haible  <bruno@clisp.org>
47974         setenv: Relax license.
47975         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
47976         Blake.
47977         Requested by Eric Blake.
47979 2010-09-22  Bruno Haible  <bruno@clisp.org>
47981         termios: Relax license.
47982         * modules/termios (License): Change to LGPLv2+.
47983         Requested by Eric Blake.
47985 2010-09-22  Bruno Haible  <bruno@clisp.org>
47987         threadlib: Allow the package to change the default to 'no'.
47988         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
47989         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
47990         Reported by Paul Eggert.
47992 2010-09-22  Pádraig Brady  <P@draigbrady.com>
47993             Bruno Haible  <bruno@clisp.org>
47995         Fix endless loop in mbmemcasecoll.
47996         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
47997         byte.
47998         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
48000 2010-09-22  Bruno Haible  <bruno@clisp.org>
48002         Tests for module 'memcoll'.
48003         * modules/memcoll-tests: New file.
48004         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
48006         memcoll, xmemcoll: Clarify size vs. length.
48007         * modules/memcoll.c (memcoll0): Clarify specification.
48008         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
48009         passed to collate_error.
48011 2010-09-22  Bruno Haible  <bruno@clisp.org>
48013         Tests for module 'memcasecmp'.
48014         * modules/memcasecmp-tests: New file.
48015         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
48017 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
48019         * lib/pthread.in.h: Add split double-inclusion guard, and include
48020         system <pthread.h> if there is one.  Use @@-style as in other
48021         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
48022         pthread.h doesn't.
48023         (pthread_mutexattr_destroy, pthread_mutexattr_init):
48024         (pthread_mutexattr_settype, pthread_mutex_trylock):
48025         New static inline functions, if there's no system <pthread.h>.
48026         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
48027         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
48028         Approximate with mutexes if the system lacks spinlocks, as in
48029         MacOS.
48030         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
48031         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
48032         @@-style.  Check for spinlocks separately.
48033         (gl_PTHREAD_DEFAULTS): New macro.
48034         * modules/pthread: Redo to use a more typical style for in.h files.
48036 2010-09-21  Eric Blake  <eblake@redhat.com>
48038         net_if: enhance tests
48039         * tests/test-net_if.c (main): Move signature checks earlier.
48040         Print failures to stderr.
48041         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
48042         Document the bug that we do not yet fix.
48044 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
48046         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
48047         about gnulib, not GSS.
48049 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
48051         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
48052         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
48053         for Emacs.
48054         * build-aux/pmccabe2html: Make Makefile.am example code more
48055         cut-and-paste friendly.
48057 2010-09-21  Simon Josefsson  <simon@josefsson.org>
48059         * tests/test-net_if.c: New file.
48060         * modules/net_if-tests: New file.
48062 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
48064         pthread: add pthread_spin_destroy
48065         * lib/pthread.in.h (pthread_spin_destroy): New function.
48067 2010-09-19  Bruno Haible  <bruno@clisp.org>
48069         gnulib-tool: Fix --help output.
48070         * gnulib-tool (func_usage): Fix help message.
48071         Reported by Reuben Thomas <rrt@sc3d.org>.
48073 2010-09-18  Jim Meyering  <meyering@redhat.com>
48075         maint.mk: avoid unexpanded \n in two diagnostics
48076         * top/maint.mk (sc_prohibit_always_true_header_tests):
48077         Don't use a literal \n in a halt=... assignment.  It would not be
48078         expanded, and the two \n bytes would appear in the diagnostic output
48079         rather than the desired newline.  Use halt=$$(printf ... instead.
48080         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
48082 2010-09-18  Bruno Haible  <bruno@clisp.org>
48084         netinet_in: Doc tweak.
48085         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
48086         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48088 2010-09-18  Jim Meyering  <meyering@redhat.com>
48090         init.sh: correct an outdated comment
48091         * tests/init.sh (create_exe_shims_):  s/function/alias/
48093         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
48094         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
48095         a file named "*.exe" is removed between the glob expansion and the
48096         processing of that oddly named file.
48098 2010-09-17  Eric Blake  <eblake@redhat.com>
48100         mirbsd: add some more support
48101         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
48102         in BSD family.
48103         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
48104         devices as OpenBSD.
48105         * m4/host-os.m4 (mirbsd): Add MirBSD.
48107         tests: fix unportable assumption on sys/wait.h
48108         * tests/test-sys_wait.c (main): Relax test.
48109         * tests/test-stdlib.c (main): Likewise.
48111         init.sh: accommodate directory with no .exes
48112         * tests/init.sh: Accomodate directory containing only scripts.
48114         tests: avoid compiler warning
48115         * tests/test-stdlib.c (main): Use the variable.
48117         fdutimens, fdutimensat: update signature, again
48118         * lib/utimens.h (gl_futimens): Delete, and move signature...
48119         (fdutimens): ...here.
48120         (fdutimensat): Rearrange signature.
48121         (lutimensat): Rename variable for clarity.
48122         * lib/fdutimensat.c (fdutimensat): Update signature.
48123         * lib/utimens.c (fdutimens): Likewise.
48124         (gl_futimens): Delete.
48125         (utimens, lutimens): Update callers.
48126         * lib/futimens.c (futimens): Likewise.
48127         * tests/test-fdutimensat.c: Likewise.
48128         * tests/test-utimens.c: Likewise.
48129         * tests/test-futimens.h: Update comment.
48130         * NEWS: Mention this.
48131         Suggested by Paul Eggert.
48133 2010-09-17  Bruno Haible  <bruno@clisp.org>
48135         Take over the maintenance of some older macros from Autoconf.
48136         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
48137         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
48138         GNU Autoconf.
48139         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
48140         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
48142 2010-09-17  Eric Blake  <eblake@redhat.com>
48144         fdutimensat: drop atflag validation
48145         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
48146         with valid fd, to close a race scenario where futimens is
48147         unsupported and FILE was replaced by a symlink.
48148         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
48149         accordingly.
48150         Suggested by Paul Eggert.
48152 2010-09-16  Bruno Haible  <bruno@clisp.org>
48154         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
48155         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
48157 2010-09-16  Bruno Haible  <bruno@clisp.org>
48159         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
48160         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
48161         login_tty exists.
48162         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48164 2010-09-16  Bruno Haible  <bruno@clisp.org>
48166         login_tty: Make the replacement code work on BSD systems.
48167         * lib/login_tty.c: Include <sys/ioctl.h>.
48168         (login_tty): Use ioctl TIOCSCTTY when available.
48169         * modules/login_tty (Depends-on): Add sys_ioctl.
48170         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48172 2010-09-16  Bruno Haible  <bruno@clisp.org>
48174         login_tty: Stricter unit test.
48175         * modules/login_tty-tests (Depends-on): Add tcgetsid.
48176         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
48177         and tcgetsid() after login_tty.
48178         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48180 2010-09-16  Bruno Haible  <bruno@clisp.org>
48182         New module 'tcgetsid'.
48183         * lib/tcgetsid.c: New file.
48184         * m4/tcgetsid.m4: New file.
48185         * modules/tcgetsid: New file.
48186         * modules/termios (Depends-on): Add c++defs, warn-on-use.
48187         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
48188         GNULIB_TCGETSID, HAVE_TCGETSID.
48189         * lib/termios.in.h: Include <sys/types.h>.
48190         (tcgetsid): New declaration.
48191         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
48192         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
48193         * doc/posix-functions/tcgetsid.texi: Mention the new module.
48194         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
48196 2010-09-16  Bruno Haible  <bruno@clisp.org>
48198         Tests for module 'termios'.
48199         * modules/termios-c++-tests: New file.
48200         * modules/termios-tests: New file.
48201         * tests/test-termios-c++.cc: New file.
48202         * tests/test-termios.c: New file.
48204         New module 'termios'.
48205         * modules/termios: New file.
48206         * lib/termios.in.h: New file.
48207         * m4/termios_h.m4: New file.
48208         * doc/posix-headers/termios.texi: Mention the new module.
48210 2010-09-16  Eric Blake  <eblake@redhat.com>
48212         fdutimensat: add an atflag parameter
48213         * lib/fdutimensat.c (fdutimensat): Add new parameter.
48214         * lib/utimens.h (fdutimensat): Update prototype.
48215         * tests/test-fdutimensat.c: Adjust test to match.
48216         * NEWS: Document the change.
48217         Suggested by Paul Eggert.
48219 2010-09-16  Bruno Haible  <bruno@clisp.org>
48221         Fix typos in comments.
48222         * lib/striconveh.h: Fix typo in comment.
48223         * lib/login_tty.c (login_tty): Likewise.
48225 2010-09-15  Bruno Haible  <bruno@clisp.org>
48227         stdlib: clarify MirBSD WEXITSTATUS bug
48228         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
48229         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
48231 2010-09-15  Eric Blake  <eblake@redhat.com>
48233         stdlib: work around MirBSD WEXITSTATUS bug
48234         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
48235         * modules/stdlib (Depends-on): Add sys_wait.
48236         * tests/test-sys_wait.c (main): Enhance test.
48237         * tests/test-stdlib.c (main): Likewise.
48238         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
48240         docs: mention MacOS issue with WEXITSTATUS(constant)
48241         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
48242         issue.
48243         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
48245         strnlen: add tests
48246         * modules/strnlen-tests: New file.
48247         * tests/test-strnlen.c: Likewise.
48249 2010-09-14  Bruno Haible  <bruno@clisp.org>
48251         unistr/base: Avoid link errors when module 'libunistring' is also used.
48252         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
48253         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
48254         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
48255         Declare also when HAVE_LIBUNISTRING is set.
48256         Reported by Pádraig Brady <P@draigbrady.com>.
48258 2010-09-14  Eric Blake  <eblake@redhat.com>
48260         test-rawmemchr: make more robust
48261         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
48262         (Depends-on, configure.ac): Add needed prerequisites to use it.
48263         * modules/memchr-tests (Files, Depends-on, configure.ac):
48264         Likewise, to avoid implicit reliance on memchr module prereqs.
48265         * tests/test-memchr.c (main): Ensure proper masking.
48266         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
48267         reads.
48269         memchr: detect glibc Alpha bug
48270         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
48271         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
48272         Alpha.
48273         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
48274         * tests/test-memchr.c (main): Enhance test.
48275         Reported by Nelson H. F. Beebe.
48277 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
48279         fts, getcwd, glob: audit for dirfd returning -1
48280         * lib/fts.c (opendir): Remove #define; no longer used.
48281         (opendirat): New arg PDIR_FD.  All callers changed.
48282         (fts_build, _opendir2): Use new opendirat to avoid the need for
48283         dirfd, or for checking whether dirfd returns a negative value.
48284         Don't use opendir; always use openat followed by fdopendir.
48285         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
48286         it.
48287         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
48288         returns -1 here.
48289         * modules/fts (Depends-on): Remove dirfd.
48290         * modules/getcwd (Depends-on): Likewise.
48292 2010-09-13  Eric Blake  <eblake@redhat.com>
48294         float: fix broken MirBSD header
48295         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
48296         * doc/posix-headers/float.texi (float.h): Document it.
48298 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
48300         fts: use O_NOFOLLOW to avoid race condition when opening a directory
48301         * lib/fts.c (opendirat): New arg extra_flags.
48302         (__opendir2): Use it to avoid following symlinks when opening
48303         a directory, if symlinks are not supposed to be followed.  See
48304         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
48306         fdopendir: preserve argument fd before returning
48307         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
48308         (fdopendir_with_dup, fd_clone_opendir): New static functions.
48309         (fdopendir): Use them, arranging for FD to be open to the same
48310         directory that it was when it started.  (It might be temporarily
48311         closed while fdopendir is running, so this not thread- or
48312         signal-safe.)  Be careful to do the right thing even when file
48313         descriptors are scarce and dup fails with errno == EMFILE.  See
48314         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
48316 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
48318         regex: Pass the system regex if its only problem is 32-bit regoff_t.
48319         * NEWS: Document change.
48320         * m4/regex.m4: Disable test for regoff_t size.
48322 2010-09-13  Jim Meyering  <meyering@redhat.com>
48324         fts: don't operate on an invalid file descriptor after failed dup
48325         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
48326         negative file descriptor.
48328 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
48330         savedir: add streamsavedir, deprecate fdsavedir
48331         * NEWS: Mention deprecation of fdsavedir.
48332         * lib/savedir.c (streamsavedir): New extern function, whose name
48333         ends in "savedir" to be consistent with the others.  This differs
48334         from savedirstream in that it doesn't close its argument.  The
48335         next version of GNU tar will use this instead of fdsavedir, to
48336         avoid some race conditions and conserve file descriptors.
48337         (savedirstream): Reimplement as a wrapper around streamsavedir.
48338         (fdsavedir): Add a comment deprecating this function.  As far as
48339         I know, only GNU tar used it, and GNU tar doesn't need it any more.
48340         * lib/savedir.h (streamsavedir): New decl.
48341         (fdsavedir): Add a comment deprecating this.
48343 2010-09-10  Bruno Haible  <bruno@clisp.org>
48345         langinfo: Fix last commit.
48346         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
48347         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
48348         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48350 2010-09-10  Bruno Haible  <bruno@clisp.org>
48352         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
48353         * lib/progreloc.c (O_EXEC): Define fallback.
48355 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
48357         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
48358         * NEWS: Document recent changes to fcntl-h.
48359         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
48360         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
48361         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
48362         Similarly for O_SEARCH; this last was already true, but not documented.
48363         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
48364         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
48365         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
48366         Likewise.
48367         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
48368         is zero, not whether it is defined.
48369         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
48370         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
48371         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
48373 2010-09-10  Bruno Haible  <bruno@clisp.org>
48375         langinfo, nl_langinfo: Fix for IRIX 5.3.
48376         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
48377         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
48378         HAVE_LANGINFO_YESEXPR.
48379         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
48380         HAVE_LANGINFO_YESEXPR.
48381         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
48382         HAVE_LANGINFO_T_FMT_AMPM is 0.
48383         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
48384         HAVE_LANGINFO_YESEXPR is 0.
48385         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
48386         NOEXPR.
48387         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
48388         * doc/posix-functions/nl_langinfo.texi: Likewise.
48389         Reported by Eric Blake.
48391 2010-09-10  Bruno Haible  <bruno@clisp.org>
48393         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
48394         * doc/glibc-functions/login_tty.texi: Mention the include file problem
48395         on FreeBSD 8.0 and OpenBSD 4.6.
48396         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
48397         * m4/pty_h.m4 (gl_PTY_H): Likewise.
48398         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
48399         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
48400         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
48401         ac_includes_default.
48402         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48404 2010-09-09  Eric Blake  <eblake@redhat.com>
48406         strsignal: work around NetBSD bug
48407         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
48408         * lib/string.in.h (includes): Likewise.
48409         * doc/posix-functions/strsignal.texi (strsignal): Document the
48410         bug.
48411         Reported by Nelson H. F. Beebe.
48413         gnulib-tool: work with NetBSD /bin/sh
48414         * gnulib-tool (func_cache_var, func_cache_lookup_module)
48415         (func_get_description, func_get_comment, func_get_status)
48416         (func_get_notice, func_get_applicability, func_get_filelist)
48417         (func_get_dependencies, func_get_autoconf_early_snippet)
48418         (func_get_autoconf_snippet, func_get_automake_snippet)
48419         (func_get_include_directive, func_get_link_directive)
48420         (func_get_license, func_get_maintainer, func_import): Avoid
48421         shell syntax errors from parsing syntax extensions.
48423 2010-09-09  Bruno Haible  <bruno@clisp.org>
48425         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
48426         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
48427         a reliable way to determine whether the 'alias' command works.
48429 2010-09-08  Jim Meyering  <meyering@redhat.com>
48431         init.sh: penalize a set-x-impaired shell; don't disqualify it
48432         * tests/init.sh: Too many shells corrupt application stderr when
48433         you set -x, so we can't afford to disqualify them, since at least
48434         on Irix-6.5, that would disqualify all bourne shells.
48435         Instead, use a two-pass approach.
48436         On the first pass, try to find a shell that meets the stricter
48437         condition that set -x does not corrupt stderr.
48438         If no shell meets the stricter condition, retest each candidate
48439         shell, but without that extra condition.  Finally, when
48440         VERBOSE=yes is requested and set -x might cause trouble, simply
48441         issue a warning and refrain from enabling debug output.
48443 2010-09-08  Eric Blake  <eblake@redhat.com>
48445         unsetenv: fix OpenBSD bug
48446         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
48447         * doc/posix-functions/unsetenv.texi (unsetenv): Update
48448         documentation.
48449         Reported by Jim Meyering.
48451         strtod: work around IRIX 6.5 bug
48452         * lib/strtod.c (strtod): Reparse number on shorter string if
48453         exponent parse was invalid.
48454         * tests/test-strtod.c (main): Add check for "0x1p 2".
48455         Reported by Tom G. Christensen.
48457         getopt: optimize previous patch
48458         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
48459         empty variable.  Speed up awk script.
48460         Reported by Paolo Bonzini.
48462 2010-09-08  Jim Meyering  <meyering@redhat.com>
48464         test.sh: disqualify shells for which set -x corrupts stderr
48465         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
48466         and OpenBSD 4.7.  They make it so with "set -x", environment settings
48467         appear in stderr output.  For example, this command:
48468             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
48469         prints "P=1" on those two systems:
48471 2010-09-08  Bruno Haible  <bruno@clisp.org>
48473         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
48474         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
48475         commands, because some shells ignore redirections when there is an
48476         error in the command lookup.
48477         Reported by Eric Blake.
48479 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
48481         * lib/regex.h: Fix a mention of `regex_compile' (should be
48482         `re_compile_pattern').
48483         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
48484         (re_set_registers): Correct name of parameter in comment.
48486         * doc/regex.texi: Add documentation for missing syntax flags.
48487         Remove commented-out documentation of defunct syntax option
48488         RE_NO_EMPTY_ALTS.
48489         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
48490         Add documentation of re_set_registers.
48491         Document trick to re-use a pattern buffer by setting fastmap manually.
48492         Update documentation of struct re_pattern_buffer per public members.
48493         Uncomment documentation of equivalence class operators and
48494         collating symbol operators, since they are now implemented,
48495         Explain leftmost-longest matching in relation to alternatives.
48496         Tidy documentation of substring matching.
48497         Remove POSIX documentation, which is done better in
48498         glibc, and refer the reader there. Keep BSD API documentation, as
48499         that is not readily available elsewhere.
48501 2010-09-07  Eric Blake  <eblake@redhat.com>
48503         getopt: handle POSIXLY_CORRECT set but not exported
48504         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
48505         export state of POSIXLY_CORRECT, due to bash set -o posix.
48506         Reported by Dustin J. Mitchell.
48508 2010-09-05  Bruno Haible  <bruno@clisp.org>
48510         gnulib-tool: Highlight the changed options.
48511         * gnulib-tool (func_usage): Display the --import, --add-import,
48512         --remove-import explanations in bold font.
48514 2010-09-06  Karl Berry  <karl@gnu.org>
48516         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
48518 2010-09-05  Bruno Haible  <bruno@clisp.org>
48520         uniwidth/width: Update comment.
48521         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
48522         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
48524 2010-09-05  Bruno Haible  <bruno@clisp.org>
48526         isinf, isnan: Relax license.
48527         * modules/isinf (License): Change from GPL to LGPL, with consent from
48528         Ben Pfaff.
48529         * modules/isnan (License): Likewise.
48530         Requested by Ludovic Courtès.
48532 2010-09-04  Bruno Haible  <bruno@clisp.org>
48534         gnulib-tool: Help migration from --import to --add-import or --update.
48535         * gnulib-tool: Emit a verbose error message when --import is used
48536         without any module name.
48538 2010-09-04  Bruno Haible  <bruno@clisp.org>
48540         Update doc about gnulib-tool.
48541         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
48542         'gnulib-tool --update' in more detail.
48543         Reported by Eric Blake.
48545 2010-09-04  Bruno Haible  <bruno@clisp.org>
48547         gnulib-tool: Change --import. New options --add/remove-import.
48548         * gnulib-tool: New options --add-import, --remove-import.
48549         (func_usage): Document them.
48550         (have_associative): Define always.
48551         (func_import): In import mode, don't merge the specified settings with
48552         the cached settings. Implement remove-import mode.
48553         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
48554         Explain when to use them versus --import.
48555         (Simple update): Use --add-import instead of --import.
48556         * NEWS: Mention the change.
48558 2010-09-04  Bruno Haible  <bruno@clisp.org>
48560         * doc/gnulib-tool.texi (Initial import): Update paragraph about
48561         separate gnulib.mk.
48563 2010-09-04  Bruno Haible  <bruno@clisp.org>
48565         gnulib-tool: Don't talk about CVS any more.
48566         * gnulib-tool (func_usage, func_import): Write "version control"
48567         instead of CVS.
48569 2010-09-04  Jim Meyering  <meyering@redhat.com>
48571         maint.mk: avoid obscure sc_copyright_check failure in coreutils
48572         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
48573         false positives (whose names may be ill-chosen) when searching
48574         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
48575         would cause a false-positive.
48577         avoid coreutils "make distcheck" failure
48578         Coreutils tests with an absolute build directory name that contains
48579         a space.  Not quoting this directory name caused a failure.
48580         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
48581         * tests/test-vc-list-files-cvs.sh: Likewise.
48583 2010-09-04  Bruno Haible  <bruno@clisp.org>
48585         gnulib-tool: Avoid error when run in a package without Makefile.am.
48586         * gnulib-tool: When collecting the m4dirs in a package that does not
48587         have a Makefile.am, eliminate those directories that contain no
48588         gnulib-cache.m4. Fix expression that counts these directories.
48590 2010-09-04  Bruno Haible  <bruno@clisp.org>
48592         update-copyright test: Improve output when perl is missing or too old.
48593         * tests/test-update-copyright.sh: Move test of Perl version down after
48594         the test whether Perl exists. Provide an explanation relating Perl's
48595         error message to Automake's SKIP: message.
48597 2010-09-04  Bruno Haible  <bruno@clisp.org>
48599         Don't augment PATH in TESTS_ENVIRONMENT.
48600         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
48601         set abs_aux_dir instead of augmenting PATH.
48602         * modules/vc-list-files-tests (Makefile.am): Likewise.
48603         * tests/test-update-copyright.sh: Augment PATH here.
48604         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
48605         path_prepend_.
48606         * tests/test-vc-list-files-git.sh: Likewise.
48608 2010-09-04  Jim Meyering  <meyering@redhat.com>
48610         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
48611         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
48613 2010-09-04  Bruno Haible  <bruno@clisp.org>
48615         strdup: Fix compilation error in C++ mode.
48616         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
48617         the macro.
48619 2010-09-04  Bruno Haible  <bruno@clisp.org>
48621         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
48622         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
48623         macro into a function.
48624         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
48626 2010-09-04  Bruno Haible  <bruno@clisp.org>
48628         Set PATH_SEPARATOR the same way autoconf does.
48629         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
48630         the value of PATH_SEPARATOR the same way autoconf-generated configure
48631         scripts do.
48632         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
48633         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
48635 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
48637         Set PATH_SEPARATOR the same way autoconf does.
48638         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
48639         the same way autoconf-generated configure scripts do.
48640         * posix-modules: Likewise.
48642 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
48644         hash: fix safe_hasher const typo
48645         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
48646         const; otherwise, there is a type error later.
48648 2010-09-02  Jim Meyering  <meyering@redhat.com>
48650         test-update-copyright.sh: require perl 5.8.0
48651         * tests/test-update-copyright.sh: Require 5.8.0,
48652         which Tom G. Christensen has confirmed is adequate,
48653         while 5.6.1 is not.
48655 2010-09-02  Eric Blake  <eblake@redhat.com>
48657         tests: init.sh improvements for re-exec'ing with zsh
48658         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
48659         -vx through shell re-exec.
48660         Reported by Tom G. Christensen.
48662         wctype: fix typo in previous commit
48663         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
48664         Reported by Ludovic Courtès.
48666 2010-09-02  Jim Meyering  <meyering@redhat.com>
48668         test-update-copyright.sh: skip test if Perl is too old
48669         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
48670         Reported by Tom G. Christensen.
48672 2010-09-02  Bruno Haible  <bruno@clisp.org>
48674         wctype: Avoid compilation error on IRIX 6.5.30.
48675         * lib/wctype.in.h (iswblank): Declare with a replacement if
48676         REPLACE_ISWBLANK is set.
48677         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
48678         declared. Set REPLACE_ISWBLANK.
48679         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
48680         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
48681         * doc/posix-headers/wctype.texi: Likewise.
48682         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48684 2010-09-01  Bruno Haible  <bruno@clisp.org>
48686         New module 'socketlib'.
48687         * modules/socketlib: New file.
48688         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
48689         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
48690         * modules/sockets (Depends-on): Add socketlib.
48691         Suggested by Sam Steingold <sds@gnu.org>.
48693 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48695         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
48697         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
48698         when one needs search access to a directory but not read access.
48699         On systems where it is available, it works in some cases where
48700         O_RDONLY does not, namely on directories that are searchable but
48701         not readable, and which need only to be searchable.  If O_SEARCH
48702         is not available, fall back to the traditional method of using
48703         O_RDONLY.
48705         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
48706         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
48707         when opening a directory that needs only to be searchable.
48708         * lib/chdir-safer.c (chdir_no_follow): Likewise.
48709         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
48710         * lib/openat-proc.c (openat_proc_name): Likewise.
48711         * lib/openat.c (openat_needs_fchdir): Likewise.
48712         * lib/save-cwd.c (save_cwd): Likewise.
48713         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
48715 2010-08-28  Bruno Haible  <bruno@clisp.org>
48717         New module 'host-cpu-c-abi'.
48718         * modules/host-cpu-c-abi: New file.
48719         * m4/host-cpu-c-abi.m4: New file, based on part of
48720         clisp/src/m4/general.m4.
48721         Requested by Sam Steingold <sds@gnu.org>.
48723 2010-08-31  Eric Blake  <eblake@redhat.com>
48724         and Jim Meyering  <meyering@redhat.com>
48726         hash: factor, and guard against misbehaving hasher function
48727         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
48728         of table->hasher's return value.  Also protect against a hash value
48729         so large that adding it to table->bucket results in a NULL pointer.
48730         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
48731         Use it in place of open-coded check-and-abort.
48733 2010-08-30  Bruno Haible  <bruno@clisp.org>
48735         hash: silence spurious clang warning
48736         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
48737         Reported by Eric Blake.
48739 2010-08-30  Eric Blake  <eblake@redhat.com>
48741         strstr, memmem, strcasestr: avoid leaked shell message
48742         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
48743         FreeBSD.
48744         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48745         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48747         tests: silence clang warning
48748         * tests/test-malloca.c (do_allocation): Avoid dead store.
48750 2010-08-29  Bruno Haible  <bruno@clisp.org>
48752         gettext: Fix recent mistake.
48753         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
48755 2010-08-29  Bruno Haible  <bruno@clisp.org>
48757         selinux-h: Offer a --without-selinux option.
48758         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
48759         --without-selinux was specified, skip all tests and define
48760         HAVE_SELINUX_SELINUX_H to 0.
48761         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
48762         set LIB_SELINUX to empty.
48763         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
48764         gl_LIBSELINUX. If --without-selinux was specified, replace
48765         selinux/context.h.
48766         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
48768 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48769             Bruno Haible  <bruno@clisp.org>
48771         Make the module 'realloc-gnu' work again on AIX and OSF/1.
48772         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
48773         of HAVE_REALLOC.
48774         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
48775         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
48776         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
48777         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
48779 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48780             Bruno Haible  <bruno@clisp.org>
48782         Make the module 'calloc-gnu' work again on AIX and OSF/1.
48783         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
48784         HAVE_CALLOC.
48785         * lib/xmalloc.c: Update accordingly.
48786         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
48787         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
48788         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
48790 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48791             Bruno Haible  <bruno@clisp.org>
48793         Make the module 'malloc-gnu' work again on AIX and OSF/1.
48794         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
48795         HAVE_MALLOC.
48796         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
48797         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
48798         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
48800 2010-08-29  Bruno Haible  <bruno@clisp.org>
48802         Update modules list.
48803         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
48804         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
48805         (String handling <string.h>): Add astrxfrm.
48806         (File system functions): Add readlinkat.
48808 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48810         Tests for module 'realloc-gnu'.
48811         * modules/realloc-gnu-tests: New file.
48812         * tests/test-realloc-gnu.c: New file.
48814         Tests for module 'calloc-gnu'.
48815         * modules/calloc-gnu-tests: New file.
48816         * tests/test-calloc-gnu.c: New file.
48818         Tests for module 'malloc-gnu'.
48819         * modules/malloc-gnu-tests: New file.
48820         * tests/test-malloc-gnu.c: New file.
48822 2010-08-28  Bruno Haible  <bruno@clisp.org>
48824         Rename module 'realloc' -> 'realloc-gnu'.
48825         * modules/realloc-gnu: New file, copied from modules/realloc.
48826         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
48827         obsolete.
48828         * modules/mgetgroups (Depends-on): Update.
48829         * doc/posix-functions/realloc.texi: Update.
48830         * NEWS: Mention the change.
48832         Rename module 'calloc' -> 'calloc-gnu'.
48833         * modules/calloc-gnu: New file, copied from modules/calloc.
48834         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
48835         obsolete.
48836         * doc/posix-functions/calloc.texi: Update.
48837         * NEWS: Mention the change.
48839         Rename module 'malloc' -> 'malloc-gnu'.
48840         * modules/malloc-gnu: New file, copied from modules/malloc.
48841         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
48842         obsolete.
48843         * modules/argp (Depends-on): Update.
48844         * modules/regex (Depends-on): Update.
48845         * doc/posix-functions/malloc.texi: Update.
48846         * NEWS: Mention the change.
48848 2010-08-28  Eric Blake  <eblake@redhat.com>
48850         pread, pwrite: add missing dependency
48851         * modules/pread (Depends-on): Add extensions.
48852         * modules/pwrite (Depends-on): Likewise.
48854 2010-08-28  Bruno Haible  <bruno@clisp.org>
48856         unistr/u*-strchr: Fix tests dependencies.
48857         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
48858         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
48859         Reported by Ian Beckwith <ianb@erislabs.net>.
48861 2010-08-28  Bruno Haible  <bruno@clisp.org>
48863         read-file: Don't occupy too much unused memory.
48864         * lib/read-file.c (fread_file): Shrink the buffer at the end.
48866 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
48867             Eric Blake  <eblake@redhat.com>
48868             Bruno Haible  <bruno@clisp.org>
48870         read-file: Avoid memory reallocations with regular files.
48871         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
48872         (fread_file): With regular files, use the remaining length as the
48873         initial buffer size.  Check against overflow.
48874         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
48875         sys_stat.
48877 2010-08-28  Bruno Haible  <bruno@clisp.org>
48879         ftello: Relax license.
48880         * modules/ftello (License): Relax to LGPLv2+.
48881         Reported by Eric Blake.
48883 2010-08-28  Bruno Haible  <bruno@clisp.org>
48885         Avoid relocwrapper link errors due to gnulib replacement functions.
48886         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
48887         function.
48888         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48890 2010-08-28  Bruno Haible  <bruno@clisp.org>
48892         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
48893         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
48894         defined.
48895         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
48896         Suggested by Eric Blake.
48898 2010-08-28  Bruno Haible  <bruno@clisp.org>
48900         sys_socket, netdb: Ensure socklen_t gets defined.
48901         * modules/sys_socket (Depends-on): Add socklen.
48902         * modules/netdb (Depends-on): Likewise.
48903         * modules/getaddrinfo (Depends-on): Remove socklen.
48904         * modules/getsockopt (Depends-on): Likewise.
48905         * modules/setsockopt (Depends-on): Likewise.
48906         * tests/test-sys_socket.c: Check that socklen_t is defined.
48907         * tests/test-netdb.c: Likewise.
48908         * m4/socklen.m4: Update comments.
48909         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48911 2010-08-27  Eric Blake  <eblake@redhat.com>
48913         login_tty: add missing dependency
48914         * modules/login_tty (Depends-on): Add pty.
48916 2010-08-26  Eric Blake  <eblake@redhat.com>
48918         lib-symbol-versions: fix m4 quoting
48919         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
48920         format for AC_LINK_IFELSE.
48922         glob: fix compile test
48923         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
48925         btowc: fix missing file
48926         * modules/btowc (Files): Also ship locale-fr.m4.
48928         lseek: fix link test
48929         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
48930         AC_LINK_IFELSE.
48932         include_next: silence autoconf 2.68 warning
48933         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
48934         AC_COMPILE_IFELSE as special.
48935         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
48936         autoconf < 2.68.
48938         acl: fix compilation test
48939         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
48940         AC_COMPILE_IFELSE.
48942 2010-08-26  Bruno Haible  <bruno@clisp.org>
48944         Modernize AC_TRY_RUN invocations.
48945         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
48946         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
48947         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
48948         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
48949         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
48950         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
48951         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
48952         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
48953         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
48954         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
48955         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
48956         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
48957         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
48958         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
48959         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
48960         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
48961         gl_MBRLEN_NUL_RETVAL): Likewise.
48962         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
48963         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
48964         Likewise.
48965         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
48966         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
48967         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
48968         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
48969         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
48970         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
48971         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
48972         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
48973         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
48974         Likewise.
48975         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
48976         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
48977         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
48978         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
48979         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
48980         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
48981         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
48982         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
48983         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48984         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
48986 2010-08-26  Bruno Haible  <bruno@clisp.org>
48988         Modernize AC_TRY_LINK invocations.
48989         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
48990         AC_TRY_LINK.
48991         * m4/argp.m4 (gl_ARGP): Likewise.
48992         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
48993         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
48994         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
48995         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
48996         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
48997         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
48998         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
48999         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
49000         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
49001         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
49002         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
49003         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
49004         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
49005         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
49006         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
49007         * m4/hostent.m4 (gl_HOSTENT): Likewise.
49008         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
49009         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
49010         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
49011         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
49012         Likewise.
49013         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
49014         Likewise.
49015         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
49016         Likewise.
49017         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
49018         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
49019         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
49020         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
49021         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
49022         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
49023         * m4/servent.m4 (gl_SERVENT): Likewise.
49024         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
49025         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
49026         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
49027         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
49028         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
49029         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
49030         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
49031         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49032         * modules/tsearch-tests (configure.ac): Likewise.
49034 2010-08-26  Bruno Haible  <bruno@clisp.org>
49036         Modernize AC_TRY_COMPILE invocations.
49037         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
49038         AC_TRY_COMPILE.
49039         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
49040         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
49041         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
49042         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
49043         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
49044         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
49045         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
49046         * m4/lock.m4 (gl_LOCK): Likewise.
49047         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
49048         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
49049         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
49050         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
49051         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
49052         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
49053         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
49054         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
49055         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
49056         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
49057         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
49058         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
49059         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
49060         extraneous semicolon.
49062 2010-08-26  Jim Meyering  <meyering@redhat.com>
49064         stat-time: relax license LGPL
49065         * modules/stat-time (License): Change from GPL to LGPL,
49066         with consent from all contributors, for use in libguile.
49067         Requested by Ludovic Courtès.
49069 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
49071         poll: return immediately on POLLHUP.
49072         * lib/poll.c (poll): Always set timeout before wait_timeout is
49073         computed.
49075 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49077         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
49078         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
49079         rmdir ("dir/.//"), unlinkat.
49081 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
49083         stdbool: avoid spurious failure with modern xlc
49084         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
49086 2010-08-24  Bruno Haible  <bruno@clisp.org>
49088         getloadavg: simplify code
49089         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
49090         gl_have_func. Update comments.
49092 2010-08-24  Eric Blake  <eblake@redhat.com>
49094         getloadavg: don't define SVR4 on cygwin
49095         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
49096         only define SVR4 when -lkvm is required.
49097         Reported by Yaakov Selkowitz.
49099 2010-08-24  Bruno Haible  <bruno@clisp.org>
49101         priv-set: fix comment
49102         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
49104 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
49106         priv-set: fix comments
49107         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
49108         to match code, as suggested by David Bartley in:
49109         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
49111 2010-08-23  Eric Blake  <eblake@redhat.com>
49113         stdbool: avoid rejecting clang
49114         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
49115         * tests/test-stdbool.c: Enable more tests if using the system
49116         <stdbool.h> instead of the gnulib replacement.
49117         (main): Move xlc bug test to a runtime test for all compilers.
49118         Reported by Anders Kaseorg.
49120         argz: fix shell quoting issue
49121         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
49122         Reported by Charles Wilson.
49124 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
49125             Erik Faye-Lund <kusmabite@gmail.com>
49127         poll, select: handle ERROR_BROKEN_PIPE.
49128         * lib/poll.c (win32_compute_revents): Return POLLHUP when
49129         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
49130         * lib/select.c (win32_compute_revents): Do not mark a pipe
49131         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
49133 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
49135         fts: allow compilation with C++
49136         * lib/fts_.h: Specify extern "C" linkage with C++.
49138 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49140         Fix gnulib-tool sed script de-commentation for AIX sed.
49141         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
49142         sed.
49144 2010-08-17  Eric Blake  <eblake@redhat.com>
49146         test-stddef: test for (some) offsetof bugs
49147         * tests/test-stddef.c: Enhance test to ensure correct type of
49148         offsetof.
49149         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
49150         that we are not fixing at this time.
49152 2010-08-15  Bruno Haible  <bruno@clisp.org>
49154         stpncpy: Allow stpncpy to be defined as a macro.
49155         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
49156         if it's already correctly declared.
49157         * lib/string.in.h (stpncpy): Undefine before redefining.
49158         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
49160 2010-08-14  Bruno Haible  <bruno@clisp.org>
49162         Rename module 'memxfrm' to 'amemxfrm'.
49163         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
49164         (amemxfrm): Renamed from memxfrm.
49165         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
49166         (amemxfrm): Renamed from memxfrm.
49167         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
49168         * NEWS: Mention the change.
49169         * MODULES.html.sh (String handling <string.h>): Update.
49170         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
49171         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
49172         * lib/unicase/u16-casexfrm.c: Likewise.
49173         * lib/unicase/u32-casexfrm.c: Likewise.
49174         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
49175         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
49176         * lib/uninorm/u16-normxfrm.c: Likewise.
49177         * lib/uninorm/u32-normxfrm.c: Likewise.
49178         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
49179         memxfrm.
49180         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
49181         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
49182         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
49183         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
49184         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
49185         Suggested by Paul Eggert.
49187 2010-08-14  Bruno Haible  <bruno@clisp.org>
49189         Tests for module 'astrxfrm'.
49190         * modules/astrxfrm-tests: New file.
49191         * tests/test-astrxfrm.c: New file.
49193         New module 'astrxfrm'.
49194         * lib/astrxfrm.h: New file.
49195         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
49196         * modules/astrxfrm: New file.
49198 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
49200         regex: Tweak doc.
49201         * doc/regex.texi (Overview): Don't mention regex.c.
49202         (GNU Regular Expression Compiling): Likewise.
49203         (Match-end-of-line Operator): Mention 'not_eol'.
49205 2010-08-14  Brian Gough  <bjg@gnu.org>
49206             Bruno Haible  <bruno@clisp.org>
49208         git-merge-changelog: add doc relating to use with bzr and hg.
49209         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
49211 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
49213         pthread: fix pthread.h creation for srcdir != builddir
49214         * modules/pthread (Makefile.am): Fix the rule to work also in a
49215         non-srcdir build.
49217 2010-08-13  Karl Berry  <karl@gnu.org>
49219         * doc/regex.texi (Predefined Syntaxes): @smallexample.
49220         * doc/posix-*/*: force line break before @url of POSIX
49221         specifications.
49222         Suggested by Werner Lemberg.
49224 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49226         strtod: fix const diagnostic
49227         * lib/strtod.c (strtod): Don't assign const char * to char *,
49228         as this elicits a warning from GCC when warnings are enabled.
49230 2010-08-10  Pádraig Brady  <P@draigbrady.com>
49231         and Eric Blake  <eblake@redhat.com>
49233         copy-acl: ignore ENOTSUP on HP-UX
49234         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
49235         so that it is available for HP-UX.
49236         * lib/copy-acl.c (qcopy_acl): Use it.
49237         Reported by Patrick M. Callahan.
49239 2010-08-10  Eric Blake  <eblake@redhat.com>
49241         open, chown: relax license
49242         * modules/open (License): Change to LGPLv2+, with consent by all
49243         authors, for use in augeas.
49244         * modules/chown (License): Likewise.
49245         * modules/lchown (Likewise): Likewise.
49246         Requested by Adam Stokes.
49248 2010-08-09  Karl Berry  <karl@gnu.org>
49250         * build-aux/ar-lib: new file, import from Automake.
49251         * config/srclist.txt: autocheck for updates.
49253 2010-08-09  Eric Blake  <eblake@redhat.com>
49255         readlinkat: adjust client modules
49256         * modules/areadlinkat (Depends-on): Use readlinkat, not
49257         symlinkat.
49258         * modules/areadlinkat-with-size (Depends-on): Likewise.
49260         mknod: be more vocal about danger of running tests as root
49261         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
49262         root, since that is just asking for problems.
49263         Suggested by Bruno Haible, based on a report by Rainer Tammer.
49265         readlinkat: split into its own module
49266         * modules/symlinkat: Split readlinkat...
49267         * modules/readlinkat: ...into separate module.
49268         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
49269         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
49270         * lib/symlinkat.c (readlinkat): Move...
49271         * lib/readlinkat.c: ...into new file.
49272         * modules/symlinkat-tests: Split readlinkat test...
49273         * modules/readlinkat-tests: ...into separate module.
49274         * tests/test-symlinkat.c: Split...
49275         * tests/test-readlinkat.c: ...into new file.
49276         * NEWS: Document the split.
49277         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
49278         * lib/unistd.in.h (readlinkat): Likewise.
49279         Suggested by Bruno Haible.
49281 2010-08-08  Bruno Haible  <bruno@clisp.org>
49283         memxfrm: Speed up.
49284         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
49285         that usually only one call to strxfrm is necessary for each string
49286         part.
49287         Reported by Paul Eggert <eggert@cs.ucla.edu>.
49289 2010-08-07  Karl Berry  <karl@gnu.org>
49291         * doc/posix-headers/limits.texi,
49292         * doc/posix-functions/malloc.texi,
49293         * doc/posix-functions/strsignal.texi: missing @item.
49294         * doc/ld-version-script.texi: spurious leading i.
49295         * doc/regex.texi (Interval Operators): no commas inside @var.
49297 2010-08-01  Bruno Haible  <bruno@clisp.org>
49299         Integrate the regex documentation.
49300         * doc/gnulib.texi: Define 'cn' index.
49301         (Regular expressions): New a chapter that includes regex.texi and
49302         regexprops-generic.texi.
49303         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
49304         syntax.
49306         Whitespace cleanup.
49307         * doc/regex.texi: Remove trailing spaces.
49309         Add regex documentation.
49310         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
49311         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
49312         Written by Kathy A. Hargreaves and Karl Berry.
49314 2010-08-01  Bruno Haible  <bruno@clisp.org>
49316         link: Update documentation.
49317         * doc/posix-functions/link.texi: Update regarding Solaris.
49319 2010-07-31  Bruno Haible  <bruno@clisp.org>
49321         Update modules list.
49322         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
49323         (String handling <string.h>): Add memcmp2, memxfrm.
49324         (Container data structures): Add xlist, xsublist, xoset.
49325         (Core language properties): Add alignof, unused-parameter.
49326         (Process control, Numeric conversion functions <stdlib.h>): Renamed
49327         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
49328         (Unibyte characters <ctype.h>): New section.
49329         (String handling <string.h>): New section.
49330         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
49331         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
49332         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
49333         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
49334         tan, tanh, tanl, y0, y1, yn.
49335         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
49336         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
49337         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
49338         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
49339         unlockpt, vdprintf, vdprintf-posix.
49340         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
49341         (File system functions): Add concat-filename, sys_file, sys_ioctl,
49342         xconcat-filename.
49343         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
49344         getdtablesize, pipe2, pipe2-safer.
49345         (Security): New section.
49346         (Networking functions): Add accept4.
49347         (Signal handling): Add sigpipe.
49348         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
49349         mbmemcasecoll.
49350         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
49351         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
49352         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
49353         pipe-filter-ii.
49354         (Misc): Add argp-version-etc, login_tty, parse-duration.
49356 2010-07-31  Bruno Haible  <bruno@clisp.org>
49358         Improve doc in MODULES.html.
49359         * modules/linkat (Description): Add the word "function".
49360         * modules/mkfifo (Description): Likewise.
49361         * modules/mknod (Description): Likewise.
49362         * modules/remove (Description): Likewise.
49363         * modules/renameat (Description): Likewise.
49364         * modules/stat (Description): Likewise.
49365         * modules/symlink (Description): Likewise.
49366         * modules/unlink (Description): Likewise.
49368 2010-07-31  Bruno Haible  <bruno@clisp.org>
49370         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
49371         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
49372         option --enable/disable-c++ instead of --enable/disable-cxx.
49373         * NEWS: Mention the change.
49375 2010-07-31  Bruno Haible  <bruno@clisp.org>
49377         readlink, areadlink: Relax test a bit.
49378         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
49379         alternative to ENOTDIR.
49380         * tests/test-areadlink.h (test_areadlink): Likewise.
49381         Reported by Rainer Tammer.
49383 2010-07-31  Bruno Haible  <bruno@clisp.org>
49385         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
49386         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
49387         character, perform the search using U_STRCHR.
49388         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
49389         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
49390         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
49391         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
49392         Suggested by Paolo Bonzini.
49394 2010-07-31  Bruno Haible  <bruno@clisp.org>
49396         unistr/u*-strstr: Fix dependencies.
49397         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
49398         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
49399         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
49401 2010-07-31  Bruno Haible  <bruno@clisp.org>
49403         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
49404         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
49405         the beginning of the loop.
49406         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
49407         cases in 'switch' statement.
49409         unistr/u8-strchr: Fix several bugs.
49410         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
49411         the string. When not found, return NULL, not a pointer near the end.
49413         More tests for unistr/u8-strchr.
49414         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
49415         that the function does not read past the first occurrence of the byte
49416         being searched.
49417         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
49418         * tests/unistr/test-u16-strchr.c (main): New function.
49419         * tests/unistr/test-u32-strchr.c (main): New function.
49421 2010-07-31  Bruno Haible  <bruno@clisp.org>
49423         posix-modules: Ignore backup files of documentation files.
49424         * posix-modules: grep only through files named *.texi.
49426 2010-07-31  Bruno Haible  <bruno@clisp.org>
49428         symlinkat: Fix documentation.
49429         * doc/posix-functions/readlinkat.texi: Fix module name.
49431 2010-07-31  Bruno Haible  <bruno@clisp.org>
49433         fchownat: Replace also when chown has the trailing slash bug.
49434         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
49435         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
49436         introduced on 2010-04-10.
49437         Reported by Rainer Tammer.
49439 2010-07-31  Bruno Haible  <bruno@clisp.org>
49441         linkat: Work around AIX 7.1 bug.
49442         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
49443         whether linkat handles trailing slash correctly. If not, replace linkat
49444         and define LINKAT_TRAILING_SLASH_BUG.
49445         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
49446         check whether (fd1,file1) points to a directory if file1 or file2 ends
49447         in a slash. Code taken from lib/link.c.
49448         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
49449         Reported by Rainer Tammer.
49451 2010-07-31  Bruno Haible  <bruno@clisp.org>
49453         Correctly determine whether pow is available in libc on AIX 7 with xlc.
49454         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
49455         This disables an xlc optimization that was causing wrong test results.
49456         Reported by Rainer Tammer.
49458 2010-07-31  Bruno Haible  <bruno@clisp.org>
49460         iconv: Work around AIX 6.1..7.1 bug.
49461         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
49462         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
49463         cross-compiling, guess no on all versions of AIX.
49464         Reported by Rainer Tammer.
49466 2010-07-31  Bruno Haible  <bruno@clisp.org>
49468         readlink: Relax test a bit.
49469         * tests/test-readlink.h (test_readlink): Allow different errno value
49470         when readlink is called with a file name that ends in / and refers to
49471         a file.
49472         Suggested by Eric Blake.
49473         Reported by Rainer Tammer.
49475 2010-07-31  Bruno Haible  <bruno@clisp.org>
49477         copysign: Does not require -lm on glibc systems.
49478         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
49479         gl_COMMON_DOUBLE_MATHFUNC.
49480         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
49482 2010-07-31  Bruno Haible  <bruno@clisp.org>
49484         duplocale: Work around AIX 7.1 bug.
49485         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
49486         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
49487         * lib/duplocale.c (rpl_duplocale): Update comment.
49488         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
49489         Reported by Rainer Tammer.
49491 2010-07-30  Bruno Haible  <bruno@clisp.org>
49493         dirfd: Avoid link error on AIX 7.1.
49494         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
49495         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
49496         exist, set REPLACE_DIRFD.
49497         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
49498         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
49499         * doc/posix-functions/dirfd.texi: Update.
49500         Reported by Rainer Tammer.
49502 2010-07-30  Eric Blake  <eblake@redhat.com>
49504         strtod: next round of AIX fixes
49505         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
49506         exponent.
49507         * tests/test-strtod.c (main): Enhance tests.
49508         * doc/posix-functions/strtod.texi (strtod): Document next bug.
49509         Reported by Rainer Tammer.
49511         futimens: fix configure check
49512         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
49513         Reported by Bruno Haible.
49515 2010-07-30  Bruno Haible  <bruno@clisp.org>
49517         getline: Update regarding AIX.
49518         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
49519         Reported by Rainer Tammer.
49521 2010-07-30  Bruno Haible  <bruno@clisp.org>
49523         wcwidth: Drop replacement on AIX 7.
49524         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
49525         AIX 7.
49526         Reported by Rainer Tammer.
49528 2010-07-30  Bruno Haible  <bruno@clisp.org>
49530         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
49531         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
49532         a 'char *'.
49533         Reported by Rainer Tammer.
49535 2010-07-30  Bruno Haible  <bruno@clisp.org>
49537         unlink: Update regarding AIX.
49538         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
49539         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
49540         Reported by Rainer Tammer.
49542 2010-07-30  Bruno Haible  <bruno@clisp.org>
49544         symlink: Update regarding AIX.
49545         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
49546         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
49547         Reported by Rainer Tammer.
49549 2010-07-30  Bruno Haible  <bruno@clisp.org>
49551         strndup: Update regarding AIX.
49552         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
49553         AIX 7.
49554         Reported by Rainer Tammer.
49556 2010-07-30  Bruno Haible  <bruno@clisp.org>
49558         stat: Update regarding AIX.
49559         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
49560         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
49561         Reported by Rainer Tammer.
49563 2010-07-30  Bruno Haible  <bruno@clisp.org>
49565         truncl: Fix autoconf test.
49566         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
49567         whether truncl works.
49568         Reported by Rainer Tammer.
49570 2010-07-30  Bruno Haible  <bruno@clisp.org>
49572         round: Update regarding AIX.
49573         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
49574         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
49575         Reported by Rainer Tammer.
49577 2010-07-30  Bruno Haible  <bruno@clisp.org>
49579         rename: Update regarding AIX.
49580         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
49581         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
49582         Reported by Rainer Tammer.
49584 2010-07-30  Bruno Haible  <bruno@clisp.org>
49586         printf.m4: Update regarding AIX.
49587         * m4/printf.m4: Update comments regarding AIX.
49588         Reported by Rainer Tammer.
49590 2010-07-30  Bruno Haible  <bruno@clisp.org>
49592         iconv: Update regarding AIX.
49593         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
49594         AIX 7.
49595         Reported by Rainer Tammer.
49597 2010-07-30  Bruno Haible  <bruno@clisp.org>
49599         getopt: Update regarding AIX.
49600         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
49601         no on AIX.
49602         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
49603         Reported by Rainer Tammer.
49605 2010-07-30  Bruno Haible  <bruno@clisp.org>
49607         ldexpl; Update regarding AIX.
49608         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
49609         on AIX 7.
49610         Reported by Rainer Tammer.
49612 2010-07-30  Bruno Haible  <bruno@clisp.org>
49614         frexpl: Update regarding AIX.
49615         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
49616         on AIX 7.
49617         Reported by Rainer Tammer.
49619 2010-07-30  Bruno Haible  <bruno@clisp.org>
49621         open, fopen: Update regarding AIX.
49622         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
49623         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
49624         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
49625         * doc/posix-functions/fopen.texi: Likewise.
49626         Reported by Rainer Tammer.
49628 2010-07-30  Bruno Haible  <bruno@clisp.org>
49630         chown: Update doc regarding AIX.
49631         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
49632         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
49633         Reported by Rainer Tammer.
49635 2010-07-30  Eric Blake  <eblake@redhat.com>
49637         strtod: fix bug in replacement function on AIX
49638         * lib/strtod.c (strtod): Special case broken "0x" parse in
49639         underlying strtod.
49640         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
49641         * doc/posix-functions/strtod.texi (strtod): Likewise.
49642         Reported by Rainer Tammer.
49644 2010-07-30  Bruno Haible  <bruno@clisp.org>
49646         mbrlen: Fix cross-compilation guess for AIX.
49647         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
49648         guess. Leftover from 2008-12-22.
49650 2010-07-30  Bruno Haible  <bruno@clisp.org>
49652         mbrtowc: Fix cross-compilation guess for AIX.
49653         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
49654         guess. Leftover from 2008-12-21.
49656 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
49658         init.sh: work around trap limitation of some shells
49659         * tests/init.sh (setup_): Move exit trap outside of shell function.
49661 2010-07-29  Eric Blake  <eblake@redhat.com>
49663         strtod: aid debugging
49664         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
49665         understanding why strtod is rejected.
49667 2010-07-28  Bruno Haible  <bruno@clisp.org>
49669         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
49670         * lib/unistr/u8-chr.c: Include <string.h>.
49671         * tests/unistr/test-u8-chr.c: Likewise.
49672         * tests/unistr/test-u16-chr.c: Likewise.
49673         * tests/unistr/test-u32-chr.c: Likewise.
49674         * tests/unistr/test-u8-strchr.c: Likewise.
49675         * tests/unistr/test-u16-strchr.c: Likewise.
49676         * tests/unistr/test-u32-strchr.c: Likewise.
49677         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
49678         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
49679         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
49680         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
49682 2010-07-28  Bruno Haible  <bruno@clisp.org>
49684         Use spaces for indentation, not tabs.
49685         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
49687 2010-07-27  Bruno Haible  <bruno@clisp.org>
49689         mbspcasecmp: Fix function specification.
49690         * lib/string.in.h (mbspcasecmp): Fix specification comment.
49691         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
49692         Reported by Eric Blake <eblake@redhat.com>.
49694 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
49696         timespec: use cast and not conditional, as truncation isn't possible
49697         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
49698         instead of a conditional.  Comment about the situation in more detail.
49699         This undoes most of the 2009-10-29 patch.
49701 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
49703         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
49704         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
49705         * lib/unistr/u8-strchr.c: Likewise.
49706         * modules/unistr/u8-chr: Depend on memchr.
49708         unistr/u*-strchr: add tests
49709         * modules/unistr/u8-strchr-tests: New file.
49710         * modules/unistr/u16-strchr-tests: New file.
49711         * modules/unistr/u32-strchr-tests: New file.
49712         * tests/unistr/test-strchr.h: New file.
49713         * tests/unistr/test-u8-strchr.c: New file.
49714         * tests/unistr/test-u16-strchr.c: New file.
49715         * tests/unistr/test-u32-strchr.c: New file.
49717         unistr/u*-chr: test multibyte sequences more
49718         * tests/unistr/test-chr.h: Do complete testing of the characters in the
49719         test vector.
49720         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
49721         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
49722         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
49724         unistr/u*-chr: test multibyte sequences
49725         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
49727         unistr/u*-chr: prepare for multibyte tests
49728         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
49729         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
49730         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
49731         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
49732         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
49733         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
49735 2010-07-18  Bruno Haible  <bruno@clisp.org>
49737         unistr/u8-strchr: Optimize non-ASCII argument case.
49738         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
49739         because the first byte often matches anyway.
49740         Reported by Pádraig Brady <P@draigbrady.com>.
49742 2010-07-15  Karl Berry  <karl@gnu.org>
49744         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
49746 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
49748         getcwd: on Solaris, work better if ancestors are inaccessible
49749         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
49750         buffer and size, try again with a large buffer.  This works better
49751         on Solaris, since its getcwd succeeds even if the path to the root
49752         is inaccessible, and this is helpful in common cases such as .zfs
49753         hidden directories.  Problem reported by J Chapman Flack in
49754         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
49755         Use system getcwd if it's declared, not merely if it's partly
49756         working; use the partly-working test only to avoid needless effort
49757         if the system getcwd fails.
49758         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
49759         comment that was already obsolete and is now even more obsolete.
49760         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
49761         now might call strdup.
49763 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
49765         pthread: Add enough so that coreutils/src/sort.c compiles.
49766         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
49767         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
49768         gnulib. Include <sched.h> and <time.h>, as per POSIX.
49769         Include <sys/types.h>, in case it defines pthread_t.
49770         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
49771         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
49772         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
49773         (pthread_rwlockattr_t, pthread_spinlock_t):
49774         New typedefs, if HAVE_PTHREAD_T is not defined.
49775         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
49776         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
49777         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
49778         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
49779         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
49780         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
49781         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
49782         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
49783         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
49784         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
49785         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
49786         New macros.
49787         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
49788         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
49789         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
49790         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
49791         (pthread_spin_unlock): New dummy functions.
49792         (pthread_create): Return EAGAIN; don't set errno.
49793         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
49794         require AC_C_INLINE.
49795         * modules/pthread (Depends-on): Add sched, time.
49796         (pthread.h): Use AM_V_GEN.
49798 2010-07-13  Bruno Haible  <bruno@clisp.org>
49800         striconveh: Don't malloc memory if the result buffer is sufficient.
49801         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
49802         buffer if its size is sufficient.
49803         Reported by Ludovic Courtès <ludo@gnu.org>.
49805 2010-07-13  Bruno Haible  <bruno@clisp.org>
49807         strtod: Add safety check.
49808         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
49810 2010-07-12  Bruno Haible  <bruno@clisp.org>
49812         Unify tests that set gl_cv_func_ldexpl_no_libm.
49813         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
49814         gl_FUNC_LDEXPL.
49815         (gl_FUNC_LDEXPL): Invoke it.
49816         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49818 2010-07-12  Bruno Haible  <bruno@clisp.org>
49820         Unify tests that set gl_cv_func_ldexp_no_libm.
49821         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
49822         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
49823         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
49824         (configure.ac): Simply invoke gl_FUNC_LDEXP.
49825         * modules/strtod (Files): Add m4/ldexp.m4.
49827 2010-07-12  Bruno Haible  <bruno@clisp.org>
49829         Unify tests that set gl_cv_func_frexpl_no_libm.
49830         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
49831         gl_FUNC_FREXPL_NO_LIBM.
49832         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
49833         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49835 2010-07-12  Bruno Haible  <bruno@clisp.org>
49837         Unify tests that set gl_cv_func_frexp_no_libm.
49838         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
49839         gl_FUNC_FREXP_NO_LIBM.
49840         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
49841         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
49843 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
49845         memcoll: clarify sizes versus lengths, document better, and tweak perf
49846         * lib/memcoll.c (strcoll_loop, memcoll0):
49847         Improve quality of descriptive comments.  Name variables
49848         consistently as to whether they are lengths (which do not include
49849         terminating null) versus sizes (which do).
49850         * lib/xmemcoll.c (xmemcoll0): Likewise.
49851         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
49852         returned when s1size == 0; this is easier to compile and saves
49853         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
49855 2010-07-12  Bruno Haible  <bruno@clisp.org>
49857         Tests for module '_Exit'.
49858         * modules/_Exit-tests: New file.
49859         * tests/test-_Exit.sh: New file.
49860         * tests/test-_Exit.c: New file.
49862         New module '_Exit'.
49863         * lib/stdlib.in.h (__attribute__): New macro.
49864         (_Exit): New declaration.
49865         * lib/_Exit.c: New file.
49866         * m4/_Exit.m4: New file.
49867         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
49868         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
49869         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
49870         * modules/_Exit: New file.
49871         * tests/test-stdlib-c++.cc (_Exit): Check signature.
49872         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
49874 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
49876         strtod: make it more-accurate typically, and don't require libm
49877         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
49878         Include limits.h.  Don't include string.h.
49879         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
49880         (locale_isspace): New function, so that no casts are needed to
49881         check whether *s is a space.
49882         (ldexp): Provide an unused dummy if not available.
49883         (scale_radix_exp, parse_number, underlying_strtod): New functions.
49884         (strtod): Use them.  This implementation prefers to use the
49885         underlying strtod if available, falling back on our own code
49886         only to fix known bugs.  This is more likely to produce an
49887         accurate result.  Also, it avoids the use of libm functions.
49888         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
49889         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
49890         was absent, but it caused a test failure with coreutils.
49891         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
49892         with libm.
49893         * modules/strtod (Makefile.am, Link): libm is no longer needed.
49894         * modules/strtod-tests (Makefile.am): Likewise.
49896 2010-07-11  Pádraig Brady  <P@draigBrady.com>
49897             Bruno Haible  <bruno@clisp.org>
49899         unistr/u8-strchr: Optimize ASCII argument case.
49900         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
49902 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49904         (x)memcoll: minor tweaks
49905         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
49906         is after the type that it qualifies.
49907         (memcoll0): Likewise.
49908         * lib/memcoll.h (memcoll0): Likewise.
49909         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
49910         * lib/xmemcoll.h (xmemcoll0): Likewise.
49911         * lib/memcoll.c (memcoll0): Correct the comment.  This function
49912         differs from memcoll in that the NUL byte is part of the argument.
49913         Omit the abort-checks, as performance is a real issue here.  Plus,
49914         the checks were wrong anyway (an off-by-one error).  Omit local
49915         variable 'diff', as it's a bit clearer that way.
49916         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
49917         no longer needed.
49919 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
49921         (x)memcoll: speedup when input is known to be NUL delimited
49922         * lib/memcoll.c: Include stdlib.
49923         (memcoll0): New function.
49924         (strcoll_loop): New function, refactored for use in both memcoll
49925         and memcoll0.
49926         * lib/memcoll.h (memcoll0): Add prototype.
49927         * lib/xmemcoll.c (xmemcoll0): New function.
49928         (collate_error): New function, refactored for use in both xmemcoll
49929         and xmemcoll0.
49930         * lib/xmemcoll.h (xmemcoll0): Add prototype.
49931         * m4/memcoll.m4: add inline invocation.
49933 2010-07-06  Pádraig Brady  <P@draigBrady.com>
49935         * build-aux/bootstrap: Remove any local translations
49936         from the translation project synchronization directory,
49937         so that local only translations are not distributed.
49939 2010-07-04  Bruno Haible  <bruno@clisp.org>
49941         fsusage: Clarify which code applies to which platforms.
49942         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
49943         platform.
49944         * lib/fsusage.c (get_fs_usage): Likewise.
49946 2010-07-04  Bruno Haible  <bruno@clisp.org>
49948         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
49949         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
49950         Reported by Martin Lambers <marlam@marlam.de>.
49952 2010-07-04  Jim Meyering  <meyering@redhat.com>
49954         hash: once again explicitly disallow insertion of NULL
49955         * lib/hash.c (hash_insert0): Reinstate just-removed test:
49956         inserting a NULL pointer cannot work with these functions.
49957         Add a comment with details.
49958         This reverts part of the 2010-07-01 commit, 5bef1a35
49959         "hash: extend module to deal with non-pointer keys".
49961 2010-07-01  Bruno Haible  <bruno@clisp.org>
49963         stdbool: Update doc.
49964         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
49965         Info from Christian Weisgerber <naddy@mips.inka.de>.
49967 2010-07-01  Jim Meyering  <meyering@redhat.com>
49969         hash: extend module to deal with non-pointer keys
49970         * lib/hash.c (hash_insert0): New interface, much like hash_insert
49971         but that allows insertion of non-pointer entries.
49972         Do not disallow an ENTRY value of NULL.
49973         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
49974         * lib/hash.h (hash_insert0): Declare.
49976 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
49978         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
49979         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
49980         not present (i.e. with autoconf 2.59 and when using gettextize, not
49981         gnulib), require AC_GNU_SOURCE instead.
49983 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
49985         idpriv-drop: Fix tests.
49986         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
49987         not to the test-idpriv-droptemp program.
49989 2010-06-29  Bruno Haible  <bruno@clisp.org>
49991         string: Fix syntax error with g++ 2.96.
49992         * lib/string.in.h (__pure__): Remove definition.
49993         (_GL_ATTRIBUTE_PURE): New macro.
49994         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
49995         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
49996         Reported by Christian Weisgerber <naddy@mips.inka.de>.
49998 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
50000         unitypes: Fix bug introduced on 2010-05-18.
50001         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
50003 2010-06-22  Eric Blake  <eblake@redhat.com>
50005         memmem: slight optimization
50006         * lib/str-two-way.h (critical_factorization): Update comments.
50007         Reduce work during factorization phase.
50008         Reported by Carlos Bueno <carlos@bueno.org>.
50010 2010-06-21  Bruno Haible  <bruno@clisp.org>
50012         Fix HAVE_CALLOC_POSIX misnomer.
50013         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
50014         !HAVE_CALLOC_POSIX.
50015         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
50016         HAVE_CALLOC_POSIX.
50017         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
50018         instead of HAVE_CALLOC_POSIX.
50019         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
50020         HAVE_CALLOC_POSIX.
50022         Use modern idiom for calloc() replacement.
50023         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
50024         AC_FUNC_CALLOC.
50025         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
50026         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
50027         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
50028         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
50029         (gl_REPLACE_CALLOC): New macro.
50031 2010-06-21  Bruno Haible  <bruno@clisp.org>
50033         Fix HAVE_REALLOC_POSIX misnomer.
50034         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
50035         !HAVE_REALLOC_POSIX.
50036         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
50037         HAVE_REALLOC_POSIX.
50038         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
50039         instead of HAVE_REALLOC_POSIX.
50040         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
50041         HAVE_REALLOC_POSIX.
50043         Use modern idiom for realloc() replacement.
50044         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
50045         AC_FUNC_REALLOC.
50046         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
50047         Autoconf's AC_FUNC_REALLOC.
50048         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
50049         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
50050         (gl_REPLACE_REALLOC): New macro.
50051         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
50053 2010-06-21  Bruno Haible  <bruno@clisp.org>
50055         Fix HAVE_MALLOC_POSIX misnomer.
50056         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
50057         !HAVE_MALLOC_POSIX.
50058         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
50059         HAVE_MALLOC_POSIX.
50060         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
50061         instead of HAVE_MALLOC_POSIX.
50062         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
50063         HAVE_MALLOC_POSIX.
50065         Use modern idiom for malloc() replacement.
50066         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
50067         AC_FUNC_MALLOC.
50068         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
50069         Autoconf's AC_FUNC_MALLOC.
50070         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
50071         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
50072         (gl_REPLACE_MALLOC): New macro.
50073         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
50075 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
50077         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
50078         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
50079         This macro takes 3 arguments, not 4.
50081 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
50083         ipv6: fix detection under mingw
50084         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
50085         in6_addr.
50087 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
50089         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
50090         that strtod() works when cross-compiling to a glibc version known
50091         to work.
50093 2010-06-15  Bruno Haible  <bruno@clisp.org>
50095         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
50097 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
50099         select: Correct timeout.
50100         * lib/select.c (rpl_select): Compute wait_timeout correctly.
50102 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
50104         git-version-gen: init shell var to avoid env var influence
50105         * build-aux/git-version-gen (v): Init shell var to empty.
50107 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
50109         priv-set: Don't assume that priv.h exists merely because getppriv does.
50110         See Jan Andersen's bug report about AIX 5L in
50111         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
50112         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
50113         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
50114         * lib/priv-set.h: Likewise.
50115         * tests/test-priv-set.c: Likewise.
50117 2010-06-13  Bruno Haible  <bruno@clisp.org>
50119         relocatable: Make it easier to test whether to install wrappers.
50120         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
50121         RELOCATABLE_VIA_WRAPPER.
50123 2010-06-13  Bruno Haible  <bruno@clisp.org>
50125         gnulib-tool: Display specified modules and dependencies differently.
50126         * gnulib-tool (func_show_module_list): New function.
50127         (func_import, func_create_testdir): Invoke it.
50128         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50130 2010-06-13  Bruno Haible  <bruno@clisp.org>
50132         gnulib-tool: Align code of func_import and func_create_testdir.
50133         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
50134         specified_modules.
50136 2010-06-12  Jim Meyering  <meyering@redhat.com>
50138         test-inttostr: avoid spurious failure on Solaris 9
50139         * tests/test-inttostr.c (main): Skip the test when snprintf fails
50140         to accept "%ju".  Reported by Bruno Haible.
50142 2010-06-11  Jim Meyering  <meyering@redhat.com>
50144         test-sys_socket: mark variables as used more readably
50145         * tests/test-sys_socket.c (main): Mark otherwise unused variables
50146         as "used" explicitly via (void) statement casts.  This is more
50147         readable than using them in an artificial return expression.
50148         Suggestion from Bruno Haible.
50150 2010-06-11  Bruno Haible  <bruno@clisp.org>
50152         Avoid some more warnings from "gcc -Wwrite-strings".
50153         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
50154         to 'const char *'.
50155         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
50156         * tests/test-c-strcasestr.c (main): Likewise.
50157         * tests/test-mbscasestr1.c (main): Likewise.
50158         * tests/test-mbscasestr2.c (main): Likewise.
50159         * tests/test-memmem.c (main): Likewise.
50160         * tests/test-strstr.c (main): Likewise.
50161         * tests/test-strcasestr.c (main): Likewise.
50163 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50165         init.sh: change framework_failure_ to fail with status 99, not 1
50166         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
50167         automake's parallel-tests rule that this is an unexpected failure,
50168         even if the test is listed in XFAIL_TESTS.
50170 2010-06-11  Jim Meyering  <meyering@redhat.com>
50172         test-inttostr: avoid warnings about 4-6KB literal strings
50173         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
50174         Include "macros.h", for its definition of ASSERT.
50175         (CK): s/assert/ASSERT/
50176         * modules/inttostr-tests (Files): Add macros.h.
50178         init.sh: don't use $ME_ or skip_ before they are defined
50179         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
50180         their first uses.  Also hoist their companions: warn_, fail_,
50181         framework_failure_, $stderr_fileno.  Prompted by a patch from
50182         Stefano Lattarini.
50184         test-sys_socket: avoid set-but-not-used warnings from gcc
50185         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
50186         avoid warning about set-but-not-used variables.
50188         test-xvasprintf: avoid 'const' discard warnings
50189         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
50190         "const" when assigning from literal strings.
50191         (test_xasprintf): Add "void" in function argument list to placate
50192         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
50194         tests: avoid compilation warnings in argmatch and exclude tests...
50195         in packages that define ARGMATCH_DIE_DECL, like coreutils.
50196         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
50197         Since it always exits, declare with the "noreturn" attribute.
50198         * tests/test-argmatch.c: Likewise.
50200         tests: avoid 'const' discard warnings in mbsstr tests
50201         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
50202         * tests/test-mbsstr2.c (main): Likewise.
50204         test-verify: avoid warning from gcc's -Wmissing-declarations
50205         * tests/test-verify.c (function): Declare to be static.
50207         test-inttostr.c: include <string.h> for use of strcmp
50208         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
50210         test-linkat: avoid failed assertion on "other" architectures
50211         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
50212         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
50213         sparc: https://bugs.launchpad.net/bugs/591968
50215 2010-06-11  Jim Meyering  <meyering@redhat.com>
50217         printf.m4: avoid autoconf's "Expanded Before Required" warning
50218         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
50219         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
50220         autoconf warning.
50222 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
50224         Replacement header templates are now named with ".in", not "_".
50225         * doc/gnulib-intro.texi: Correct.
50227 2010-06-10  Jim Meyering  <meyering@redhat.com>
50229         inttostr-tests: depend on snprintf, not snprintf-posix
50230         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
50231         snprintf-posix, to avoid this aclocal failure:
50232           missing file gnulib-tests/vasnprintf.c
50233           configure.ac:45: error: expected source file, required through \
50234           AC_LIBSOURCES, not found
50236 2010-06-10  Jim Meyering  <meyering@redhat.com>
50238         inttostr: add a new function, inttostr, and tests
50239         The namesake function was not available.  The existence of the
50240         template file, inttostr.c makes its addition nontrivial.
50241         * lib/anytostr.c: Rename from inttostr.c.
50242         (anytostr): Rename from inttostr.
50243         * lib/inttostr.c: New file.
50244         * modules/inttostr (Files): Add anytostr.c.
50245         (Makefile.am): Set lib_SOURCES instead of ...
50246         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
50247         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
50248         * lib/offtostr.c: Likewise.
50249         * lib/uinttostr.c: Likewise.
50250         * lib/umaxtostr.c: Likewise.
50251         * modules/inttostr-tests: New file.
50252         * tests/test-inttostr.c: New file.  Test these functions.
50254 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
50255             Bruno Haible  <bruno@clisp.org>
50257         Add "Extending Gnulib" chapter to manual.
50258         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
50259         chapter.
50260         (Extending Gnulib): New chapter.
50261         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
50262         chapter.
50264 2010-06-09  Bruno Haible  <bruno@clisp.org>
50266         Avoid relocwrapper link errors due to gnulib replacement functions.
50267         * lib/areadlink.c: Use the system's malloc, realloc functions.
50268         (areadlink): Set errno to ENOMEM explicitly.
50269         * modules/areadlink (Depends-on): Remove malloc-posix.
50270         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50272 2010-06-09  Bruno Haible  <bruno@clisp.org>
50274         Avoid relocwrapper link errors due to gnulib replacement functions.
50275         * lib/canonicalize-lgpl.c: Use the system's malloc function.
50276         * lib/malloca.c: Likewise.
50277         * lib/relocatable.c: Likewise.
50278         * lib/progreloc.c: Use the system's malloc, sprintf functions.
50279         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
50280         * lib/setenv.c: Use the system's malloc, realloc functions.
50281         * lib/strerror.c: Use the system's sprintf function.
50282         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50284 2010-06-04  Bruno Haible  <bruno@clisp.org>
50286         Prefer documented low-level autoconf macro names.
50287         * m4/lib-link.m4: Use m4_translit instead of translit.
50288         * m4/environ.m4: Likewise.
50289         * m4/mathfunc.m4: Likewise.
50290         * m4/onceonly.m4: Likewise.
50291         * m4/stdint.m4: Likewise.
50292         Suggested by Eric Blake.
50294 2010-06-04  Martin Lambers  <marlam@marlam.de>
50295             Bruno Haible  <bruno@clisp.org>
50297         havelib: Allow library names with '+' characters.
50298         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
50299         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
50301 2010-06-09  Bruno Haible  <bruno@clisp.org>
50303         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
50304         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
50305         realloc failed.
50307 2010-06-08  Peter Simons  <simons@cryp.to>
50309         maint.mk: make the news-check rule more configurable
50310         * top/maint.mk (news-check-lines-spec): New variable.
50311         (news-check): Use "sed -n 1,10p" in place of "head".
50313 2010-06-07  Jim Meyering  <meyering@redhat.com>
50315         do-release-commit-and-tag: fix typo in --help
50316         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
50318         regex: avoid new dead-code warning with gcc-4.6.0
50319         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
50320         if-block containing a while-loop.  It's been unused for at least
50321         5 years.
50323 2010-06-05  Bruno Haible  <bruno@clisp.org>
50325         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
50326         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
50328 2010-06-04  Bruno Haible  <bruno@clisp.org>
50330         Update to GNU gettext 0.18.1.
50331         * modules/gettext (configure.ac): Require gettext infrastructure from
50332         version 0.18.1.
50334 2010-06-03  Bruno Haible  <bruno@clisp.org>
50336         Don't use AC_LIBOBJ with file names in subdirectories.
50337         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
50338         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
50339         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
50340         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
50341         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
50342         gl_LIBUNISTRING_LIBSOURCE.
50343         (Makefile.am): Augment lib_SOURCES here, conditionally.
50344         * NEWS: Drop requirement for Automake option 'subdir-objects'.
50346 2010-06-03  Bruno Haible  <bruno@clisp.org>
50348         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
50349         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
50350         expansion does not end with a newline.
50351         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
50352         unnecessary newline.
50354 2010-06-03  Bruno Haible  <bruno@clisp.org>
50356         Reduce dependencies.
50357         * tests/test-quotearg.h: New file, extracted from
50358         tests/test-quotearg.c.
50359         * tests/test-quotearg-simple.c: New file, extracted from
50360         tests/test-quotearg.c.
50361         * tests/test-quotearg.c: Don't include <ctype.h>.
50362         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
50363         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
50364         use_quote_double_quotes, use_quotearg_colon): Moved to
50365         tests/test-quotearg.h.
50366         (results_g, flag_results, custom_quotes, custom_results): Moved
50367         to tests/test-quotearg-simple.c.
50368         (main): Moved the part that does not depend on gettext to
50369         tests/test-quotearg-simple.c. Return 77 if the test cannot be
50370         performed.
50371         * modules/quotearg-simple: New file.
50372         * modules/quotearg-simple-tests: New file.
50373         * modules/quotearg (Depends-on): Add quotearg-simple.
50374         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
50375         (Files): Add tests/test-quotearg.h.
50376         Reported by Paolo Bonzini.
50378 2010-06-03  Bruno Haible  <bruno@clisp.org>
50380         Reduce dependencies.
50381         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
50383 2010-06-03  Bruno Haible  <bruno@clisp.org>
50385         time: Undefine more broken macros.
50386         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
50387         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
50388         Reported by Eric Blake.
50390 2010-06-03  Bruno Haible  <bruno@clisp.org>
50392         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
50393         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
50394         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
50395         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
50396         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
50397         Reported by Ludovic Courtès <ludo@gnu.org>.
50399 2010-06-02  Eric Blake  <eblake@redhat.com>
50401         time: work with mingw + pthreads-win32 library
50402         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
50403         if timespec is defined only in pthread.h.
50404         * modules/time (Makefile.am): Substitute it.
50405         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
50406         <pthread.h>, when needed.
50407         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
50408         from the library.
50410 2010-05-31  Bruno Haible  <bruno@clisp.org>
50412         Avoid expanding two macros in the wrong order.
50413         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
50414         gl_LIBUNISTRING if it is defined.
50415         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
50416         autoconf >= 2.64.
50417         Reported by Ludovic Courtès <ludo@gnu.org>.
50419 2010-05-27  Jim Meyering  <meyering@redhat.com>
50421         maint.mk: also prohibit "#undef" of always-defined symbols
50422         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
50423         Allow more than one space before the symbol name.
50424         (sc_prohibit_always-defined_macros): Use grep's -E, now that
50425         the regexp uses alternation.
50427 2010-05-26  Eric Blake  <eblake@redhat.com>
50429         maint.mk: avoid echo -e
50430         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
50431         Convert all uses of echo -* to printf.
50432         Reported by Matthias Bolte.
50434 2010-05-25  Bruno Haible  <bruno@clisp.org>
50436         Update to GNU gettext 0.18, part 2.
50437         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
50438         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
50440 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50442         Add missing include in test-pwrite.c.
50443         * tests/test-pwrite.c: Include string.h, for strcmp.
50445 2010-05-24  Bruno Haible  <bruno@clisp.org>
50447         * NEWS: Mention requirement for Automake option 'subdir-objects'.
50449 2010-05-24  Bruno Haible  <bruno@clisp.org>
50451         Don't use conversion with transliteration in u{8,16,32}_strcoll.
50452         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
50453         iconveh_error argument.
50454         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
50455         U_STRCONV_TO_LOCALE.
50456         * lib/unistr/u16-strcoll.c: Likewise.
50457         * lib/unistr/u32-strcoll.c: Likewise.
50458         * modules/unistr/u8-strcoll (Depends-on): Add
50459         uniconv/u8-strconv-to-enc, localcharset. Remove
50460         uniconv/u8-strconv-to-locale.
50461         (configure.ac): Bump version number.
50462         * modules/unistr/u16-strcoll (Depends-on): Add
50463         uniconv/u16-strconv-to-enc, localcharset. Remove
50464         uniconv/u16-strconv-to-locale.
50465         (configure.ac): Bump version number.
50466         * modules/unistr/u32-strcoll (Depends-on): Add
50467         uniconv/u32-strconv-to-enc, localcharset. Remove
50468         uniconv/u32-strconv-to-locale.
50469         (configure.ac): Bump version number.
50471 2010-05-24  Bruno Haible  <bruno@clisp.org>
50473         Avoid a test failure on NetBSD 5.0.
50474         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
50475         an iconv() bug.
50477 2010-05-24  Bruno Haible  <bruno@clisp.org>
50479         Adjust #include directive style.
50480         * modules/regex (Includes): Recommend to write <regex.h>.
50482 2010-05-24  Bruno Haible  <bruno@clisp.org>
50484         regex: Don't require alloca.
50485         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
50486         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
50487         only inside if (0).
50489 2010-05-23  Jim Meyering  <meyering@redhat.com>
50491         test-renameat.c: include <sys/stat.h>
50492         * tests/test-renameat.c: Include <sys/stat.h>; required for
50493         definition of S_IS* macros.
50495 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
50497         Update maintainer documentation for 'relocatable-prog' module.
50498         * doc/relocatable-maint.texi: Update.
50499         Comments by Bruno Haible.
50501 2010-05-23  Bruno Haible  <bruno@clisp.org>
50503         git-merge-changelog: Enable --split-merged-entry by default.
50504         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
50505         (usage): Don't mention this option any more.
50506         Reported by Ralf Wildenhues.
50508 2010-05-23  Jim Meyering  <meyering@redhat.com>
50510         test-pwrite: do not leave behind a test file named "out"
50511         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
50512         The trivial-looking use of init.sh is really necessary.
50513         It ensures that the temporary file, "out", is created in
50514         a temporary directory, and removed upon termination.
50515         * tests/test-pwrite.sh: Re-add file.
50516         * modules/pwrite-tests: Reference it.
50518 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50520         Fix output redirection buglet in init.sh.
50521         * tests/init.sh: Fix redirection of stderr.
50523 2010-05-20  Simon Josefsson  <simon@josefsson.org>
50525         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
50527 2010-05-17  Simon Josefsson  <simon@josefsson.org>
50529         * modules/valgrind-tests: New file.
50530         * m4/valgrind-tests.m4: New file.
50531         * doc/valgrind-tests.texi: New file.
50532         * doc/gnulib.texi (Running self-tests under valgrind): New
50533         section.
50535 2010-05-19  Bruno Haible  <bruno@clisp.org>
50537         Clean up dead code in recent commit.
50538         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
50539         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
50540         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
50541         Suggested by Paolo Bonzini.
50543 2010-05-19  Bruno Haible  <bruno@clisp.org>
50545         Avoid valgrind error reports from libunistring.
50546         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
50547         * modules/libunistring (Files): Add it.
50548         * modules/libunistring-optional (Files): Likewise.
50550 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
50551             Bruno Haible  <bruno@clisp.org>
50553         New module 'libunistring-optional'.
50554         * modules/libunistring-optional: New file.
50555         * m4/libunistring-base.m4: New file.
50556         * m4/libunistring-optional.m4: New file.
50557         * lib/unicase.in.h: Renamed from lib/unicase.h.
50558         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
50559         * lib/unictype.in.h: Renamed from lib/unictype.h.
50560         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
50561         * lib/uniname.in.h: Renamed from lib/uniname.h.
50562         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
50563         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
50564         * lib/unistr.in.h: Renamed from lib/unistr.h.
50565         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
50566         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
50567         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
50568         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
50569         gl_LIBUNISTRING. If the library was found, determine the installed
50570         version and set LIBUNISTRING_VERSION.
50571         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
50572         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
50573         handle a configuration option --with-included-libunistring.
50574         * modules/libunistring (Files): Add m4/absolute-header.m4.
50575         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
50576         Add m4/libunistring-base.m4.
50577         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50578         (Makefile.am): Build unicase.h from unicase.in.h.
50579         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
50580         Add m4/libunistring-base.m4.
50581         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50582         (Makefile.am): Build uniconv.h from uniconv.in.h.
50583         * modules/unictype/base (Files): Use unictype.in.h instead of
50584         unictype.h. Add m4/libunistring-base.m4.
50585         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50586         (Makefile.am): Build unictype.h from unictype.in.h.
50587         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
50588         Add m4/libunistring-base.m4.
50589         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50590         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
50591         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
50592         Add m4/libunistring-base.m4.
50593         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50594         (Makefile.am): Build uniname.h from uniname.in.h.
50595         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
50596         Add m4/libunistring-base.m4.
50597         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50598         (Makefile.am): Build uninorm.h from uninorm.in.h.
50599         * modules/unistdio/base (Files): Use unistdio.in.h instead of
50600         unistdio.h. Add m4/libunistring-base.m4.
50601         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50602         (Makefile.am): Build unistdio.h from unistdio.in.h.
50603         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
50604         Add m4/libunistring-base.m4.
50605         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50606         (Makefile.am): Build unistr.h from unistr.in.h.
50607         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
50608         Add m4/libunistring-base.m4.
50609         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50610         (Makefile.am): Build unitypes.h from unitypes.in.h.
50611         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
50612         Add m4/libunistring-base.m4.
50613         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50614         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
50615         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
50616         uniwidth.h. Add m4/libunistring-base.m4.
50617         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50618         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
50619         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
50620         instead of augmenting lib_SOURCES.
50621         * modules/unicase/empty-suffix-context: Likewise.
50622         * modules/unicase/locale-language: Likewise.
50623         * modules/unicase/tolower: Likewise.
50624         * modules/unicase/totitle: Likewise.
50625         * modules/unicase/toupper: Likewise.
50626         * modules/unicase/u8-casecmp: Likewise.
50627         * modules/unicase/u8-casecoll: Likewise.
50628         * modules/unicase/u8-casefold: Likewise.
50629         * modules/unicase/u8-casexfrm: Likewise.
50630         * modules/unicase/u8-ct-casefold: Likewise.
50631         * modules/unicase/u8-ct-tolower: Likewise.
50632         * modules/unicase/u8-ct-totitle: Likewise.
50633         * modules/unicase/u8-ct-toupper: Likewise.
50634         * modules/unicase/u8-is-cased: Likewise.
50635         * modules/unicase/u8-is-casefolded: Likewise.
50636         * modules/unicase/u8-is-lowercase: Likewise.
50637         * modules/unicase/u8-is-titlecase: Likewise.
50638         * modules/unicase/u8-is-uppercase: Likewise.
50639         * modules/unicase/u8-prefix-context: Likewise.
50640         * modules/unicase/u8-suffix-context: Likewise.
50641         * modules/unicase/u8-tolower: Likewise.
50642         * modules/unicase/u8-totitle: Likewise.
50643         * modules/unicase/u8-toupper: Likewise.
50644         * modules/unicase/u16-casecmp: Likewise.
50645         * modules/unicase/u16-casecoll: Likewise.
50646         * modules/unicase/u16-casefold: Likewise.
50647         * modules/unicase/u16-casexfrm: Likewise.
50648         * modules/unicase/u16-ct-casefold: Likewise.
50649         * modules/unicase/u16-ct-tolower: Likewise.
50650         * modules/unicase/u16-ct-totitle: Likewise.
50651         * modules/unicase/u16-ct-toupper: Likewise.
50652         * modules/unicase/u16-is-cased: Likewise.
50653         * modules/unicase/u16-is-casefolded: Likewise.
50654         * modules/unicase/u16-is-lowercase: Likewise.
50655         * modules/unicase/u16-is-titlecase: Likewise.
50656         * modules/unicase/u16-is-uppercase: Likewise.
50657         * modules/unicase/u16-prefix-context: Likewise.
50658         * modules/unicase/u16-suffix-context: Likewise.
50659         * modules/unicase/u16-tolower: Likewise.
50660         * modules/unicase/u16-totitle: Likewise.
50661         * modules/unicase/u16-toupper: Likewise.
50662         * modules/unicase/u32-casecmp: Likewise.
50663         * modules/unicase/u32-casecoll: Likewise.
50664         * modules/unicase/u32-casefold: Likewise.
50665         * modules/unicase/u32-casexfrm: Likewise.
50666         * modules/unicase/u32-ct-casefold: Likewise.
50667         * modules/unicase/u32-ct-tolower: Likewise.
50668         * modules/unicase/u32-ct-totitle: Likewise.
50669         * modules/unicase/u32-ct-toupper: Likewise.
50670         * modules/unicase/u32-is-cased: Likewise.
50671         * modules/unicase/u32-is-casefolded: Likewise.
50672         * modules/unicase/u32-is-lowercase: Likewise.
50673         * modules/unicase/u32-is-titlecase: Likewise.
50674         * modules/unicase/u32-is-uppercase: Likewise.
50675         * modules/unicase/u32-prefix-context: Likewise.
50676         * modules/unicase/u32-suffix-context: Likewise.
50677         * modules/unicase/u32-tolower: Likewise.
50678         * modules/unicase/u32-totitle: Likewise.
50679         * modules/unicase/u32-toupper: Likewise.
50680         * modules/unicase/ulc-casecmp: Likewise.
50681         * modules/unicase/ulc-casecoll: Likewise.
50682         * modules/unicase/ulc-casexfrm: Likewise.
50683         * modules/uniconv/u8-conv-from-enc: Likewise.
50684         * modules/uniconv/u8-conv-to-enc: Likewise.
50685         * modules/uniconv/u8-strconv-from-enc: Likewise.
50686         * modules/uniconv/u8-strconv-from-locale: Likewise.
50687         * modules/uniconv/u8-strconv-to-enc: Likewise.
50688         * modules/uniconv/u8-strconv-to-locale: Likewise.
50689         * modules/uniconv/u16-conv-from-enc: Likewise.
50690         * modules/uniconv/u16-conv-to-enc: Likewise.
50691         * modules/uniconv/u16-strconv-from-enc: Likewise.
50692         * modules/uniconv/u16-strconv-from-locale: Likewise.
50693         * modules/uniconv/u16-strconv-to-enc: Likewise.
50694         * modules/uniconv/u16-strconv-to-locale: Likewise.
50695         * modules/uniconv/u32-conv-from-enc: Likewise.
50696         * modules/uniconv/u32-conv-to-enc: Likewise.
50697         * modules/uniconv/u32-strconv-from-enc: Likewise.
50698         * modules/uniconv/u32-strconv-from-locale: Likewise.
50699         * modules/uniconv/u32-strconv-to-enc: Likewise.
50700         * modules/uniconv/u32-strconv-to-locale: Likewise.
50701         * modules/unictype/bidicategory-byname: Likewise.
50702         * modules/unictype/bidicategory-name: Likewise.
50703         * modules/unictype/bidicategory-of: Likewise.
50704         * modules/unictype/bidicategory-test: Likewise.
50705         * modules/unictype/block-list: Likewise.
50706         * modules/unictype/block-test: Likewise.
50707         * modules/unictype/category-C: Likewise.
50708         * modules/unictype/category-Cc: Likewise.
50709         * modules/unictype/category-Cf: Likewise.
50710         * modules/unictype/category-Cn: Likewise.
50711         * modules/unictype/category-Co: Likewise.
50712         * modules/unictype/category-Cs: Likewise.
50713         * modules/unictype/category-L: Likewise.
50714         * modules/unictype/category-Ll: Likewise.
50715         * modules/unictype/category-Lm: Likewise.
50716         * modules/unictype/category-Lo: Likewise.
50717         * modules/unictype/category-Lt: Likewise.
50718         * modules/unictype/category-Lu: Likewise.
50719         * modules/unictype/category-M: Likewise.
50720         * modules/unictype/category-Mc: Likewise.
50721         * modules/unictype/category-Me: Likewise.
50722         * modules/unictype/category-Mn: Likewise.
50723         * modules/unictype/category-N: Likewise.
50724         * modules/unictype/category-Nd: Likewise.
50725         * modules/unictype/category-Nl: Likewise.
50726         * modules/unictype/category-No: Likewise.
50727         * modules/unictype/category-P: Likewise.
50728         * modules/unictype/category-Pc: Likewise.
50729         * modules/unictype/category-Pd: Likewise.
50730         * modules/unictype/category-Pe: Likewise.
50731         * modules/unictype/category-Pf: Likewise.
50732         * modules/unictype/category-Pi: Likewise.
50733         * modules/unictype/category-Po: Likewise.
50734         * modules/unictype/category-Ps: Likewise.
50735         * modules/unictype/category-S: Likewise.
50736         * modules/unictype/category-Sc: Likewise.
50737         * modules/unictype/category-Sk: Likewise.
50738         * modules/unictype/category-Sm: Likewise.
50739         * modules/unictype/category-So: Likewise.
50740         * modules/unictype/category-Z: Likewise.
50741         * modules/unictype/category-Zl: Likewise.
50742         * modules/unictype/category-Zp: Likewise.
50743         * modules/unictype/category-Zs: Likewise.
50744         * modules/unictype/category-and: Likewise.
50745         * modules/unictype/category-and-not: Likewise.
50746         * modules/unictype/category-byname: Likewise.
50747         * modules/unictype/category-name: Likewise.
50748         * modules/unictype/category-none: Likewise.
50749         * modules/unictype/category-of: Likewise.
50750         * modules/unictype/category-or: Likewise.
50751         * modules/unictype/category-test: Likewise.
50752         * modules/unictype/combining-class: Likewise.
50753         * modules/unictype/ctype-alnum: Likewise.
50754         * modules/unictype/ctype-alpha: Likewise.
50755         * modules/unictype/ctype-blank: Likewise.
50756         * modules/unictype/ctype-cntrl: Likewise.
50757         * modules/unictype/ctype-digit: Likewise.
50758         * modules/unictype/ctype-graph: Likewise.
50759         * modules/unictype/ctype-lower: Likewise.
50760         * modules/unictype/ctype-print: Likewise.
50761         * modules/unictype/ctype-punct: Likewise.
50762         * modules/unictype/ctype-space: Likewise.
50763         * modules/unictype/ctype-upper: Likewise.
50764         * modules/unictype/ctype-xdigit: Likewise.
50765         * modules/unictype/decimal-digit: Likewise.
50766         * modules/unictype/digit: Likewise.
50767         * modules/unictype/mirror: Likewise.
50768         * modules/unictype/numeric: Likewise.
50769         * modules/unictype/property-alphabetic: Likewise.
50770         * modules/unictype/property-ascii-hex-digit: Likewise.
50771         * modules/unictype/property-bidi-arabic-digit: Likewise.
50772         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
50773         * modules/unictype/property-bidi-block-separator: Likewise.
50774         * modules/unictype/property-bidi-boundary-neutral: Likewise.
50775         * modules/unictype/property-bidi-common-separator: Likewise.
50776         * modules/unictype/property-bidi-control: Likewise.
50777         * modules/unictype/property-bidi-embedding-or-override: Likewise.
50778         * modules/unictype/property-bidi-eur-num-separator: Likewise.
50779         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
50780         * modules/unictype/property-bidi-european-digit: Likewise.
50781         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
50782         * modules/unictype/property-bidi-left-to-right: Likewise.
50783         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
50784         * modules/unictype/property-bidi-other-neutral: Likewise.
50785         * modules/unictype/property-bidi-pdf: Likewise.
50786         * modules/unictype/property-bidi-segment-separator: Likewise.
50787         * modules/unictype/property-bidi-whitespace: Likewise.
50788         * modules/unictype/property-byname: Likewise.
50789         * modules/unictype/property-combining: Likewise.
50790         * modules/unictype/property-composite: Likewise.
50791         * modules/unictype/property-currency-symbol: Likewise.
50792         * modules/unictype/property-dash: Likewise.
50793         * modules/unictype/property-decimal-digit: Likewise.
50794         * modules/unictype/property-default-ignorable-code-point: Likewise.
50795         * modules/unictype/property-deprecated: Likewise.
50796         * modules/unictype/property-diacritic: Likewise.
50797         * modules/unictype/property-extender: Likewise.
50798         * modules/unictype/property-format-control: Likewise.
50799         * modules/unictype/property-grapheme-base: Likewise.
50800         * modules/unictype/property-grapheme-extend: Likewise.
50801         * modules/unictype/property-grapheme-link: Likewise.
50802         * modules/unictype/property-hex-digit: Likewise.
50803         * modules/unictype/property-hyphen: Likewise.
50804         * modules/unictype/property-id-continue: Likewise.
50805         * modules/unictype/property-id-start: Likewise.
50806         * modules/unictype/property-ideographic: Likewise.
50807         * modules/unictype/property-ids-binary-operator: Likewise.
50808         * modules/unictype/property-ids-trinary-operator: Likewise.
50809         * modules/unictype/property-ignorable-control: Likewise.
50810         * modules/unictype/property-iso-control: Likewise.
50811         * modules/unictype/property-join-control: Likewise.
50812         * modules/unictype/property-left-of-pair: Likewise.
50813         * modules/unictype/property-line-separator: Likewise.
50814         * modules/unictype/property-logical-order-exception: Likewise.
50815         * modules/unictype/property-lowercase: Likewise.
50816         * modules/unictype/property-math: Likewise.
50817         * modules/unictype/property-non-break: Likewise.
50818         * modules/unictype/property-not-a-character: Likewise.
50819         * modules/unictype/property-numeric: Likewise.
50820         * modules/unictype/property-other-alphabetic: Likewise.
50821         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
50822         * modules/unictype/property-other-grapheme-extend: Likewise.
50823         * modules/unictype/property-other-id-continue: Likewise.
50824         * modules/unictype/property-other-id-start: Likewise.
50825         * modules/unictype/property-other-lowercase: Likewise.
50826         * modules/unictype/property-other-math: Likewise.
50827         * modules/unictype/property-other-uppercase: Likewise.
50828         * modules/unictype/property-paired-punctuation: Likewise.
50829         * modules/unictype/property-paragraph-separator: Likewise.
50830         * modules/unictype/property-pattern-syntax: Likewise.
50831         * modules/unictype/property-pattern-white-space: Likewise.
50832         * modules/unictype/property-private-use: Likewise.
50833         * modules/unictype/property-punctuation: Likewise.
50834         * modules/unictype/property-quotation-mark: Likewise.
50835         * modules/unictype/property-radical: Likewise.
50836         * modules/unictype/property-sentence-terminal: Likewise.
50837         * modules/unictype/property-soft-dotted: Likewise.
50838         * modules/unictype/property-space: Likewise.
50839         * modules/unictype/property-terminal-punctuation: Likewise.
50840         * modules/unictype/property-test: Likewise.
50841         * modules/unictype/property-titlecase: Likewise.
50842         * modules/unictype/property-unassigned-code-value: Likewise.
50843         * modules/unictype/property-unified-ideograph: Likewise.
50844         * modules/unictype/property-uppercase: Likewise.
50845         * modules/unictype/property-variation-selector: Likewise.
50846         * modules/unictype/property-white-space: Likewise.
50847         * modules/unictype/property-xid-continue: Likewise.
50848         * modules/unictype/property-xid-start: Likewise.
50849         * modules/unictype/property-zero-width: Likewise.
50850         * modules/unictype/scripts: Likewise.
50851         * modules/unictype/syntax-c-ident: Likewise.
50852         * modules/unictype/syntax-c-whitespace: Likewise.
50853         * modules/unictype/syntax-java-ident: Likewise.
50854         * modules/unictype/syntax-java-whitespace: Likewise.
50855         * modules/unilbrk/u8-possible-linebreaks: Likewise.
50856         * modules/unilbrk/u8-width-linebreaks: Likewise.
50857         * modules/unilbrk/u16-possible-linebreaks: Likewise.
50858         * modules/unilbrk/u16-width-linebreaks: Likewise.
50859         * modules/unilbrk/u32-possible-linebreaks: Likewise.
50860         * modules/unilbrk/u32-width-linebreaks: Likewise.
50861         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
50862         * modules/unilbrk/ulc-width-linebreaks: Likewise.
50863         * modules/uniname/uniname: Likewise.
50864         * modules/uninorm/canonical-decomposition: Likewise.
50865         * modules/uninorm/composition: Likewise.
50866         * modules/uninorm/decomposing-form: Likewise.
50867         * modules/uninorm/decomposition: Likewise.
50868         * modules/uninorm/filter: Likewise.
50869         * modules/uninorm/nfc: Likewise.
50870         * modules/uninorm/nfd: Likewise.
50871         * modules/uninorm/nfkc: Likewise.
50872         * modules/uninorm/nfkd: Likewise.
50873         * modules/uninorm/u8-normalize: Likewise.
50874         * modules/uninorm/u8-normcmp: Likewise.
50875         * modules/uninorm/u8-normcoll: Likewise.
50876         * modules/uninorm/u8-normxfrm: Likewise.
50877         * modules/uninorm/u16-normalize: Likewise.
50878         * modules/uninorm/u16-normcmp: Likewise.
50879         * modules/uninorm/u16-normcoll: Likewise.
50880         * modules/uninorm/u16-normxfrm: Likewise.
50881         * modules/uninorm/u32-normalize: Likewise.
50882         * modules/uninorm/u32-normcmp: Likewise.
50883         * modules/uninorm/u32-normcoll: Likewise.
50884         * modules/uninorm/u32-normxfrm: Likewise.
50885         * modules/unistdio/u8-asnprintf: Likewise.
50886         * modules/unistdio/u8-asprintf: Likewise.
50887         * modules/unistdio/u8-snprintf: Likewise.
50888         * modules/unistdio/u8-sprintf: Likewise.
50889         * modules/unistdio/u8-u8-asnprintf: Likewise.
50890         * modules/unistdio/u8-u8-asprintf: Likewise.
50891         * modules/unistdio/u8-u8-snprintf: Likewise.
50892         * modules/unistdio/u8-u8-sprintf: Likewise.
50893         * modules/unistdio/u8-u8-vasnprintf: Likewise.
50894         * modules/unistdio/u8-u8-vasprintf: Likewise.
50895         * modules/unistdio/u8-u8-vsnprintf: Likewise.
50896         * modules/unistdio/u8-u8-vsprintf: Likewise.
50897         * modules/unistdio/u8-vasnprintf: Likewise.
50898         * modules/unistdio/u8-vasprintf: Likewise.
50899         * modules/unistdio/u8-vsnprintf: Likewise.
50900         * modules/unistdio/u8-vsprintf: Likewise.
50901         * modules/unistdio/u16-asnprintf: Likewise.
50902         * modules/unistdio/u16-asprintf: Likewise.
50903         * modules/unistdio/u16-snprintf: Likewise.
50904         * modules/unistdio/u16-sprintf: Likewise.
50905         * modules/unistdio/u16-u16-asnprintf: Likewise.
50906         * modules/unistdio/u16-u16-asprintf: Likewise.
50907         * modules/unistdio/u16-u16-snprintf: Likewise.
50908         * modules/unistdio/u16-u16-sprintf: Likewise.
50909         * modules/unistdio/u16-u16-vasnprintf: Likewise.
50910         * modules/unistdio/u16-u16-vasprintf: Likewise.
50911         * modules/unistdio/u16-u16-vsnprintf: Likewise.
50912         * modules/unistdio/u16-u16-vsprintf: Likewise.
50913         * modules/unistdio/u16-vasnprintf: Likewise.
50914         * modules/unistdio/u16-vasprintf: Likewise.
50915         * modules/unistdio/u16-vsnprintf: Likewise.
50916         * modules/unistdio/u16-vsprintf: Likewise.
50917         * modules/unistdio/u32-asnprintf: Likewise.
50918         * modules/unistdio/u32-asprintf: Likewise.
50919         * modules/unistdio/u32-snprintf: Likewise.
50920         * modules/unistdio/u32-sprintf: Likewise.
50921         * modules/unistdio/u32-u32-asnprintf: Likewise.
50922         * modules/unistdio/u32-u32-asprintf: Likewise.
50923         * modules/unistdio/u32-u32-snprintf: Likewise.
50924         * modules/unistdio/u32-u32-sprintf: Likewise.
50925         * modules/unistdio/u32-u32-vasnprintf: Likewise.
50926         * modules/unistdio/u32-u32-vasprintf: Likewise.
50927         * modules/unistdio/u32-u32-vsnprintf: Likewise.
50928         * modules/unistdio/u32-u32-vsprintf: Likewise.
50929         * modules/unistdio/u32-vasnprintf: Likewise.
50930         * modules/unistdio/u32-vasprintf: Likewise.
50931         * modules/unistdio/u32-vsnprintf: Likewise.
50932         * modules/unistdio/u32-vsprintf: Likewise.
50933         * modules/unistdio/ulc-asnprintf: Likewise.
50934         * modules/unistdio/ulc-asprintf: Likewise.
50935         * modules/unistdio/ulc-fprintf: Likewise.
50936         * modules/unistdio/ulc-snprintf: Likewise.
50937         * modules/unistdio/ulc-sprintf: Likewise.
50938         * modules/unistdio/ulc-vasnprintf: Likewise.
50939         * modules/unistdio/ulc-vasprintf: Likewise.
50940         * modules/unistdio/ulc-vfprintf: Likewise.
50941         * modules/unistdio/ulc-vsnprintf: Likewise.
50942         * modules/unistdio/ulc-vsprintf: Likewise.
50943         * modules/unistr/u8-check: Likewise.
50944         * modules/unistr/u8-chr: Likewise.
50945         * modules/unistr/u8-cmp: Likewise.
50946         * modules/unistr/u8-cmp2: Likewise.
50947         * modules/unistr/u8-cpy: Likewise.
50948         * modules/unistr/u8-cpy-alloc: Likewise.
50949         * modules/unistr/u8-endswith: Likewise.
50950         * modules/unistr/u8-mblen: Likewise.
50951         * modules/unistr/u8-mbsnlen: Likewise.
50952         * modules/unistr/u8-mbtouc: Likewise.
50953         * modules/unistr/u8-mbtouc-unsafe: Likewise.
50954         * modules/unistr/u8-mbtoucr: Likewise.
50955         * modules/unistr/u8-move: Likewise.
50956         * modules/unistr/u8-next: Likewise.
50957         * modules/unistr/u8-prev: Likewise.
50958         * modules/unistr/u8-set: Likewise.
50959         * modules/unistr/u8-startswith: Likewise.
50960         * modules/unistr/u8-stpcpy: Likewise.
50961         * modules/unistr/u8-stpncpy: Likewise.
50962         * modules/unistr/u8-strcat: Likewise.
50963         * modules/unistr/u8-strchr: Likewise.
50964         * modules/unistr/u8-strcmp: Likewise.
50965         * modules/unistr/u8-strcoll: Likewise.
50966         * modules/unistr/u8-strcpy: Likewise.
50967         * modules/unistr/u8-strcspn: Likewise.
50968         * modules/unistr/u8-strdup: Likewise.
50969         * modules/unistr/u8-strlen: Likewise.
50970         * modules/unistr/u8-strmblen: Likewise.
50971         * modules/unistr/u8-strmbtouc: Likewise.
50972         * modules/unistr/u8-strncat: Likewise.
50973         * modules/unistr/u8-strncmp: Likewise.
50974         * modules/unistr/u8-strncpy: Likewise.
50975         * modules/unistr/u8-strnlen: Likewise.
50976         * modules/unistr/u8-strpbrk: Likewise.
50977         * modules/unistr/u8-strrchr: Likewise.
50978         * modules/unistr/u8-strspn: Likewise.
50979         * modules/unistr/u8-strstr: Likewise.
50980         * modules/unistr/u8-strtok: Likewise.
50981         * modules/unistr/u8-to-u16: Likewise.
50982         * modules/unistr/u8-to-u32: Likewise.
50983         * modules/unistr/u8-uctomb: Likewise.
50984         * modules/unistr/u16-check: Likewise.
50985         * modules/unistr/u16-chr: Likewise.
50986         * modules/unistr/u16-cmp: Likewise.
50987         * modules/unistr/u16-cmp2: Likewise.
50988         * modules/unistr/u16-cpy: Likewise.
50989         * modules/unistr/u16-cpy-alloc: Likewise.
50990         * modules/unistr/u16-endswith: Likewise.
50991         * modules/unistr/u16-mblen: Likewise.
50992         * modules/unistr/u16-mbsnlen: Likewise.
50993         * modules/unistr/u16-mbtouc: Likewise.
50994         * modules/unistr/u16-mbtouc-unsafe: Likewise.
50995         * modules/unistr/u16-mbtoucr: Likewise.
50996         * modules/unistr/u16-move: Likewise.
50997         * modules/unistr/u16-next: Likewise.
50998         * modules/unistr/u16-prev: Likewise.
50999         * modules/unistr/u16-set: Likewise.
51000         * modules/unistr/u16-startswith: Likewise.
51001         * modules/unistr/u16-stpcpy: Likewise.
51002         * modules/unistr/u16-stpncpy: Likewise.
51003         * modules/unistr/u16-strcat: Likewise.
51004         * modules/unistr/u16-strchr: Likewise.
51005         * modules/unistr/u16-strcmp: Likewise.
51006         * modules/unistr/u16-strcoll: Likewise.
51007         * modules/unistr/u16-strcpy: Likewise.
51008         * modules/unistr/u16-strcspn: Likewise.
51009         * modules/unistr/u16-strdup: Likewise.
51010         * modules/unistr/u16-strlen: Likewise.
51011         * modules/unistr/u16-strmblen: Likewise.
51012         * modules/unistr/u16-strmbtouc: Likewise.
51013         * modules/unistr/u16-strncat: Likewise.
51014         * modules/unistr/u16-strncmp: Likewise.
51015         * modules/unistr/u16-strncpy: Likewise.
51016         * modules/unistr/u16-strnlen: Likewise.
51017         * modules/unistr/u16-strpbrk: Likewise.
51018         * modules/unistr/u16-strrchr: Likewise.
51019         * modules/unistr/u16-strspn: Likewise.
51020         * modules/unistr/u16-strstr: Likewise.
51021         * modules/unistr/u16-strtok: Likewise.
51022         * modules/unistr/u16-to-u32: Likewise.
51023         * modules/unistr/u16-to-u8: Likewise.
51024         * modules/unistr/u16-uctomb: Likewise.
51025         * modules/unistr/u32-check: Likewise.
51026         * modules/unistr/u32-chr: Likewise.
51027         * modules/unistr/u32-cmp: Likewise.
51028         * modules/unistr/u32-cmp2: Likewise.
51029         * modules/unistr/u32-cpy: Likewise.
51030         * modules/unistr/u32-cpy-alloc: Likewise.
51031         * modules/unistr/u32-endswith: Likewise.
51032         * modules/unistr/u32-mblen: Likewise.
51033         * modules/unistr/u32-mbsnlen: Likewise.
51034         * modules/unistr/u32-mbtouc: Likewise.
51035         * modules/unistr/u32-mbtouc-unsafe: Likewise.
51036         * modules/unistr/u32-mbtoucr: Likewise.
51037         * modules/unistr/u32-move: Likewise.
51038         * modules/unistr/u32-next: Likewise.
51039         * modules/unistr/u32-prev: Likewise.
51040         * modules/unistr/u32-set: Likewise.
51041         * modules/unistr/u32-startswith: Likewise.
51042         * modules/unistr/u32-stpcpy: Likewise.
51043         * modules/unistr/u32-stpncpy: Likewise.
51044         * modules/unistr/u32-strcat: Likewise.
51045         * modules/unistr/u32-strchr: Likewise.
51046         * modules/unistr/u32-strcmp: Likewise.
51047         * modules/unistr/u32-strcoll: Likewise.
51048         * modules/unistr/u32-strcpy: Likewise.
51049         * modules/unistr/u32-strcspn: Likewise.
51050         * modules/unistr/u32-strdup: Likewise.
51051         * modules/unistr/u32-strlen: Likewise.
51052         * modules/unistr/u32-strmblen: Likewise.
51053         * modules/unistr/u32-strmbtouc: Likewise.
51054         * modules/unistr/u32-strncat: Likewise.
51055         * modules/unistr/u32-strncmp: Likewise.
51056         * modules/unistr/u32-strncpy: Likewise.
51057         * modules/unistr/u32-strnlen: Likewise.
51058         * modules/unistr/u32-strpbrk: Likewise.
51059         * modules/unistr/u32-strrchr: Likewise.
51060         * modules/unistr/u32-strspn: Likewise.
51061         * modules/unistr/u32-strstr: Likewise.
51062         * modules/unistr/u32-strtok: Likewise.
51063         * modules/unistr/u32-to-u16: Likewise.
51064         * modules/unistr/u32-to-u8: Likewise.
51065         * modules/unistr/u32-uctomb: Likewise.
51066         * modules/uniwbrk/u8-wordbreaks: Likewise.
51067         * modules/uniwbrk/u16-wordbreaks: Likewise.
51068         * modules/uniwbrk/u32-wordbreaks: Likewise.
51069         * modules/uniwbrk/ulc-wordbreaks: Likewise.
51070         * modules/uniwbrk/wordbreak-property: Likewise.
51071         * modules/uniwidth/u8-strwidth: Likewise.
51072         * modules/uniwidth/u8-width: Likewise.
51073         * modules/uniwidth/u16-strwidth: Likewise.
51074         * modules/uniwidth/u16-width: Likewise.
51075         * modules/uniwidth/u32-strwidth: Likewise.
51076         * modules/uniwidth/u32-width: Likewise.
51077         * modules/uniwidth/width: Likewise.
51078         * modules/unicase/cased-tests (Makefile.am): Link all test programs
51079         with $(LIBUNISTRING).
51080         * modules/unicase/ignorable-tests: Likewise.
51081         * modules/unicase/locale-language-tests: Likewise.
51082         * modules/unicase/tolower-tests: Likewise.
51083         * modules/unicase/totitle-tests: Likewise.
51084         * modules/unicase/toupper-tests: Likewise.
51085         * modules/unicase/u8-casecmp-tests: Likewise.
51086         * modules/unicase/u8-casecoll-tests: Likewise.
51087         * modules/unicase/u8-casefold-tests: Likewise.
51088         * modules/unicase/u8-is-cased-tests: Likewise.
51089         * modules/unicase/u8-is-casefolded-tests: Likewise.
51090         * modules/unicase/u8-is-lowercase-tests: Likewise.
51091         * modules/unicase/u8-is-titlecase-tests: Likewise.
51092         * modules/unicase/u8-is-uppercase-tests: Likewise.
51093         * modules/unicase/u8-tolower-tests: Likewise.
51094         * modules/unicase/u8-totitle-tests: Likewise.
51095         * modules/unicase/u8-toupper-tests: Likewise.
51096         * modules/unicase/u16-casecmp-tests: Likewise.
51097         * modules/unicase/u16-casecoll-tests: Likewise.
51098         * modules/unicase/u16-casefold-tests: Likewise.
51099         * modules/unicase/u16-is-cased-tests: Likewise.
51100         * modules/unicase/u16-is-casefolded-tests: Likewise.
51101         * modules/unicase/u16-is-lowercase-tests: Likewise.
51102         * modules/unicase/u16-is-titlecase-tests: Likewise.
51103         * modules/unicase/u16-is-uppercase-tests: Likewise.
51104         * modules/unicase/u16-tolower-tests: Likewise.
51105         * modules/unicase/u16-totitle-tests: Likewise.
51106         * modules/unicase/u16-toupper-tests: Likewise.
51107         * modules/unicase/u32-casecmp-tests: Likewise.
51108         * modules/unicase/u32-casecoll-tests: Likewise.
51109         * modules/unicase/u32-casefold-tests: Likewise.
51110         * modules/unicase/u32-is-cased-tests: Likewise.
51111         * modules/unicase/u32-is-casefolded-tests: Likewise.
51112         * modules/unicase/u32-is-lowercase-tests: Likewise.
51113         * modules/unicase/u32-is-titlecase-tests: Likewise.
51114         * modules/unicase/u32-is-uppercase-tests: Likewise.
51115         * modules/unicase/u32-tolower-tests: Likewise.
51116         * modules/unicase/u32-totitle-tests: Likewise.
51117         * modules/unicase/u32-toupper-tests: Likewise.
51118         * modules/unicase/ulc-casecmp-tests: Likewise.
51119         * modules/unicase/ulc-casecoll-tests: Likewise.
51120         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
51121         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
51122         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
51123         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
51124         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
51125         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
51126         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
51127         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
51128         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
51129         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
51130         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
51131         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
51132         * modules/unictype/bidicategory-byname-tests: Likewise.
51133         * modules/unictype/bidicategory-name-tests: Likewise.
51134         * modules/unictype/bidicategory-of-tests: Likewise.
51135         * modules/unictype/bidicategory-test-tests: Likewise.
51136         * modules/unictype/block-list-tests: Likewise.
51137         * modules/unictype/block-of-tests: Likewise.
51138         * modules/unictype/block-test-tests: Likewise.
51139         * modules/unictype/category-C-tests: Likewise.
51140         * modules/unictype/category-Cc-tests: Likewise.
51141         * modules/unictype/category-Cf-tests: Likewise.
51142         * modules/unictype/category-Cn-tests: Likewise.
51143         * modules/unictype/category-Co-tests: Likewise.
51144         * modules/unictype/category-Cs-tests: Likewise.
51145         * modules/unictype/category-L-tests: Likewise.
51146         * modules/unictype/category-Ll-tests: Likewise.
51147         * modules/unictype/category-Lm-tests: Likewise.
51148         * modules/unictype/category-Lo-tests: Likewise.
51149         * modules/unictype/category-Lt-tests: Likewise.
51150         * modules/unictype/category-Lu-tests: Likewise.
51151         * modules/unictype/category-M-tests: Likewise.
51152         * modules/unictype/category-Mc-tests: Likewise.
51153         * modules/unictype/category-Me-tests: Likewise.
51154         * modules/unictype/category-Mn-tests: Likewise.
51155         * modules/unictype/category-N-tests: Likewise.
51156         * modules/unictype/category-Nd-tests: Likewise.
51157         * modules/unictype/category-Nl-tests: Likewise.
51158         * modules/unictype/category-No-tests: Likewise.
51159         * modules/unictype/category-P-tests: Likewise.
51160         * modules/unictype/category-Pc-tests: Likewise.
51161         * modules/unictype/category-Pd-tests: Likewise.
51162         * modules/unictype/category-Pe-tests: Likewise.
51163         * modules/unictype/category-Pf-tests: Likewise.
51164         * modules/unictype/category-Pi-tests: Likewise.
51165         * modules/unictype/category-Po-tests: Likewise.
51166         * modules/unictype/category-Ps-tests: Likewise.
51167         * modules/unictype/category-S-tests: Likewise.
51168         * modules/unictype/category-Sc-tests: Likewise.
51169         * modules/unictype/category-Sk-tests: Likewise.
51170         * modules/unictype/category-Sm-tests: Likewise.
51171         * modules/unictype/category-So-tests: Likewise.
51172         * modules/unictype/category-Z-tests: Likewise.
51173         * modules/unictype/category-Zl-tests: Likewise.
51174         * modules/unictype/category-Zp-tests: Likewise.
51175         * modules/unictype/category-Zs-tests: Likewise.
51176         * modules/unictype/category-and-not-tests: Likewise.
51177         * modules/unictype/category-and-tests: Likewise.
51178         * modules/unictype/category-byname-tests: Likewise.
51179         * modules/unictype/category-name-tests: Likewise.
51180         * modules/unictype/category-none-tests: Likewise.
51181         * modules/unictype/category-of-tests: Likewise.
51182         * modules/unictype/category-or-tests: Likewise.
51183         * modules/unictype/category-test-withtable-tests: Likewise.
51184         * modules/unictype/combining-class-tests: Likewise.
51185         * modules/unictype/ctype-alnum-tests: Likewise.
51186         * modules/unictype/ctype-alpha-tests: Likewise.
51187         * modules/unictype/ctype-blank-tests: Likewise.
51188         * modules/unictype/ctype-cntrl-tests: Likewise.
51189         * modules/unictype/ctype-digit-tests: Likewise.
51190         * modules/unictype/ctype-graph-tests: Likewise.
51191         * modules/unictype/ctype-lower-tests: Likewise.
51192         * modules/unictype/ctype-print-tests: Likewise.
51193         * modules/unictype/ctype-punct-tests: Likewise.
51194         * modules/unictype/ctype-space-tests: Likewise.
51195         * modules/unictype/ctype-upper-tests: Likewise.
51196         * modules/unictype/ctype-xdigit-tests: Likewise.
51197         * modules/unictype/decimal-digit-tests: Likewise.
51198         * modules/unictype/digit-tests: Likewise.
51199         * modules/unictype/mirror-tests: Likewise.
51200         * modules/unictype/numeric-tests: Likewise.
51201         * modules/unictype/property-alphabetic-tests: Likewise.
51202         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
51203         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
51204         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
51205         * modules/unictype/property-bidi-block-separator-tests: Likewise.
51206         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
51207         * modules/unictype/property-bidi-common-separator-tests: Likewise.
51208         * modules/unictype/property-bidi-control-tests: Likewise.
51209         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
51210         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
51211         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
51212         * modules/unictype/property-bidi-european-digit-tests: Likewise.
51213         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
51214         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
51215         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
51216         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
51217         * modules/unictype/property-bidi-pdf-tests: Likewise.
51218         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
51219         * modules/unictype/property-bidi-whitespace-tests: Likewise.
51220         * modules/unictype/property-byname-tests: Likewise.
51221         * modules/unictype/property-combining-tests: Likewise.
51222         * modules/unictype/property-composite-tests: Likewise.
51223         * modules/unictype/property-currency-symbol-tests: Likewise.
51224         * modules/unictype/property-dash-tests: Likewise.
51225         * modules/unictype/property-decimal-digit-tests: Likewise.
51226         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
51227         * modules/unictype/property-deprecated-tests: Likewise.
51228         * modules/unictype/property-diacritic-tests: Likewise.
51229         * modules/unictype/property-extender-tests: Likewise.
51230         * modules/unictype/property-format-control-tests: Likewise.
51231         * modules/unictype/property-grapheme-base-tests: Likewise.
51232         * modules/unictype/property-grapheme-extend-tests: Likewise.
51233         * modules/unictype/property-grapheme-link-tests: Likewise.
51234         * modules/unictype/property-hex-digit-tests: Likewise.
51235         * modules/unictype/property-hyphen-tests: Likewise.
51236         * modules/unictype/property-id-continue-tests: Likewise.
51237         * modules/unictype/property-id-start-tests: Likewise.
51238         * modules/unictype/property-ideographic-tests: Likewise.
51239         * modules/unictype/property-ids-binary-operator-tests: Likewise.
51240         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
51241         * modules/unictype/property-ignorable-control-tests: Likewise.
51242         * modules/unictype/property-iso-control-tests: Likewise.
51243         * modules/unictype/property-join-control-tests: Likewise.
51244         * modules/unictype/property-left-of-pair-tests: Likewise.
51245         * modules/unictype/property-line-separator-tests: Likewise.
51246         * modules/unictype/property-logical-order-exception-tests: Likewise.
51247         * modules/unictype/property-lowercase-tests: Likewise.
51248         * modules/unictype/property-math-tests: Likewise.
51249         * modules/unictype/property-non-break-tests: Likewise.
51250         * modules/unictype/property-not-a-character-tests: Likewise.
51251         * modules/unictype/property-numeric-tests: Likewise.
51252         * modules/unictype/property-other-alphabetic-tests: Likewise.
51253         * modules/unictype/property-other-default-ignorable-code-point-tests:
51254         Likewise.
51255         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
51256         * modules/unictype/property-other-id-continue-tests: Likewise.
51257         * modules/unictype/property-other-id-start-tests: Likewise.
51258         * modules/unictype/property-other-lowercase-tests: Likewise.
51259         * modules/unictype/property-other-math-tests: Likewise.
51260         * modules/unictype/property-other-uppercase-tests: Likewise.
51261         * modules/unictype/property-paired-punctuation-tests: Likewise.
51262         * modules/unictype/property-paragraph-separator-tests: Likewise.
51263         * modules/unictype/property-pattern-syntax-tests: Likewise.
51264         * modules/unictype/property-pattern-white-space-tests: Likewise.
51265         * modules/unictype/property-private-use-tests: Likewise.
51266         * modules/unictype/property-punctuation-tests: Likewise.
51267         * modules/unictype/property-quotation-mark-tests: Likewise.
51268         * modules/unictype/property-radical-tests: Likewise.
51269         * modules/unictype/property-sentence-terminal-tests: Likewise.
51270         * modules/unictype/property-soft-dotted-tests: Likewise.
51271         * modules/unictype/property-space-tests: Likewise.
51272         * modules/unictype/property-terminal-punctuation-tests: Likewise.
51273         * modules/unictype/property-test-tests: Likewise.
51274         * modules/unictype/property-titlecase-tests: Likewise.
51275         * modules/unictype/property-unassigned-code-value-tests: Likewise.
51276         * modules/unictype/property-unified-ideograph-tests: Likewise.
51277         * modules/unictype/property-uppercase-tests: Likewise.
51278         * modules/unictype/property-variation-selector-tests: Likewise.
51279         * modules/unictype/property-white-space-tests: Likewise.
51280         * modules/unictype/property-xid-continue-tests: Likewise.
51281         * modules/unictype/property-xid-start-tests: Likewise.
51282         * modules/unictype/property-zero-width-tests: Likewise.
51283         * modules/unictype/scripts-tests: Likewise.
51284         * modules/unictype/syntax-c-ident-tests: Likewise.
51285         * modules/unictype/syntax-c-whitespace-tests: Likewise.
51286         * modules/unictype/syntax-java-ident-tests: Likewise.
51287         * modules/unictype/syntax-java-whitespace-tests: Likewise.
51288         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
51289         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
51290         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
51291         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
51292         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
51293         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
51294         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
51295         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
51296         * modules/uniname/uniname-tests: Likewise.
51297         * modules/uninorm/canonical-decomposition-tests: Likewise.
51298         * modules/uninorm/compat-decomposition-tests: Likewise.
51299         * modules/uninorm/composition-tests: Likewise.
51300         * modules/uninorm/decomposing-form-tests: Likewise.
51301         * modules/uninorm/decomposition-tests: Likewise.
51302         * modules/uninorm/filter-tests: Likewise.
51303         * modules/uninorm/nfc-tests: Likewise.
51304         * modules/uninorm/nfd-tests: Likewise.
51305         * modules/uninorm/nfkc-tests: Likewise.
51306         * modules/uninorm/nfkd-tests: Likewise.
51307         * modules/uninorm/u8-normcmp-tests: Likewise.
51308         * modules/uninorm/u8-normcoll-tests: Likewise.
51309         * modules/uninorm/u16-normcmp-tests: Likewise.
51310         * modules/uninorm/u16-normcoll-tests: Likewise.
51311         * modules/uninorm/u32-normcmp-tests: Likewise.
51312         * modules/uninorm/u32-normcoll-tests: Likewise.
51313         * modules/unistdio/u8-asnprintf-tests: Likewise.
51314         * modules/unistdio/u8-vasnprintf-tests: Likewise.
51315         * modules/unistdio/u8-vasprintf-tests: Likewise.
51316         * modules/unistdio/u8-vsnprintf-tests: Likewise.
51317         * modules/unistdio/u8-vsprintf-tests: Likewise.
51318         * modules/unistdio/u16-asnprintf-tests: Likewise.
51319         * modules/unistdio/u16-vasnprintf-tests: Likewise.
51320         * modules/unistdio/u16-vasprintf-tests: Likewise.
51321         * modules/unistdio/u16-vsnprintf-tests: Likewise.
51322         * modules/unistdio/u16-vsprintf-tests: Likewise.
51323         * modules/unistdio/u32-asnprintf-tests: Likewise.
51324         * modules/unistdio/u32-vasnprintf-tests: Likewise.
51325         * modules/unistdio/u32-vasprintf-tests: Likewise.
51326         * modules/unistdio/u32-vsnprintf-tests: Likewise.
51327         * modules/unistdio/u32-vsprintf-tests: Likewise.
51328         * modules/unistdio/ulc-asnprintf-tests: Likewise.
51329         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
51330         * modules/unistdio/ulc-vasprintf-tests: Likewise.
51331         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
51332         * modules/unistdio/ulc-vsprintf-tests: Likewise.
51333         * modules/unistr/u8-check-tests: Likewise.
51334         * modules/unistr/u8-chr-tests: Likewise.
51335         * modules/unistr/u8-cmp-tests: Likewise.
51336         * modules/unistr/u8-cmp2-tests: Likewise.
51337         * modules/unistr/u8-cpy-alloc-tests: Likewise.
51338         * modules/unistr/u8-cpy-tests: Likewise.
51339         * modules/unistr/u8-mblen-tests: Likewise.
51340         * modules/unistr/u8-mbsnlen-tests: Likewise.
51341         * modules/unistr/u8-mbtouc-tests: Likewise.
51342         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
51343         * modules/unistr/u8-mbtoucr-tests: Likewise.
51344         * modules/unistr/u8-move-tests: Likewise.
51345         * modules/unistr/u8-next-tests: Likewise.
51346         * modules/unistr/u8-prev-tests: Likewise.
51347         * modules/unistr/u8-set-tests: Likewise.
51348         * modules/unistr/u8-stpcpy-tests: Likewise.
51349         * modules/unistr/u8-stpncpy-tests: Likewise.
51350         * modules/unistr/u8-strcat-tests: Likewise.
51351         * modules/unistr/u8-strcmp-tests: Likewise.
51352         * modules/unistr/u8-strcoll-tests: Likewise.
51353         * modules/unistr/u8-strcpy-tests: Likewise.
51354         * modules/unistr/u8-strdup-tests: Likewise.
51355         * modules/unistr/u8-strlen-tests: Likewise.
51356         * modules/unistr/u8-strmblen-tests: Likewise.
51357         * modules/unistr/u8-strmbtouc-tests: Likewise.
51358         * modules/unistr/u8-strncat-tests: Likewise.
51359         * modules/unistr/u8-strncmp-tests: Likewise.
51360         * modules/unistr/u8-strncpy-tests: Likewise.
51361         * modules/unistr/u8-strnlen-tests: Likewise.
51362         * modules/unistr/u8-to-u16-tests: Likewise.
51363         * modules/unistr/u8-to-u32-tests: Likewise.
51364         * modules/unistr/u8-uctomb-tests: Likewise.
51365         * modules/unistr/u16-check-tests: Likewise.
51366         * modules/unistr/u16-chr-tests: Likewise.
51367         * modules/unistr/u16-cmp-tests: Likewise.
51368         * modules/unistr/u16-cmp2-tests: Likewise.
51369         * modules/unistr/u16-cpy-alloc-tests: Likewise.
51370         * modules/unistr/u16-cpy-tests: Likewise.
51371         * modules/unistr/u16-mblen-tests: Likewise.
51372         * modules/unistr/u16-mbsnlen-tests: Likewise.
51373         * modules/unistr/u16-mbtouc-tests: Likewise.
51374         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
51375         * modules/unistr/u16-mbtoucr-tests: Likewise.
51376         * modules/unistr/u16-move-tests: Likewise.
51377         * modules/unistr/u16-next-tests: Likewise.
51378         * modules/unistr/u16-prev-tests: Likewise.
51379         * modules/unistr/u16-set-tests: Likewise.
51380         * modules/unistr/u16-stpcpy-tests: Likewise.
51381         * modules/unistr/u16-stpncpy-tests: Likewise.
51382         * modules/unistr/u16-strcat-tests: Likewise.
51383         * modules/unistr/u16-strcmp-tests: Likewise.
51384         * modules/unistr/u16-strcoll-tests: Likewise.
51385         * modules/unistr/u16-strcpy-tests: Likewise.
51386         * modules/unistr/u16-strdup-tests: Likewise.
51387         * modules/unistr/u16-strlen-tests: Likewise.
51388         * modules/unistr/u16-strmblen-tests: Likewise.
51389         * modules/unistr/u16-strmbtouc-tests: Likewise.
51390         * modules/unistr/u16-strncat-tests: Likewise.
51391         * modules/unistr/u16-strncmp-tests: Likewise.
51392         * modules/unistr/u16-strncpy-tests: Likewise.
51393         * modules/unistr/u16-strnlen-tests: Likewise.
51394         * modules/unistr/u16-to-u32-tests: Likewise.
51395         * modules/unistr/u16-to-u8-tests: Likewise.
51396         * modules/unistr/u16-uctomb-tests: Likewise.
51397         * modules/unistr/u32-check-tests: Likewise.
51398         * modules/unistr/u32-chr-tests: Likewise.
51399         * modules/unistr/u32-cmp-tests: Likewise.
51400         * modules/unistr/u32-cmp2-tests: Likewise.
51401         * modules/unistr/u32-cpy-alloc-tests: Likewise.
51402         * modules/unistr/u32-cpy-tests: Likewise.
51403         * modules/unistr/u32-mblen-tests: Likewise.
51404         * modules/unistr/u32-mbsnlen-tests: Likewise.
51405         * modules/unistr/u32-mbtouc-tests: Likewise.
51406         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
51407         * modules/unistr/u32-mbtoucr-tests: Likewise.
51408         * modules/unistr/u32-move-tests: Likewise.
51409         * modules/unistr/u32-next-tests: Likewise.
51410         * modules/unistr/u32-prev-tests: Likewise.
51411         * modules/unistr/u32-set-tests: Likewise.
51412         * modules/unistr/u32-stpcpy-tests: Likewise.
51413         * modules/unistr/u32-stpncpy-tests: Likewise.
51414         * modules/unistr/u32-strcat-tests: Likewise.
51415         * modules/unistr/u32-strcmp-tests: Likewise.
51416         * modules/unistr/u32-strcoll-tests: Likewise.
51417         * modules/unistr/u32-strcpy-tests: Likewise.
51418         * modules/unistr/u32-strdup-tests: Likewise.
51419         * modules/unistr/u32-strlen-tests: Likewise.
51420         * modules/unistr/u32-strmblen-tests: Likewise.
51421         * modules/unistr/u32-strmbtouc-tests: Likewise.
51422         * modules/unistr/u32-strncat-tests: Likewise.
51423         * modules/unistr/u32-strncmp-tests: Likewise.
51424         * modules/unistr/u32-strncpy-tests: Likewise.
51425         * modules/unistr/u32-strnlen-tests: Likewise.
51426         * modules/unistr/u32-to-u16-tests: Likewise.
51427         * modules/unistr/u32-to-u8-tests: Likewise.
51428         * modules/unistr/u32-uctomb-tests: Likewise.
51429         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
51430         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
51431         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
51432         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
51433         * modules/uniwidth/u8-strwidth-tests: Likewise.
51434         * modules/uniwidth/u8-width-tests: Likewise.
51435         * modules/uniwidth/u16-strwidth-tests: Likewise.
51436         * modules/uniwidth/u16-width-tests: Likewise.
51437         * modules/uniwidth/u32-strwidth-tests: Likewise.
51438         * modules/uniwidth/u32-width-tests: Likewise.
51439         * modules/uniwidth/width-tests: Likewise.
51441 2010-05-18  Richard Jones  <rjones@redhat.com>
51443         doc: users.txt: list hivex
51444         * users.txt: Add hivex.
51446 2010-05-18  Richard Jones  <rjones@redhat.com>
51448         doc: users.txt: list febootstrap
51449         * users.txt: Add febootstrap.
51451 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
51453         bootstrap: fix an error when gnulib is not used as a git submodule
51454         * build-aux/bootstrap (gnulib_path): If its length is zero then
51455         assign "gnulib" to it.
51456         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
51458 2010-05-16  Bruno Haible  <bruno@clisp.org>
51460         Avoid autoconf warnings about AM_ICONV.
51461         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
51462         2.64.
51464 2010-05-16  Bruno Haible  <bruno@clisp.org>
51466         absolute-header: Make the macro usable in more situations.
51467         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
51468         from gl_ABSOLUTE_HEADER.
51469         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
51471 2010-05-16  James Youngman  <jay@gnu.org>
51473         doc: update users.txt
51474         * users.txt: Add CSSC.
51476 2010-05-16  Jim Meyering  <meyering@redhat.com>
51478         init.sh: fix an error in the previous change; add more comments
51479         * tests/init.sh: Compare exit code in loop against 9, not 2.
51480         Patch by Bruno Haible.
51481         Make the two tests more similar by adding an empty "then" clause.
51482         Add comments.
51484         init.sh: avoid unnecessary shell re-exec
51485         * tests/init.sh: Improve the re-exec-required check to first test the
51486         current shell.  If it passes the test, do not search for a shell that
51487         does pass, and do not re-exec.  This test is particularly contorted to
51488         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
51489         of $(...) evokes a syntax error and causes immediate shell exit with
51490         status 2.  Bruno Haible reported that the re-exec made it impossible
51491         to single-step through any init.sh-using script.
51493 2010-05-16  Bruno Haible  <bruno@clisp.org>
51495         Fix collision between gnulib's and libintl's printf replacements.
51496         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
51497         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
51498         (printf): When using GNU C, map the __printf__ function to rpl_printf
51499         via __asm__. When not using GNU C, define rpl_printf instead of
51500         __printf__.
51501         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
51502         commit.
51503         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
51504         commit.
51505         * m4/asm-underscore.m4: New file.
51506         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
51507         * modules/stdio (Files): Add m4/asm-underscore.m4.
51508         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
51509         Reported by Ben Pfaff.
51511 2010-05-16  Bruno Haible  <bruno@clisp.org>
51513         verify: Avoid skipping the test on openSUSE 11.0.
51514         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
51516 2010-05-13  Bruno Haible  <bruno@clisp.org>
51518         Avoid useless warnings from G++.
51519         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
51520         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
51521         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
51523 2010-05-11  Jim Meyering  <meyering@redhat.com>
51525         maint.mk: tweak preceding change
51526         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
51527         regexps tighter by anchoring at EOL, and make the new group "shy"
51528         for slightly decreased overhead.
51530 2010-05-11  Eric Blake  <eblake@redhat.com>
51532         maint.mk: gnulib doesn't guarantee NSIG
51533         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
51535 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
51537         test-pwrite.c: Remove unused variable declaration.
51538         * tests/test-pwrite.c (main): Remove read_buf declaration.
51540         Remove useless test-pwrite.sh file.
51541         * tests/test-pwrite.sh: Delete file.
51542         * modules/pwrite-tests: Remove references.
51543         Reported by Bruno Haible.
51545 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
51547         init.sh: fix a typo
51548         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
51550 2010-05-10  Jim Meyering  <meyering@redhat.com>
51552         maint.mk: avoid using a temporary file in the always-defined-macros check
51553         * top/maint.mk (.re-defmac): Remove rule.
51554         (gl_trap_): Remove definition.
51555         (sc_prohibit_always-defined_macros): Rewrite not to create and
51556         depend on a temporary file.  Instead, depend on GNU grep's ability
51557         to read a list of regular expressions from stdin when given "-f -".
51559 2010-05-09  Bruno Haible  <bruno@clisp.org>
51561         Update to GNU gettext 0.18, part 1.
51562         * m4/gettext.m4: Update to GNU gettext 0.18.
51563         * m4/intl.m4: Likewise.
51564         * m4/po.m4: Likewise.
51565         * modules/gettext (Files): Add m4/fcntl-o.m4.
51566         (configure.ac): Require gettext infrastructure from version 0.18.
51568 2010-05-09  Jim Meyering  <meyering@redhat.com>
51570         init.sh: enable MALLOC_PERTURB_
51571         * tests/init.sh: Enable glibc's malloc-perturbing option.
51573         maint.mk: improve sc_cross_check_PATH_usage_in_tests
51574         With my recent change in init.sh from the two-line form:
51575             -#   : ${srcdir=.}
51576             -#   . "$srcdir/init.sh"; path_prepend_ .
51577             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
51578         I noticed that using the one-line form would cause this test
51579         to fail with a false-positive, or to stop working altogether,
51580         depending on whether help-version changed or all the tests did.
51581         * top/maint.mk (_hv_regex): Remove this definition.
51582         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
51583         (_hv_regex_strong): Use a stronger regex to check for conformance.
51584         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
51585         Give a separate diagnostic for lack of conforming use.
51587         maint.mk: prohibit definition of symbols defined by gnulib
51588         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
51589         definition of symbols defined by gnulib.
51591 2010-05-09  Bruno Haible  <bruno@clisp.org>
51593         acl: Avoid test failure on Cygwin-hosted mingw.
51594         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
51596 2010-05-09  Bruno Haible  <bruno@clisp.org>
51598         error: Use system's fcntl function.
51599         * lib/error.c (fcntl): Undefine.
51601 2010-05-09  Jim Meyering  <meyering@redhat.com>
51603         verify: adjust formatting to be more consistent
51604         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
51605         argument-list '('s, and after one comma.
51607 2010-05-09  Bruno Haible  <bruno@clisp.org>
51609         error: More reliable output on mingw.
51610         * lib/error.c: Include <windows.h>.
51611         (is_open): New function.
51612         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
51613         defined.
51615 2010-05-09  Bruno Haible  <bruno@clisp.org>
51617         vasnprintf: Fix syntax errors in libintl build on mingw.
51618         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
51619         pad_ourselves and prec_ourselves after use.
51621 2010-05-08  Bruno Haible  <bruno@clisp.org>
51623         * lib/config.charset: Update comments for Cygwin 1.7.
51624         * lib/localcharset.c: Likewise.
51626 2010-05-07  Jim Meyering  <meyering@redhat.com>
51628         init.sh: improve comments
51629         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
51630         . "${srcdir=.}/init.sh"; path_prepend_ .
51631         Add a note about path_prepend_ and the alternative of using
51632         TESTS_ENVIRONMENT.
51634 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
51636         exclude: Unescape hashed patterns in wildcard mode.
51637         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
51638         to the hash list.
51639         * tests/test-exclude8.sh: New test case.
51640         * modules/exclude-tests: Add new test.
51642 2010-05-05  Eric Blake  <eblake@redhat.com>
51644         verify: automate tests
51645         * modules/verify-tests: New module.
51646         * tests/test-verify.sh: New file.
51647         * tests/test-verify.c: Guard each negative test with a unique id.
51648         Also avoid warning about unused left hand of comma expressions.
51650 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
51652         Further improvements to verify.h, suggested by Eric Blake.
51653         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
51654         the GL_* versions, to avoid collision with OpenGL.
51655         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
51656         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
51657         than testing merely whether it's defined.
51659         Modify verify.h to pacify gcc -Wredundant_decls.
51660         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
51661         These use the prefix "GL_" since they're likely to be useful elsewhere.
51662         We may need to break them out into a different .h file.
51663         (__COUNTER__): Define to 0 if the compiler doesn't support it.
51664         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
51665         of verify_function__.
51667 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
51669         Tests for module pwrite.
51670         * modules/pwrite-tests: New file.
51671         * tests/test-pwrite.sh: New file.
51672         * tests/test-pwrite.c: New file.
51674         New module pwrite.
51675         * lib/unistd.in.h (pwrite): New declaration.
51676         * lib/pwrite.c: New file, from glibc with modifications.
51677         * m4/pwrite.m4: New file.
51678         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
51679         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
51680         REPLACE_PWRITE.
51681         * modules/pwrite: New file.
51682         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
51683         REPLACE_PWRITE.
51684         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
51685         * doc/posix-functions/pwrite.texi: Mention the new module.
51687 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
51689         pread: Update documentation.
51690         * doc/posix-functions/pread.texi: Mention the 'pread' module.
51692 2010-05-04  Eric Blake  <eblake@redhat.com>
51694         docs: update cygwin progress
51695         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
51696         this bug.
51697         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
51698         Added in cygwin 1.7.2.
51699         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
51700         Likewise.
51701         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
51702         Likewise.
51703         * doc/glibc-functions/dup3.texi (dup3): Likewise.
51704         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
51705         * doc/glibc-functions/accept4.texi (accept4): Likewise.
51706         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
51707         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
51708         Mention nproc module.
51709         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
51710         bug in cygwin 1.7.5 addition.
51711         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
51712         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
51713         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
51714         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
51715         1.7.5.
51716         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
51717         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
51718         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
51719         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
51720         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
51721         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
51722         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
51723         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
51724         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
51725         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
51726         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
51727         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
51728         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
51729         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
51730         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
51731         Likewise.
51732         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
51733         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
51734         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
51735         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
51736         Likewise.
51737         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
51738         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
51739         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
51740         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
51741         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
51742         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
51743         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
51744         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
51745         Likewise.
51746         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
51747         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
51748         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
51749         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
51750         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
51751         Likewise.
51752         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
51753         Likewise.
51754         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
51755         Likewise.
51756         * doc/glibc-functions/xdrrec_endofrecord.texi
51757         (xdrrec_endofrecord): Likewise.
51758         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
51759         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
51760         Likewise.
51761         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
51762         Likewise.
51764 2010-05-04  Jim Meyering  <meyering@redhat.com>
51766         gendocs.sh: make its "-s FILE" option more useful
51767         * build-aux/gendocs.sh: When honoring the -s FILE option, update
51768         $PACKAGE to reflect the probably-different basename of "FILE".
51770 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
51772         bootstrap: don't ignore download_po_files failure
51773         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
51774         failure.
51776 2010-05-03  Jim Meyering  <meyering@redhat.com>
51778         maint.mk: allow to pass options to gendocs.sh
51779         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
51780         (gendocs_options_): New overridable variable.
51782         gnu-web-doc-update: don't ignore configure or build failure
51783         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
51785         announce-gen: backslash-escape '@'s in --help output
51786         * build-aux/announce-gen: Fix syntax errors.
51788         maint.mk, announce-gen: allow project-specific announcement mail headers
51789         * top/maint.mk (translation_project_): Define default.
51790         (announcement_Cc_, announcement_mail_headers_): Likewise.
51791         (announcement): Invoke announce-gen with new --mail-headers option.
51792         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
51794         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
51795         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
51796         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
51797         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
51798         line in the "err2" output file when running "make check" in verbose
51799         mode (i.e., with set -x enabled).
51801 2010-05-03  Bruno Haible  <bruno@clisp.org>
51803         wctob: Fix for weird platforms.
51804         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
51805         argument value.
51807 2010-05-03  Jim Meyering  <meyering@redhat.com>
51809         maint.mk: prohibit unwarranted use of <strings.h>
51810         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
51811         strings.h in a file that does not also use strcasecmp, strncasecmp,
51812         ffs or ffsll.
51814         maint.mk: remove obsolete comments
51815         * top/maint.mk: Remove stale, commented-out rules.
51817 2010-05-02  Bruno Haible  <bruno@clisp.org>
51819         wcwidth: Declare also when it's aliased.
51820         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
51821         macro.
51823 2010-05-02  Bruno Haible  <bruno@clisp.org>
51825         Fix regression from 2010-04-25.
51826         * gnulib-tool (func_modules_transitive_closure): Check the status of
51827         all modules, not only of the tests that are of the form foo-tests where
51828         foo is a module.
51830 2010-05-02  Bruno Haible  <bruno@clisp.org>
51832         wctob: Work around nasty Cygwin 1.7.2 bug.
51833         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
51834         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
51836 2010-05-01  Bruno Haible  <bruno@clisp.org>
51838         fpurge: Sharper test.
51839         * tests/test-fpurge.c (main): Add one more ftell check.
51840         * modules/fpurge-tests (Depends-on): Add ftell.
51841         Suggested by Eric Blake.
51843 2010-05-01  Bruno Haible  <bruno@clisp.org>
51845         ftello: Another test.
51846         * tests/test-ftello3.c: New file.
51847         * modules/ftello-tests (Files): Add it.
51848         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
51849         MOSTLYCLEANFILES.
51851         ftell: Another test.
51852         * tests/test-ftell3.c: New file.
51853         * modules/ftell-tests (Files): Add it.
51854         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
51855         MOSTLYCLEANFILES.
51857 2010-05-01  Bruno Haible  <bruno@clisp.org>
51859         ftell, ftello: Work around Solaris bug.
51860         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
51861         * lib/ftello.c: Include stdio-impl.h.
51862         (ftello): On Solaris, when _IOWRT is set, compute the result without
51863         looking at _IOREAD.
51864         * modules/ftello (Files): Add lib/stdio-impl.h.
51865         * doc/posix-functions/ftell.texi: Mention Solaris bug.
51866         * doc/posix-functions/ftello.texi: Likewise.
51867         Reported by Eric Blake.
51869 2010-05-01  Bruno Haible  <bruno@clisp.org>
51871         freading: Adapt to special meaning of _IOREAD flag on Solaris.
51872         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
51873         the _IOWRT flag is also set.
51875 2010-05-01  Bruno Haible  <bruno@clisp.org>
51877         Fix doc about a HP-UX stdio bug.
51878         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
51879         * doc/posix-functions/ftello.texi: Likewise.
51881 2010-05-01  Bruno Haible  <bruno@clisp.org>
51883         lseek test: Fix failure on Solaris.
51884         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
51885         output.
51887 2010-04-30  Jim Meyering  <meyering@redhat.com>
51889         bootstrap: don't ignore failure to generate po*/Makevars
51890         * build-aux/bootstrap (with_gettext): Don't ignore failure
51891         to create po/Makevars or runtime-po/Makevars.
51893 2010-04-29  Eric Blake  <eblake@redhat.com>
51895         headers: relax license to LGPLv2+
51896         * modules/fcntl-h (License): Relax license.
51897         * modules/getopt-posix (License): Likewise.
51898         * modules/locale (License): Likewise.
51899         * modules/math (License): Likewise.
51900         * modules/pty (License): Likewise.
51901         * modules/sched (License): Likewise.
51902         * modules/search (License): Likewise.
51903         * modules/spawn (License): Likewise.
51904         * modules/stdarg (License): Likewise.
51905         * modules/sysexits (License): Likewise.
51907 2010-04-29  Jim Meyering  <meyering@redhat.com>
51909         inttypes: relax license to LGPLv2+
51910         * modules/inttypes (License): Relax license.
51912 2010-04-29  Simon Josefsson  <simon@josefsson.org>
51914         * top/maint.mk (indent): Run twice to produce idempotent results.
51916 2010-04-28  Bruno Haible  <bruno@clisp.org>
51918         getdate: Generate getdate.c in the source directory.
51919         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
51920         MOSTLYCLEANFILES.
51921         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
51923 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
51925         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
51926         is not declared as a const *; avoid warnings in that case.
51928 2010-04-28  Eric Blake  <eblake@redhat.com>
51930         canonicalize-lgpl: avoid compiler warning
51931         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
51932         declaration' / 'extraneous semicolon' warning with some compilers.
51933         Reported by Andreas Gruenbacher.
51935 2010-04-28  Jim Meyering  <meyering@redhat.com>
51937         init.sh: ensure a more reliable exit status when exiting via trap
51938         * tests/init.sh (setup_): Don't rely on $? in signal handler.
51939         Inspired by patches from Dmitry V. Levin.
51940         Also trap on signal 3 (SIGQUIT).
51942 2010-04-27  Bruno Haible  <bruno@clisp.org>
51944         Update doc about utimes().
51945         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
51946         'utimens' module.
51947         Reported by Andreas Gruenbacher <agruen@suse.de>.
51949 2010-04-27  Eric Blake  <eblake@redhat.com>
51951         full-read, full-write: relax license
51952         * modules/full-read (License): Drop to LGPLv2+.
51953         * modules/full-write (License): Likewise.
51954         * modules/safe-read (License): Likewise.
51955         * modules/safe-write (License): Likewise.
51957         pthread: mention library for linking
51958         * modules/pthread (Link): Mention $(LIB_PTHREAD).
51960 2010-04-27  Jim Meyering  <meyering@redhat.com>
51962         maint.mk: fix a bug introduced in last change
51963         * top/maint.mk (gl_assured_headers_): Now that all names are on
51964         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
51965         is not anchored to end of word, it should be adequate.
51967         maint.mk: avoid side-effect in latest syntax-check
51968         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
51969         to run commands via $(shell...), and hence to incur cost only when
51970         the new rule is actually run.
51972         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
51973         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
51974         and use that to create a regexp used to detect all #if HAVE_..._H uses.
51975         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
51976         (gl_assured_headers_, az_, AZ_): Define.
51977         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
51979 2010-04-26  Jim Meyering  <jim@meyering.net>
51980             Bruno Haible  <bruno@clisp.org>
51982         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
51983         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
51984         Prompted by an exchange with Gilles Espinasse.
51986 2010-04-26  Jim Meyering  <meyering@redhat.com>
51988         git-version-gen: aesthetic tweak
51989         * build-aux/git-version-gen: Use "$nl" rather than a literal,
51990         so that the command remains on a single line.
51992 2010-04-26  Eric Blake  <eblake@redhat.com>
51994         git-version-gen: allow use on EBCDIC hosts
51995         * build-aux/git-version-gen (dirty): Use literal rather than tying
51996         ourselves to ascii.
51997         Reported by Steve Goetze.
51999 2010-04-25  Bruno Haible  <bruno@clisp.org>
52001         netdb: Add support for GNULIB_POSIXCHECK.
52002         * lib/netdb.in.h: Include warn-on-use.h.
52003         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
52004         functions are used when GNULIB_POSIXCHECK is defined and the
52005         getaddrinfo module is not in use.
52006         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
52007         freeaddrinfo, gai_strerror, getnameinfo are declared.
52008         * modules/netdb (Depends-on): Add warn-on-use.
52009         (Makefile.am): Include warn-on-use.h in netdb.h.
52011 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
52013         build: avoid "make check" failure without .git/ directory
52014         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
52015         there is no .git/ directory.
52017 2010-04-25  Bruno Haible  <bruno@clisp.org>
52019         ptsname: Fix misuse of ttyname_r.
52020         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
52021         of errno.
52023 2010-04-25  Bruno Haible  <bruno@clisp.org>
52025         ttyname_r: Make it work on Solaris 10.
52026         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
52027         if the system function has the POSIX declaration. Test whether the
52028         function fails if the buffer is less than 128 bytes large.
52029         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
52030         system's ttyname_r function. Provide a reasonably large buffer.
52031         * modules/ttyname_r (Depends-on): Add extensions.
52032         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
52034 2010-04-25  Bruno Haible  <bruno@clisp.org>
52036         Use the 'extensions' module for some more functions on Solaris.
52037         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
52038         module.
52039         * doc/posix-functions/ctime_r.texi: Likewise.
52040         * doc/posix-functions/getgrgid_r.texi: Likewise.
52041         * doc/posix-functions/getgrnam_r.texi: Likewise.
52042         * doc/posix-functions/getpwnam_r.texi: Likewise.
52043         * doc/posix-functions/getpwuid_r.texi: Likewise.
52044         * doc/posix-functions/readdir_r.texi: Likewise.
52045         * doc/posix-functions/sigwait.texi: Likewise.
52046         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
52047         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
52049 2010-04-25  Bruno Haible  <bruno@clisp.org>
52051         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
52052         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
52053         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
52054         * lib/ttyname_r.c: Include <limits.h>.
52055         (ttyname_r): Define using the system's ttyname_r function, if it exists
52056         and not on Solaris.
52057         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
52058         set.
52059         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
52060         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
52061         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
52062         Reported by Simon Josefsson.
52064 2010-04-25  Bruno Haible  <bruno@clisp.org>
52066         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
52067         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
52068         * doc/posix-functions/ctime_r.texi: Likewise.
52069         * doc/posix-functions/getgrgid_r.texi: Likewise.
52070         * doc/posix-functions/getgrnam_r.texi: Likewise.
52071         * doc/posix-functions/getlogin_r.texi: Likewise.
52072         * doc/posix-functions/getpwnam_r.texi: Likewise.
52073         * doc/posix-functions/getpwuid_r.texi: Likewise.
52074         * doc/posix-functions/readdir_r.texi: Likewise.
52075         * doc/posix-functions/sigwait.texi: Likewise.
52076         * doc/posix-functions/ttyname_r.texi: Likewise.
52077         Reported by Simon Josefsson.
52079 2010-04-25  Bruno Haible  <bruno@clisp.org>
52081         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
52082         * gnulib-tool (func_usage): Document that --with-*-tests options apply
52083         also to --create-testdir.
52084         (func_acceptable): Don't consider the status of *-tests modules here.
52085         (func_modules_transitive_closure): Consider it here, before including a
52086         test module.
52087         (func_import, func_create_testdir): Set inc_all_direct_tests,
52088         inc_all_indirect_tests.
52089         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
52090         --create-testdir and --create-megatestdir.
52092 2010-04-25  Bruno Haible  <bruno@clisp.org>
52094         gnulib-tool: Add --without-*-tests options.
52095         * gnulib-tool (func_usage): Document the --without-*-tests options.
52096         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
52097         excl_unportable_tests): New variables.
52098         Fail if they are specified with --import or --update.
52099         (func_acceptable): Respect the excl_*_tests variables.
52100         (func_import): Set the excl_*_tests variables to empty.
52102 2010-04-25  Simon Josefsson  <simon@josefsson.org>
52103             Bruno Haible  <bruno@clisp.org>
52105         Work around a MacOS X 10.4 bug with openpty.
52106         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
52107         * tests/test-openpty.c (main): Close the master side explicitly.
52109 2010-04-25  Bruno Haible  <bruno@clisp.org>
52111         strnlen: Fix a C++ test error on MacOS X and Solaris.
52112         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
52113         the function is not declared.
52114         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
52115         Simon Josefsson.
52117 2010-04-24  Bruno Haible  <bruno@clisp.org>
52119         Avoid a gcc warning.
52120         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
52121         of correct type for %08lx directive.
52122         Reported by Eric Blake.
52124 2010-04-24  Bruno Haible  <bruno@clisp.org>
52126         vasnprintf: Correct errno value in case of out-of-memory.
52127         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
52128         or sprintf. Use the errno value from SNPRINTF or sprintf.
52129         Reported by Ian Beckwith <ianb@erislabs.net>.
52131 2010-04-24  Bruno Haible  <bruno@clisp.org>
52133         ansi-c++-opt: Find correct compiler when cross-compiling.
52134         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
52135         AC_CHECK_PROGS.
52136         Reported by Simon Josefsson.
52138 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
52140         vc-list-files: Add support for subversion
52141         * build-aux/vc-list-files: Use "svn list" to generate the list of
52142         files controlled by subversion.
52144 2010-04-23  Jim Meyering  <meyering@redhat.com>
52146         vc-list-files tests: convert to use init.sh
52147         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
52148         path_prepend_.
52149         Use Exit, not exit.
52150         Use skip_ rather than open coding it.
52151         Remove trap set-up and compare definitions.
52152         * tests/test-vc-list-files-git.sh: Likewise.
52153         * modules/vc-list-files-tests (Files): Add tests/init.sh.
52155 2010-04-22  Simon Josefsson  <simon@josefsson.org>
52157         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
52158         backup files.
52160 2010-04-21  Simon Josefsson  <simon@josefsson.org>
52162         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
52164 2010-04-20  Eric Blake  <eblake@redhat.com>
52166         tests: be robust to ignored SIGPIPE
52167         * tests/test-select-in.sh: Consume all output.
52168         * tests/test-lseek.sh: Check correct exit status, while avoiding
52169         EPIPE.
52171 2010-04-20  Simon Josefsson  <simon@josefsson.org>
52172             Bruno Haible  <bruno@clisp.org>
52174         visibility: Don't use -fvisibility if it leads to a warning.
52175         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
52176         yes, don't pretend that visibility works if it leads to a warning.
52177         Reported by Mike Gran <spk121@yahoo.com>.
52179 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
52181         * build-aux/bootstrap: Use "git -h" for testing for supported options
52182         instead of "git --help".  The short-form option only shows a summary,
52183         and doesn't layout the full man page.  Grep for the full option name
52184         in the summary, too.
52186 2010-04-19  Bruno Haible  <bruno@clisp.org>
52188         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
52189         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
52190         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
52191         mention of RELOCATABLE_STRIP.
52192         Reported by Sylvain Beucler <beuc@beuc.net>.
52194 2010-04-19  Bruno Haible  <bruno@clisp.org>
52196         * lib/diffseq.h: Fix typo in comment.
52197         Reported by Eric Blake.
52199 2010-04-19  Bruno Haible  <bruno@clisp.org>
52201         ioctl: Move autoconf macro to a .m4 file.
52202         * m4/ioctl.m4: New file, extracted from modules/ioctl.
52203         * modules/ioctl (Files): Add it.
52204         (configure.ac): Simply invoke gl_FUNC_IOCTL.
52205         Reported by Ian Beckwith <ianb@erislabs.net>.
52207 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
52208             Bruno Haible  <bruno@clisp.org>
52210         diffseq: Accommodate use-case with abstract arrays.
52211         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
52212         is not defined.
52213         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
52214         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
52216 2010-04-18  Bruno Haible  <bruno@clisp.org>
52218         * doc/posix-headers/stdbool.texi: More precise wording.
52220 2010-04-17  Jim Meyering  <meyering@redhat.com>
52222         maint.mk: use gnu-style indentation in an embedded perl script
52223         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
52224         Rename variable: s/two/last_two_bytes/
52226 2010-04-16  Eric Blake  <eblake@redhat.com>
52228         test-stdbool: skip test that fails with Solaris CC
52229         * tests/test-stdbool.c (f): Skip test that causes compilation
52230         error under buggy C++ compiler.
52231         * lib/stdbool.in.h: Document the limitation.
52232         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
52234         setenv: allow compilation with C++
52235         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
52236         register keyword.
52238         stdint: allow test to pass with C++
52239         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
52241         getopt: allow compilation with C++
52242         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
52243         struct.
52244         * lib/getopt.c (_getopt_internal_r): Use correct type.
52245         Reported by Dagobert Michelson, via Joel E. Denny.
52247 2010-04-16  Bruno Haible  <bruno@clisp.org>
52249         Override netdb.h always.
52250         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
52251         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
52252         Reported by Ludovic Courtès <ludo@gnu.org>.
52254 2010-04-15  Bruno Haible  <bruno@clisp.org>
52256         openpty: Fix mistake from 2010-03-21.
52257         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
52258         Reported by Simon Josefsson.
52260 2010-04-15  Eric Blake  <eblake@redhat.com>
52262         test-forkpty: fix expected signature
52263         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
52264         Reported by Simon Josefsson.
52266 2010-04-15  Jim Meyering  <meyering@redhat.com>
52268         maint.mk: texinfo_suffix_re_: correct the default regexp
52269         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
52271         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
52272         make it configurable via texinfo_suffix_re_.
52274 2010-04-14  Eric Blake  <eblake@redhat.com>
52276         strtok_r: relax license to LGPLv2+
52277         * modules/strtok_r (License): Relax license.
52278         Reported by Matthias Bolte.
52280 2010-04-14  Simon Josefsson  <simon@josefsson.org>
52282         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
52283         version 1.4.4 by default instead of requiring the libgcrypt
52284         version used during build.  This makes it possible to use the
52285         application with older but still binary compatible libgcrypt
52286         versions.
52288 2010-04-13  Eric Blake  <eblake@redhat.com>
52290         getopt-gnu: match recent glibc fixes and posix ruling
52291         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
52292         '+' handling, when requesting extensions.
52293         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
52294         'W;' handling.
52295         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
52296         * doc/posix-functions/getopt.texi (getopt): Document this.
52297         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
52298         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
52299         Likewise.
52301         getopt: merge bug fixes from glibc
52302         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
52303         diagnostics.  Honor '+:' correctly.  Reject ';'.
52305         getopt-posix: detect MacOS bug
52306         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
52307         optind when missing a required argument.
52308         * doc/posix-functions/getopt.texi (getopt): Document the bug.
52309         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
52310         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
52311         Likewise.
52313         getopt-posix: avoid spurious failure on Solaris
52314         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
52315         an indicator that setting optind=1 is sufficient for reset.
52317         getopt-posix: avoid spurious failure on FreeBSD
52318         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
52319         in POSIX mode, since the m4 test uses it.
52321         gnulib-tool: silence warning on BSD sh
52322         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
52324 2010-04-13  Jim Meyering  <meyering@redhat.com>
52326         doc: users.txt: GNU patch now uses gnulib
52327         * users.txt: Add patch.
52329 2010-04-12  Jim Meyering  <meyering@redhat.com>
52331         maint.mk: generate more concise timing data for syntax-check rules
52332         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
52333         " done" from each line that reports a syntax-check test duration.
52335 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
52337         git-version-gen: use "git update-index..." rather than "git status"
52338         * build-aux/git-version-gen: Use git update-index --refresh, not
52339         "git status".  With some versions of git, "git status" would fail
52340         to update the index and result in an unwarranted "-dirty" suffix.
52342 2010-04-11  Jim Meyering  <meyering@redhat.com>
52344         openat: correct formatting (no semantic change)
52345         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
52346         Suggested by Bruno Haible.
52348 2010-04-11  Bruno Haible  <bruno@clisp.org>
52350         Stricter declaration checking in testdirs.
52351         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
52352         If for_tests is true, augment AM_CPPFLAGS to define
52353         GNULIB_STRICT_CHECKING.
52354         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
52355         GNULIB_STRICT_CHECKING is defined, verify that the function is
52356         declared.
52358 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
52359             Bruno Haible  <bruno@clisp.org>
52361         libunistring: Improve configure output.
52362         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
52363         Don't say "consider installing GNU libunistring" when checking again
52364         with libiconv.
52366 2010-04-11  Bruno Haible  <bruno@clisp.org>
52368         libunistring: Correct value of $LTLIBUNISTRING.
52369         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
52370         correct the value of $LTLIBUNISTRING.
52372 2010-04-11  Bruno Haible  <bruno@clisp.org>
52374         havelib: Add static libraries to LIBS in the right order.
52375         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
52376         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
52378 2010-04-11  Bruno Haible  <bruno@clisp.org>
52380         libunistring: Detect libunistring also when it depends on libiconv.
52381         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
52382         the second AC_LIB_HAVE_LINKFLAGS invocation.
52384 2010-04-11  James Youngman  <jay@gnu.org>
52386         close-stream: declare local scalars to be "const"
52387         * lib/close-stream.c (close_stream): Make boolean variables const
52388         to document the fact that we set but do not change them.
52390 2010-04-11  Bruno Haible  <bruno@clisp.org>
52392         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
52394 2010-04-11  Jim Meyering  <meyering@redhat.com>
52396         maint.mk: don't include dist-check.mk
52397         * top/maint.mk: Remove bogus include directive.
52399         maint.mk: improve empty-line-at-EOF check
52400         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
52401         solution, rather than tail+Perl-based one.  The latter would read
52402         a few kilobytes from the end of each file, and did not handle empty
52403         files properly.
52405         maint.mk: print the elapsed time for each syntax-check rule
52406         * top/maint.mk (sc_m_rules_): Save start time in a file.
52407         (sc_z_rules_): New rules: remove temp file and print elapsed time.
52408         (local-check): Interpose the .z rules
52410 2010-04-11  Jim Meyering  <meyering@redhat.com>
52412         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
52413         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
52414         empty file with one that ends in an empty line.
52416 2010-04-10  Bruno Haible  <bruno@clisp.org>
52418         mkdir: Make it work on mingw64.
52419         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
52420         * lib/mkdir.c: Update comment.
52421         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
52423 2010-04-10  Bruno Haible  <bruno@clisp.org>
52425         Don't override improved macro from newer autoconf.
52426         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
52427         autoconf >= 2.62.
52428         Reported by Joel E. Denny <jdenny@clemson.edu>.
52430 2010-04-10  Jim Meyering  <meyering@redhat.com>
52432         maint.mk: new syntax-check rule: prohibit empty lines at end of file
52433         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
52435         maint.mk: correct a diagnostic
52436         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
52437         in diagnostic; now use $prohibit.
52439 2010-04-10  Bruno Haible  <address@hidden>
52441         fchownat: Fix a C++ test error on Solaris 8.
52442         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
52443         the function does not exist.
52445 2010-04-10  Bruno Haible  <bruno@clisp.org>
52447         vasnprintf: Add more tests.
52448         * tests/test-vasnprintf-posix.c: Include <errno.h>.
52449         (test_function): Test converting an invalid wide string.
52451         vasnprintf: Correct handling of unconvertible wide string arguments.
52452         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
52453         VASNPRINTF.
52454         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
52455         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
52456         smaller than the expected maximum need for the directive. Set errno to
52457         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
52458         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
52459         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
52460         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
52461         * modules/vasnprintf (Files): Add m4/printf.m4.
52462         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52464 2010-04-10  Bruno Haible  <bruno@clisp.org>
52466         vasnprintf: Fix crash in %ls directive.
52467         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
52468         string is passed as argument to %ls, with no precision and no width.
52469         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52471 2010-04-10  Bruno Haible  <bruno@clisp.org>
52473         vasnprintf: Fix multiple test failures on mingw.
52474         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
52475         _snprintf, or snwprintf, not _snwprintf.
52477 2010-04-10  Bruno Haible  <bruno@clisp.org>
52479         write: Fix a C++ test error on mingw.
52480         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
52482 2010-04-10  Bruno Haible  <bruno@clisp.org>
52484         vasnprintf test: Reduce code duplication.
52485         * tests/test-vasnprintf.c (test_function): New function, extracted from
52486         test_vasnprintf.
52487         (test_vasnprintf, test_asnprintf): Invoke it.
52489 2010-04-10  Bruno Haible  <bruno@clisp.org>
52491         strnlen: Fix warning in C++ mode on MacOS X.
52492         * lib/string.in.h (strnlen): Use the modern idiom.
52493         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
52494         defining strnlen as a macro already in <config.h>.
52495         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52496         REPLACE_STRNLEN.
52497         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
52498         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52500 2010-04-08  James Youngman  <jay@gnu.org>
52502         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
52503         the example.
52505 2010-04-09  Jim Meyering  <meyering@redhat.com>
52507         maint.mk: print better diagnostic when there is no $(_hv_file)
52508         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
52509         announce that when $(_hv_file) (aka help-version) does not exist.
52511         init.sh: run tr in the "C" locale to avoid multibyte interpretation
52512         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
52513         not try to interpret its random input bytes.  Jarno Rajahalme reported
52514         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
52515         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
52516         (mktempd_): Likewise, just in case.
52518         ftruncate: add two years to projected module removal date: 2012
52519         * m4/ftruncate.m4: Adjust comments.
52521         ftruncate: mark module as obsolete; even MinGW provides it, now
52522         * modules/ftruncate (Status): Obsolete.
52523         (Notice): Say that.
52524         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
52525         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
52527 2010-04-08  Bruno Haible  <bruno@clisp.org>
52529         Fix side effects from tests-related modules.
52530         * modules/dprintf-posix (Comment): New section.
52531         * modules/fprintf-posix (Comment): Likewise.
52532         * modules/obstack-printf-posix (Comment): Likewise.
52533         * modules/printf-posix (Comment): Likewise.
52534         * modules/snprintf-posix (Comment): Likewise.
52535         * modules/sprintf-posix (Comment): Likewise.
52536         * modules/vasnprintf-posix (Comment): Likewise.
52537         * modules/vasprintf-posix (Comment): Likewise.
52538         * modules/vdprintf-posix (Comment): Likewise.
52539         * modules/vfprintf-posix (Comment): Likewise.
52540         * modules/vprintf-posix (Comment): Likewise.
52541         * modules/vsnprintf-posix (Comment): Likewise.
52542         * modules/vsprintf-posix (Comment): Likewise.
52543         * modules/xprintf-posix (Comment): Likewise.
52544         * modules/xvasprintf-posix (Comment): Likewise.
52545         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
52546         * modules/floorf-tests (Depends-on): Likewise.
52547         * modules/round-tests (Depends-on): Likewise.
52548         * modules/roundf-tests (Depends-on): Likewise.
52549         * modules/trunc-tests (Depends-on): Likewise.
52550         * modules/truncf-tests (Depends-on): Likewise.
52551         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
52552         'fprintf-posix' module is not present.
52553         * tests/test-floorf2.c (check): Likewise.
52554         * tests/test-trunc2.c (check): Likewise.
52555         * tests/test-truncf2.c (check): Likewise.
52556         * tests/test-round2.c (equal): Likewise.
52557         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52559 2010-04-07  Karl Berry  <karl@gnu.org>
52561         * config/srclist.txt,
52562         * config/srclistvars.sh,
52563         * config/srclist-update: doc fixes.
52565 2010-04-07  Jim Meyering  <meyering@redhat.com>
52567         maint.mk: add a PATH crosschecking syntax-check rule
52568         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
52569         Useful if you use a test like the one in help-version (coreutils,
52570         diffutils, grep, gzip) that ensures $(VERSION) matches what is
52571         printed by prog --version.
52573 2010-04-06  Bruno Haible  <bruno@clisp.org>
52575         Fix link error on mingw.
52576         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
52577         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
52579 2010-04-06  Bruno Haible  <bruno@clisp.org>
52581         Assume rmdir exists.
52582         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
52584 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
52586         doc: update users.txt
52587         * users.txt: Add gcal.
52589 2010-04-06  Jim Meyering  <meyering@redhat.com>
52591         init.sh: simply unset TMPDIR rather than risking env -i
52592         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
52593         although it probably works fine on all Unix-based systems, some
52594         systems (Cygwin?) cannot tolerate a totally cleared environment.
52595         Suggestion from Eric Blake.
52597 2010-04-06  Jim Meyering  <meyering@redhat.com>
52599         init.sh: portability fix: use env's POSIX-specified -i option not -u
52600         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
52601         than unportable env -u.  Solaris 5.11's env lacks support for -u.
52603 2010-04-05  Bruno Haible  <bruno@clisp.org>
52605         btowc: Work around Cygwin 1.7.2 bug.
52606         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
52607         does not map NUL to 0.
52608         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
52610 2010-04-05  Bruno Haible  <bruno@clisp.org>
52612         Make the multithread modules work on Cygwin 1.7.2.
52613         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
52614         imported symbols can be declared weak, so that it returns "no" on
52615         Cygwin 1.7.2.
52617 2010-04-05  Bruno Haible  <bruno@clisp.org>
52619         Use the module 'strncat'.
52620         * modules/unistr/u8-strncat (Depends-on): Add strncat.
52622         Tests for module 'strncat'.
52623         * modules/strncat-tests: New file.
52624         * tests/test-strncat.c: New file.
52626         New module 'strncat'.
52627         * lib/string.in.h (strncat): New declaration.
52628         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
52629         * m4/strncat.m4: New file, based on m4/memchr.m4.
52630         * modules/strncat: New file.
52631         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
52632         is declared.
52633         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
52634         REPLACE_STRNCAT.
52635         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
52636         REPLACE_STRNCAT.
52637         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
52638         module.
52639         * tests/test-string-c++.cc: Check signature of strncat.
52641 2010-04-05  Jim Meyering  <meyering@redhat.com>
52643         xstrtoumax-tests: convert to use init.sh
52644         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
52645         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52646         Use Exit, not exit.
52647         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52649         xstrtoimax-tests: convert to use init.sh
52650         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
52651         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52652         Use Exit, not exit.
52653         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52655 2010-04-05  Bruno Haible  <bruno@clisp.org>
52657         sys_socket: Avoid #define replacements in C++ mode.
52658         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
52659         warning to the function if possible, rather than #defining the symbol
52660         to a dysfunctional alias.
52662 2010-04-05  Bruno Haible  <bruno@clisp.org>
52664         fseeko: Fix C++ test error on mingw.
52665         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
52666         gl_FUNC_FSEEKO.
52667         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
52668         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
52669         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
52670         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
52672 2010-04-05  Bruno Haible  <bruno@clisp.org>
52674         duplocale: Improve test output.
52675         * tests/test-duplocale.c (main): Print reason for skipped test.
52677 2010-04-05  Bruno Haible  <bruno@clisp.org>
52679         Assume rmdir exists.
52680         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
52681         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
52683 2010-04-05  Bruno Haible  <bruno@clisp.org>
52685         Fix link error on Solaris 8 with cc.
52686         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
52688 2010-04-05  Bruno Haible  <bruno@clisp.org>
52690         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
52691         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
52693 2010-04-05  Bruno Haible  <bruno@clisp.org>
52695         vasprintf: Update documentation.
52696         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
52698 2010-04-05  Bruno Haible  <bruno@clisp.org>
52700         ptsname: Improve test.
52701         * tests/test-ptsname.c (main): Also try the various master names of BSD
52702         systems.
52704 2010-04-05  Bruno Haible  <bruno@clisp.org>
52706         memchr: Avoid a possible C++ test error.
52707         * lib/string.in.h (memchr): Provide declaration if function is missing.
52708         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
52709         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
52710         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
52711         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
52713 2010-04-05  Bruno Haible  <bruno@clisp.org>
52715         strtok_r: Improve idiom.
52716         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
52717         AC_LIBOBJ is used.
52719 2010-04-05  Bruno Haible  <bruno@clisp.org>
52721         strdup: Improve idiom.
52722         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
52723         AC_LIBOBJ is used.
52724         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
52725         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
52726         when AC_LIBOBJ is used.
52728 2010-04-05  Bruno Haible  <bruno@clisp.org>
52730         mbsinit, mbrtowc, wcrtomb: Improve idioms.
52731         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
52732         don't set REPLACE_MBSINIT to 1.
52733         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
52734         don't set REPLACE_MBRTOWC to 1.
52735         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
52736         exist, don't set REPLACE_MBSRTOWCS to 1.
52737         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
52738         exist, don't set REPLACE_MBSNRTOWCS to 1.
52739         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
52740         don't set REPLACE_WCRTOMB to 1.
52741         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
52742         exist, don't set REPLACE_WCSRTOMBS to 1.
52743         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
52744         exist, don't set REPLACE_WCSNRTOMBS to 1.
52746 2010-04-05  Bruno Haible  <bruno@clisp.org>
52748         ldexpl: Improve idiom.
52749         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
52750         make sure to set HAVE_DECL_LDEXPL to 0.
52752 2010-04-05  Jim Meyering  <meyering@redhat.com>
52754         xstrtol-tests: convert to use init.sh
52755         * modules/xstrtol-tests (Files): Add tests/init.sh.
52756         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52757         Use Exit, not exit.
52758         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52760         atexit-tests: convert to use init.sh
52761         * modules/atexit-tests (Files): Add tests/init.sh.
52762         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52763         Use Exit, not exit.
52764         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52766         init.sh: fix typo
52767         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
52769         init.sh: make it easier for a test script to write to the tty, ...
52770         when using automake's parallel-tests mode.
52771         * tests/init.sh (stderr_fileno_): Define overridable variable.
52772         (warn_): New function, to use it.
52773         (fail_, skip_, framework_failure_): Use warn_.
52775 2010-04-04  Bruno Haible  <bruno@clisp.org>
52777         btowc: Avoid warning.
52778         * lib/btowc.c: Include <stdlib.h>.
52779         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
52781 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
52782             Bruno Haible  <bruno@clisp.org>
52784         wchar: Port to NetBSD 1.5.
52785         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
52786         * lib/wctype.in.h (WEOF): Likewise.
52788 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
52789             Bruno Haible  <bruno@clisp.org>
52791         Port extended stdio to NetBSD 1.5.
52792         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
52793         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
52794         older.
52796 2010-04-04  Bruno Haible  <bruno@clisp.org>
52798         string: Remove unused substitution.
52799         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
52800         HAVE_DECL_STRERROR.
52801         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
52803 2010-04-04  Bruno Haible  <bruno@clisp.org>
52805         strtod: Avoid a possible C++ test error.
52806         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
52807         set REPLACE_STRTOD.
52809 2010-04-04  Bruno Haible  <bruno@clisp.org>
52811         strerror: Update documentation.
52812         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
52814 2010-04-04  Bruno Haible  <bruno@clisp.org>
52816         stdio: Fix some C++ test errors on Solaris 8 with GCC.
52817         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
52818         _GL_CXXALIAS_SYS_CAST.
52820 2010-04-04  Bruno Haible  <bruno@clisp.org>
52822         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
52823         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
52824         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
52825         REPLACE_FREXPL to 1.
52826         * doc/posix-functions/frexpl.texi: Update documentation.
52828 2010-04-04  Bruno Haible  <bruno@clisp.org>
52830         math: Fix some C++ test errors on Solaris 8 and Cygwin.
52831         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
52833 2010-04-04  Bruno Haible  <bruno@clisp.org>
52835         Implement nanosleep for native Windows.
52836         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
52838 2010-04-04  Bruno Haible  <bruno@clisp.org>
52840         math: Fix some C++ test errors on Solaris 8.
52841         * lib/math.in.h (truncf, trunc): Use simpler idiom.
52843 2010-04-04  Bruno Haible  <bruno@clisp.org>
52845         math: Fix some C++ test errors on Cygwin.
52846         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
52847         truncl): Provide declaration if the system does not have it.
52848         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
52849         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
52850         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
52851         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
52852         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
52853         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
52854         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
52855         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
52856         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
52857         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
52858         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
52859         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
52860         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
52861         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
52862         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
52863         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
52864         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
52865         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
52866         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
52867         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
52868         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
52869         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
52871 2010-04-04  Bruno Haible  <bruno@clisp.org>
52873         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
52874         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
52875         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
52876         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
52877         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
52878         * m4/isinf.m4 (gl_ISINF): Likewise.
52879         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
52881 2010-04-04  Bruno Haible  <bruno@clisp.org>
52883         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
52884         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
52886 2010-04-04  Bruno Haible  <bruno@clisp.org>
52888         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
52889         * modules/tmpfile (configure.ac): Update.
52891         tmpfile: Fix C++ test error on mingw.
52892         * lib/stdio.in.h (tmpfile): New declaration.
52893         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
52894         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
52895         * modules/tmpfile (Depends-on): Add stdio.
52896         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52897         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
52898         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
52899         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
52900         REPLACE_TMPFILE.
52901         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
52903 2010-04-04  Bruno Haible  <bruno@clisp.org>
52905         ioctl: Fix C++ test error on mingw.
52906         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
52907         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
52908         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
52910 2010-04-03  Bruno Haible  <bruno@clisp.org>
52912         wcwidth: Fix C++ test error on mingw.
52913         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
52914         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
52915         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
52917 2010-04-03  Bruno Haible  <bruno@clisp.org>
52919         nanosleep: Fix C++ test error on mingw.
52920         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
52921         * lib/time.in.h (nanosleep): Use modern idiom.
52922         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
52923         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
52924         REPLACE_NANOSLEEP to 1.
52925         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
52926         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
52928 2010-04-03  Bruno Haible  <bruno@clisp.org>
52930         strptime: Fix C++ test error on mingw.
52931         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
52932         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
52933         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
52934         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
52935         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
52936         not REPLACE_STRPTIME.
52937         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
52938         REPLACE_STRPTIME.
52940 2010-04-03  Bruno Haible  <bruno@clisp.org>
52942         timegm: Fix C++ test error on mingw.
52943         * lib/time.in.h (timegm): Use modern idiom.
52944         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
52945         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
52946         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
52947         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
52949 2010-04-03  Bruno Haible  <bruno@clisp.org>
52951         timegm: Assume declaration if function exists.
52952         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
52953         if it exists. Don't clobber ac_cv_func_timegm.
52955 2010-04-03  Bruno Haible  <bruno@clisp.org>
52957         time_r: Fix C++ test error on mingw.
52958         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
52959         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
52960         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
52961         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
52962         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
52964 2010-04-03  Bruno Haible  <bruno@clisp.org>
52966         time_r: Minor updates.
52967         * modules/time_r (Description): Mention the provided functions.
52968         * lib/time_r.c: Don't include <string.h>.
52969         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
52970         * doc/posix-functions/localtime_r.texi: Likewise.
52972 2010-04-03  Bruno Haible  <bruno@clisp.org>
52974         time: Fix regression introduced on 2010-03-08.
52975         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
52976         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
52978 2010-04-03  Jim Meyering  <meyering@redhat.com>
52980         maint.mk: don't silently disable project-specific syntax-check rules
52981         * top/maint.mk (_prohibit_regexp): Define, to help people realize
52982         that they need to convert their project-specific syntax-check rules
52983         to use the new _sc_search_regexp.
52985 2010-04-03  Bruno Haible  <bruno@clisp.org>
52987         fchdir: Fix regression introduced on 2010-03-08.
52988         * lib/unistd.in.h (fchdir): Fix declaration.
52989         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
52990         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
52991         REPLACE_FCHDIR.
52992         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
52993         REPLACE_FCHDIR.
52995 2010-04-03  Bruno Haible  <bruno@clisp.org>
52997         getpagesize: Fix C++ test error on mingw.
52998         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
52999         system does not declare the function.
53000         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
53001         declared.
53002         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53003         HAVE_DECL_GETPAGESIZE.
53004         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
53006 2010-04-03  Bruno Haible  <bruno@clisp.org>
53008         stdio: Make C++ tests work on mingw.
53009         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
53010         does not declare the function.
53012 2010-04-03  Bruno Haible  <bruno@clisp.org>
53014         ftello: Fix C++ test error on mingw.
53015         * lib/stdio.in.h (ftello): Use modern idiom.
53016         * lib/ftello.c (ftello): Renamed from rpl_ftello.
53017         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
53018         is missing and that it needs to be replaced.
53019         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
53020         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
53021         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
53023 2010-04-03  Bruno Haible  <bruno@clisp.org>
53025         fseeko: Fix C++ test error on mingw.
53026         * lib/stdio.in.h (fseeko): Use modern idiom.
53027         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
53028         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
53029         is missing and that it needs to be replaced.
53030         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
53031         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
53032         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
53034 2010-04-03  Bruno Haible  <bruno@clisp.org>
53036         mkstemp: Fix C++ test error on mingw.
53037         * lib/stdlib.in.h (mkstemp): Use modern idiom.
53038         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
53039         function is missing and that it needs to be replaced.
53040         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
53041         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
53043 2010-04-03  Bruno Haible  <bruno@clisp.org>
53045         stpncpy: Fix C++ test error on mingw.
53046         * lib/string.in.h (stpncpy): Use modern idiom.
53047         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
53048         function is missing and that it needs to be replaced.
53049         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53050         REPLACE_STPNCPY.
53051         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
53053 2010-04-03  Bruno Haible  <bruno@clisp.org>
53055         sys_stat: Fix C++ test error on mingw.
53056         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
53057         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
53059 2010-04-03  Bruno Haible  <bruno@clisp.org>
53061         pty: Update doc.
53062         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
53064 2010-04-03  Bruno Haible  <bruno@clisp.org>
53066         unistd: Fix C++ test error on mingw.
53067         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
53069 2010-04-03  Bruno Haible  <bruno@clisp.org>
53071         Update doc regarding mingw.
53072         * doc/glibc-functions/openpty.texi: Update regarding mingw.
53073         * doc/glibc-functions/login_tty.texi: Likewise.
53074         * doc/glibc-functions/forkpty.texi: Likewise.
53076 2010-04-03  Bruno Haible  <bruno@clisp.org>
53078         stdlib: Avoid compilation failure of c-strtold on mingw.
53079         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
53081 2010-04-03  Bruno Haible  <bruno@clisp.org>
53083         locale: Make C++ tests work on Cygwin and mingw.
53084         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
53085         cannot provide the function.
53086         Reported by Simon Josefsson.
53088 2010-04-03  Bruno Haible  <bruno@clisp.org>
53090         localename: Port to MacOS X 10.6.
53091         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
53092         memory layout of the locales in MacOS X 10.6 as well.
53093         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
53095 2010-04-02  Bruno Haible  <bruno@clisp.org>
53097         gnulib-tool: Ensure that long-running tests are executed last.
53098         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
53099         running tests after the one for the other tests.
53101 2010-04-02  Bruno Haible  <bruno@clisp.org>
53103         gnulib-tool: Ensure the tests in the main directory are executed first.
53104         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
53105         start with the current directory.
53107 2010-04-02  Bruno Haible  <bruno@clisp.org>
53109         Tests for module 'havelib', moved here from GNU gettext.
53110         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
53111         modifications.
53112         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
53113         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
53114         with modifications.
53115         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
53116         modifications.
53117         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
53118         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
53119         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
53120         with modifications.
53121         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
53122         with modifications.
53123         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
53124         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
53125         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
53126         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
53127         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
53128         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
53129         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
53130         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
53131         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
53132         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
53133         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
53134         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
53135         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
53136         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
53137         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
53138         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
53139         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
53140         with modifications.
53141         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
53142         with modifications.
53143         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
53144         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
53145         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
53146         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
53147         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
53148         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
53149         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
53150         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
53151         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
53152         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
53153         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
53154         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
53155         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
53156         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
53157         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
53158         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
53159         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
53160         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
53161         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
53162         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
53163         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
53164         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
53165         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
53166         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
53167         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
53168         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
53169         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
53170         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
53171         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
53172         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
53173         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
53174         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
53175         * tests/havelib/rpathx/rpathx.c: New file, from
53176         gettext/autoconf-lib-link.
53177         * tests/havelib/rpathx/Makefile.am: New file, from
53178         gettext/autoconf-lib-link.
53179         * tests/havelib/rpathx/configure.ac: New file, from
53180         gettext/autoconf-lib-link with modifications.
53181         * tests/havelib/rpathy/rpathy.c: New file, from
53182         gettext/autoconf-lib-link.
53183         * tests/havelib/rpathy/Makefile.am: New file, from
53184         gettext/autoconf-lib-link.
53185         * tests/havelib/rpathy/configure.ac: New file, from
53186         gettext/autoconf-lib-link with modifications.
53187         * tests/havelib/rpathz/rpathz.c: New file, from
53188         gettext/autoconf-lib-link.
53189         * tests/havelib/rpathz/Makefile.am: New file, from
53190         gettext/autoconf-lib-link.
53191         * tests/havelib/rpathz/configure.ac: New file, from
53192         gettext/autoconf-lib-link with modifications.
53193         * tests/havelib/rpathlx/usex.c: New file, from
53194         gettext/autoconf-lib-link.
53195         * tests/havelib/rpathlx/Makefile.am: New file, from
53196         gettext/autoconf-lib-link.
53197         * tests/havelib/rpathlx/configure.ac: New file, from
53198         gettext/autoconf-lib-link with modifications.
53199         * tests/havelib/rpathly/usey.c: New file, from
53200         gettext/autoconf-lib-link.
53201         * tests/havelib/rpathly/Makefile.am: New file, from
53202         gettext/autoconf-lib-link.
53203         * tests/havelib/rpathly/configure.ac: New file, from
53204         gettext/autoconf-lib-link with modifications.
53205         * tests/havelib/rpathlz/usez.c: New file, from
53206         gettext/autoconf-lib-link.
53207         * tests/havelib/rpathlz/Makefile.am: New file, from
53208         gettext/autoconf-lib-link.
53209         * tests/havelib/rpathlz/configure.ac: New file, from
53210         gettext/autoconf-lib-link with modifications.
53211         * tests/havelib/rpathlyx/usey.c: New file, from
53212         gettext/autoconf-lib-link.
53213         * tests/havelib/rpathlyx/Makefile.am: New file, from
53214         gettext/autoconf-lib-link.
53215         * tests/havelib/rpathlyx/configure.ac: New file, from
53216         gettext/autoconf-lib-link with modifications.
53217         * tests/havelib/rpathlzyx/usez.c: New file, from
53218         gettext/autoconf-lib-link.
53219         * tests/havelib/rpathlzyx/Makefile.am: New file, from
53220         gettext/autoconf-lib-link.
53221         * tests/havelib/rpathlzyx/configure.ac: New file, from
53222         gettext/autoconf-lib-link with modifications.
53223         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
53224         with modifications.
53226 2010-04-02  Bruno Haible  <bruno@clisp.org>
53228         gnulib-tool: Create distributed built sources also for the tests.
53229         * gnulib-tool (func_create_testdir): Also generate distributed built
53230         sources in the tests directory.
53232 2010-04-02  Bruno Haible  <bruno@clisp.org>
53234         gnulib-tool: Obey user's environment variables.
53235         * gnulib-tool (func_create_testdir): When creating built sources,
53236         respect the environment variables for autoconf, automake, etc. given by
53237         the user.
53239 2010-04-02  Bruno Haible  <bruno@clisp.org>
53241         gnulib-tool: Provide the value of --m4-base to modules.
53242         * gnulib-tool (func_import, func_create_testdir): Emit a definition
53243         of gl_m4_base.
53245 2010-04-02  Eric Blake  <eblake@redhat.com>
53247         maint.mk: fix some fallout
53248         * NEWS: Document the incompatible change, and its effect on cfg.mk.
53249         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
53251 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
53253         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
53254         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
53255         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
53256         (sc_cast_of_x_alloc_return_value): Likewise.
53257         (sc_cast_of_alloca_return_value): Likewise.
53258         (sc_space_tab): Likewise.
53259         (sc_prohibit_atoi_atof): Likewise.
53260         (sc_prohibit_magic_number_exit): Likewise.
53261         (sc_error_exit_success): Likewise.
53262         (sc_file_system): Likewise.
53263         (sc_prohibit_have_config_h): Likewise.
53264         (sc_require_config_h): Likewise.
53265         (sc_prohibit_HAVE_MBRTOWC): Likewise.
53266         (sc_obsolete_symbols): Likewise.
53267         (sc_changelog): Likewise.
53268         (sc_program_name): Likewise.
53269         (sc_the_the): Likewise.
53270         (sc_trailing_blank): Likewise.
53271         (sc_two_space_separator_in_usage): Likewise.
53272         (sc_useless_cpp_parens): Likewise.
53273         (sc_GPL_version): Likewise.
53274         (sc_GFDL_version): Likewise.
53275         (sc_texinfo_acronym): Likewise.
53276         (sc_prohibit_cvs_keyword): Likewise.
53277         (sc_prohibit_stat_st_blocks): Likewise.
53278         (sc_prohibit_S_IS_definition): Likewise.
53279         (sc_redundant_const): Likewise.
53280         (sc_makefile_TAB_only_indentation): Likewise.
53281         (sc_m4_quote_check): Likewise.
53282         (sc_makefile_path_separator_check): Likewise.
53283         (sc_copyright_check): Likewise.
53284         (sc_Wundef_boolean): Likewise.
53285         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
53287         maint.mk: match 0 or more whitespace-before-function-call '('
53288         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
53289         that have zero or two-and-more spaces between the function name
53290         and the open parenthesis.
53291         (sc_error_message_warn_fatal): Likewise.
53292         (sc_error_message_uppercase): Likewise.
53293         (sc_error_message_period): Likewise.
53295 2010-03-31  Eric Blake  <eblake@redhat.com>
53297         maint.mk: check for [ as well as test
53298         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
53299         Based on a libvirt report by Matthias Bolte.
53301         gnumakefile: don't squelch _version output
53302         * top/GNUmakefile (_version): Create one-shot dependency rather
53303         than using $(shell) when version must be regenerated.
53304         (_autoreconf): Run verbosely, by default.
53306         sys_time: avoid compiler warnings
53307         * lib/sys_time.in.h (includes): Ensure gcc pragma is
53308         unconditional, fixing regression from 2010-03-29.
53309         Reported by Simon Josefsson.
53311 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
53313         maint.mk: s/_header_without_use/_sc_header_without_use/
53314         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
53315         (sc_prohibit_assert_without_use): Use the new name.
53316         (sc_prohibit_close_stream_without_use): Likewise.
53317         (sc_prohibit_getopt_without_use): Likewise.
53318         (sc_prohibit_quotearg_without_use): Likewise.
53319         (sc_prohibit_quote_without_use): Likewise.
53320         (sc_prohibit_long_options_without_use): Likewise.
53321         (sc_prohibit_inttostr_without_use): Likewise.
53322         (sc_prohibit_ignore_value_without_use): Likewise.
53323         (sc_prohibit_error_without_use): Likewise.
53324         (sc_prohibit_xalloc_without_use): Likewise.
53325         (sc_prohibit_hash_without_use): Likewise.
53326         (sc_prohibit_hash_pjw_without_use): Likewise.
53327         (sc_prohibit_safe_read_without_use): Likewise.
53328         (sc_prohibit_argmatch_without_use): Likewise.
53329         (sc_prohibit_canonicalize_without_use): Likewise.
53330         (sc_prohibit_root_dev_ino_without_use): Likewise.
53331         (sc_prohibit_openat_without_use): Likewise.
53332         (sc_prohibit_c_ctype_without_use): Likewise.
53333         (sc_prohibit_signal_without_use): Likewise.
53334         (sc_prohibit_intprops_without_use): Likewise.
53336 2010-03-30  Eric Blake  <eblake@redhat.com>
53338         maint: improve module indicators
53339         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
53340         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
53341         columns, and avoid extra macro expansion.
53343         fdopendir: work around FreeBSD bug
53344         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
53345         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
53346         * modules/dirent (Makefile.am): Substitute it.
53347         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
53348         declaration.
53349         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
53350         fix.
53351         Reported by Christian Weisgerber <naddy@mips.inka.de>.
53353 2010-03-29  Bruno Haible  <bruno@clisp.org>
53355         Emit #pragma system_header after the inclusion guard, not before.
53356         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
53357         guard that spans the entire file, not before. This enables an
53358         optimization in GCC's preprocessor.
53359         * lib/ctype.in.h: Likewise.
53360         * lib/dirent.in.h: Likewise.
53361         * lib/errno.in.h: Likewise.
53362         * lib/float.in.h: Likewise.
53363         * lib/getopt.in.h: Likewise.
53364         * lib/iconv.in.h: Likewise.
53365         * lib/langinfo.in.h: Likewise.
53366         * lib/locale.in.h: Likewise.
53367         * lib/math.in.h: Likewise.
53368         * lib/netdb.in.h: Likewise.
53369         * lib/netinet_in.in.h: Likewise.
53370         * lib/pty.in.h: Likewise.
53371         * lib/sched.in.h: Likewise.
53372         * lib/se-selinux.in.h: Likewise.
53373         * lib/search.in.h: Likewise.
53374         * lib/spawn.in.h: Likewise.
53375         * lib/stdarg.in.h: Likewise.
53376         * lib/stdint.in.h: Likewise.
53377         * lib/string.in.h: Likewise.
53378         * lib/strings.in.h: Likewise.
53379         * lib/sys_file.in.h: Likewise.
53380         * lib/sys_ioctl.in.h: Likewise.
53381         * lib/sys_time.in.h: Likewise.
53382         * lib/sys_times.in.h: Likewise.
53383         * lib/sys_utsname.in.h: Likewise.
53384         * lib/sys_wait.in.h: Likewise.
53385         * lib/sysexits.in.h: Likewise.
53386         * lib/wctype.in.h: Likewise.
53388 2010-03-28  James Youngman  <jay@gnu.org>
53390         save-cwd: don't leak a file descriptor when the caller execs.
53391         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
53392         saved file descriptor.
53393         * modules/save-cwd (Depends-on): Depend on cloexec.
53395 2010-03-29  Bruno Haible  <bruno@clisp.org>
53397         Remove vestiges of fts-lgpl module.
53398         * lib/fts_.h: Assume GNULIB_FTS is 1.
53399         * lib/fts.c: Likewise.
53400         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
53402 2010-03-28  Bruno Haible  <bruno@clisp.org>
53404         Fix definition of tests witness macro.
53405         * gnulib-tool (func_import): Fix definition of witness macro.
53407 2010-03-28  Bruno Haible  <bruno@clisp.org>
53409         Fix ioctl's protoype on glibc systems.
53410         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
53411         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
53412         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
53413         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
53414         signature. If not, arrange to replace the ioctl function.
53415         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
53416         REPLACE_IOCTL.
53417         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
53418         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
53419         Reported by Ludovic Courtès <ludo@gnu.org>.
53421 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
53423         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
53424         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
53425         made it so grep -r --include=GLOB* ... did not work.
53427 2010-03-26  Jim Meyering  <meyering@redhat.com>
53428             Eric Blake  <eblake@redhat.com>
53430         maint.mk: prohibit use of test's -o and -a operators
53431         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
53433 2010-03-28  Bruno Haible  <bruno@clisp.org>
53435         Remove unused GNULIB_XYZ macro definitions.
53436         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
53437         invocation.
53439 2010-03-28  Bruno Haible  <bruno@clisp.org>
53441         Mark privileged tests modules.
53442         * modules/idpriv-drop-tests (Status): New section.
53443         * modules/idpriv-droptemp-tests (Status): New section.
53445 2010-03-28  Bruno Haible  <bruno@clisp.org>
53447         Split C++ tests into separate tests modules.
53448         * modules/dirent-c++-tests: New file, extracted from
53449         modules/dirent-tests.
53450         * modules/dirent-tests: Depend on it.
53451         * modules/fcntl-h-c++-tests: New file, extracted from
53452         modules/fcntl-h-tests.
53453         * modules/fcntl-h-tests: Depend on it.
53454         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
53455         * modules/glob-tests: Depend on it.
53456         * modules/iconv-h-c++-tests: New file, extracted from
53457         modules/iconv-h-tests.
53458         * modules/iconv-h-tests: Depend on it.
53459         * modules/langinfo-c++-tests: New file, extracted from
53460         modules/langinfo-tests.
53461         * modules/langinfo-tests: Depend on it.
53462         * modules/locale-c++-tests: New file, extracted from
53463         modules/locale-tests.
53464         * modules/locale-tests: Depend on it.
53465         * modules/math-c++-tests: New file, extracted from modules/math-tests.
53466         * modules/math-tests: Depend on it.
53467         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
53468         * modules/pty-tests: Depend on it.
53469         * modules/search-c++-tests: New file, extracted from
53470         modules/search-tests.
53471         * modules/search-tests: Depend on it.
53472         * modules/signal-c++-tests: New file, extracted from
53473         modules/signal-tests.
53474         * modules/signal-tests: Depend on it.
53475         * modules/spawn-c++-tests: New file, extracted from
53476         modules/spawn-tests.
53477         * modules/spawn-tests: Depend on it.
53478         * modules/stdio-c++-tests: New file, extracted from
53479         modules/stdio-tests.
53480         * modules/stdio-tests: Depend on it.
53481         * modules/stdlib-c++-tests: New file, extracted from
53482         modules/stdlib-tests.
53483         * modules/stdlib-tests: Depend on it.
53484         * modules/string-c++-tests: New file, extracted from
53485         modules/string-tests.
53486         * modules/string-tests: Depend on it.
53487         * modules/sys_ioctl-c++-tests: New file, extracted from
53488         modules/sys_ioctl-tests.
53489         * modules/sys_ioctl-tests: Depend on it.
53490         * modules/sys_select-c++-tests: New file, extracted from
53491         modules/sys_select-tests.
53492         * modules/sys_select-tests: Depend on it.
53493         * modules/sys_socket-c++-tests: New file, extracted from
53494         modules/sys_socket-tests.
53495         * modules/sys_socket-tests: Depend on it.
53496         * modules/sys_stat-c++-tests: New file, extracted from
53497         modules/sys_stat-tests.
53498         * modules/sys_stat-tests: Depend on it.
53499         * modules/sys_time-c++-tests: New file, extracted from
53500         modules/sys_time-tests.
53501         * modules/sys_time-tests: Depend on it.
53502         * modules/time-c++-tests: New file, extracted from modules/time-tests.
53503         * modules/time-tests: Depend on it.
53504         * modules/unistd-c++-tests: New file, extracted from
53505         modules/unistd-tests.
53506         * modules/unistd-tests: Depend on it.
53507         * modules/wchar-c++-tests: New file, extracted from
53508         modules/wchar-tests.
53509         * modules/wchar-tests: Depend on it.
53510         * modules/wctype-c++-tests: New file, extracted from
53511         modules/wctype-tests.
53512         * modules/wctype-tests: Depend on it.
53513         Reported by Simon Josefsson.
53515 2010-03-28  Bruno Haible  <bruno@clisp.org>
53517         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
53518         * gnulib-tool (func_exists_module): New function, extracted from
53519         func_verify_module.
53520         (func_verify_module): Use it.
53521         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
53522         'foo' only if 'foo' exists.
53523         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
53524         module.
53526 2010-03-28  Bruno Haible  <bruno@clisp.org>
53528         gnulib-tool: Add support for special categories of tests.
53529         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
53530         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
53531         (func_usage): Document them.
53532         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
53533         inc_unportable_tests, inc_all_tests): New variables.
53534         (func_acceptable): Consider these variables.
53535         (func_modules_transitive_closure): Make it work when the 'Status' field
53536         consists of multiple words.
53537         (func_import): Store and restore the values of inc_cxx_tests,
53538         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
53539         inc_all_tests in gnulib-comp.m4.
53540         (func_create_testdir): Set inc_all_tests to true.
53541         * doc/gnulib.texi (Extra tests modules): New section.
53542         Suggested by Jim Meyering.
53544 2010-03-28  Bruno Haible  <bruno@clisp.org>
53546         ansi-c++-opt: Allow turning off the C++ build by default.
53547         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
53548         gl_CXX_CHOICE_DEFAULT_NO is defined.
53549         Requested by Eric Blake.
53551 2010-03-28  Bruno Haible  <bruno@clisp.org>
53553         unistd: Avoid #define replacements in C++ mode.
53554         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
53555         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
53556         setsockopt, shutdown, select): In C++, attach a warning to the function
53557         if possible, rather than #defining the symbol to a dysfunctional alias.
53558         Reported by John W. Eaton <jwe@gnu.org>.
53560 2010-03-28  Bruno Haible  <bruno@clisp.org>
53562         Fix link errors on mingw.
53563         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
53564         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
53565         $(LIBSOCKET).
53566         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
53567         $(LIBSOCKET).
53569 2010-03-28  Bruno Haible  <bruno@clisp.org>
53570             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53572         lib-ignore: Determine different options for different compilers.
53573         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
53574         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
53575         Add comments.
53576         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
53577         * NEWS: Mention the change.
53579 2010-03-27  Bruno Haible  <bruno@clisp.org>
53581         Remove unused GNULIB_XYZ macro definitions.
53582         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
53583         * modules/fseek (configure.ac): Likewise.
53584         * modules/ioctl (configure.ac): Likewise.
53585         * modules/open (configure.ac): Likewise.
53586         * modules/stdlib-safer (configure.ac): Likewise.
53588 2010-03-27  Bruno Haible  <bruno@clisp.org>
53590         Add a remark about certain modules.
53591         * modules/malloc (Comment): New section.
53592         * modules/realloc (Comment): Likewise.
53593         * modules/sigpipe (Comment): Likewise.
53595 2010-03-27  Bruno Haible  <bruno@clisp.org>
53597         Resolve conflict between the two kinds of module indicators.
53598         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
53599         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
53600         * modules/canonicalize (configure.ac): Invoke
53601         gl_MODULE_INDICATOR_FOR_TESTS.
53602         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
53603         GNULIB_XYZ.
53604         * tests/test-dirent-c++.cc: Likewise.
53605         * tests/test-dirent-safer.c: Likewise.
53606         * tests/test-dup2.c: Likewise.
53607         * tests/test-fchdir.c: Likewise.
53608         * tests/test-fcntl-h-c++.cc: Likewise.
53609         * tests/test-getopt.c: Likewise.
53610         * tests/test-getopt.h: Likewise.
53611         * tests/test-langinfo-c++.cc: Likewise.
53612         * tests/test-locale-c++.cc: Likewise.
53613         * tests/test-math-c++.cc: Likewise.
53614         * tests/test-pty-c++.cc: Likewise.
53615         * tests/test-search-c++.cc: Likewise.
53616         * tests/test-signal-c++.cc: Likewise.
53617         * tests/test-spawn-c++.cc: Likewise.
53618         * tests/test-stdio-c++.cc: Likewise.
53619         * tests/test-stdlib-c++.cc: Likewise.
53620         * tests/test-string-c++.cc: Likewise.
53621         * tests/test-sys_ioctl-c++.cc: Likewise.
53622         * tests/test-sys_select-c++.cc: Likewise.
53623         * tests/test-sys_socket-c++.cc: Likewise.
53624         * tests/test-sys_stat-c++.cc: Likewise.
53625         * tests/test-sys_time-c++.cc: Likewise.
53626         * tests/test-time-c++.cc: Likewise.
53627         * tests/test-unistd-c++.cc: Likewise.
53628         * tests/test-wchar-c++.cc: Likewise.
53629         * tests/uninorm/test-u8-nfc.c: Likewise.
53630         * tests/uninorm/test-u8-nfd.c: Likewise.
53631         * tests/uninorm/test-u8-nfkc.c: Likewise.
53632         * tests/uninorm/test-u8-nfkd.c: Likewise.
53633         * tests/uninorm/test-u16-nfc.c: Likewise.
53634         * tests/uninorm/test-u16-nfd.c: Likewise.
53635         * tests/uninorm/test-u16-nfkc.c: Likewise.
53636         * tests/uninorm/test-u16-nfkd.c: Likewise.
53637         * tests/uninorm/test-u32-nfc.c: Likewise.
53638         * tests/uninorm/test-u32-nfc-big.c: Likewise.
53639         * tests/uninorm/test-u32-nfd.c: Likewise.
53640         * tests/uninorm/test-u32-nfd-big.c: Likewise.
53641         * tests/uninorm/test-u32-nfkc.c: Likewise.
53642         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
53643         * tests/uninorm/test-u32-nfkd.c: Likewise.
53644         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
53645         * tests/uninorm/test-u32-normalize-big.c: Likewise.
53647 2010-03-27  Bruno Haible  <bruno@clisp.org>
53649         Distinguish two kinds of module indicators.
53650         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
53651         gl_MODULE_INDICATOR.
53652         (gl_MODULE_INDICATOR): New macro.
53653         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
53654         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
53655         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
53656         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
53657         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
53658         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
53659         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
53660         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
53661         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
53662         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
53663         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
53664         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
53665         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
53666         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
53667         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
53668         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
53669         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
53670         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
53671         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
53672         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
53673         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
53674         * modules/cloexec (configure.ac): Likewise.
53675         * modules/getopt-gnu (configure.ac): Likewise.
53676         * modules/uninorm/u8-normalize (configure.ac): Likewise.
53677         * modules/uninorm/u16-normalize (configure.ac): Likewise.
53678         * modules/uninorm/u32-normalize (configure.ac): Likewise.
53679         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
53681 2010-03-27  Bruno Haible  <bruno@clisp.org>
53683         New module description field 'Comment'.
53684         * gnulib-tool: New option --extract-comment.
53685         (func_usage): Document it.
53686         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
53687         (func_get_comment): New function.
53688         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
53690 2010-03-27  Bruno Haible  <bruno@clisp.org>
53692         Addendum to 2010-02-07 commit.
53693         * gnulib-tool (func_usage): Document --extract-applicability option.
53695 2010-03-27  Bruno Haible  <bruno@clisp.org>
53697         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
53698         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
53699         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
53700         rather than link errors.
53702 2010-03-27  Bruno Haible  <bruno@clisp.org>
53704         Avoid side effects from tests-related modules on the compilation of lib.
53705         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
53706         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
53707         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
53708         parameter. Emit into AM_CPPFLAGS a definition of the designated C
53709         macro.
53710         (func_import): Define a witness macro. Assign it a value that depends
53711         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
53712         tests-related modules.
53713         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
53714         Reported by Jim Meyering.
53716 2010-03-27  Bruno Haible  <bruno@clisp.org>
53718         Factorize common .m4 code.
53719         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
53720         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
53721         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
53722         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
53723         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
53724         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
53725         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
53726         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
53727         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
53728         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
53729         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
53730         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
53731         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
53732         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
53733         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
53734         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
53735         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
53736         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
53737         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
53738         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
53739         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
53740         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
53741         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
53742         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
53743         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
53744         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
53745         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
53746         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
53747         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
53748         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
53749         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
53750         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
53752 2010-03-27  Bruno Haible  <bruno@clisp.org>
53754         Fix a compilation error on Cygwin with g++ >= 4.3.
53755         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
53756         if it is undefined or if we alias it to chmod.
53757         (lstat): Don't warn about the use of this function if it is undefined
53758         or if we alias it to stat.
53759         Reported by Simon Josefsson.
53761 2010-03-27  Bruno Haible  <bruno@clisp.org>
53763         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
53764         * modules/getlogin (configure.ac): Update.
53766         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
53767         * modules/getlogin_r (configure.ac): Update.
53769         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
53770         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
53771         * modules/inet_ntop (configure.ac): Update.
53773         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
53774         * modules/inet_pton (configure.ac): Update.
53776         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
53777         * modules/mbslen (configure.ac): Update.
53779         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
53780         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
53781         * modules/forkpty (configure.ac): Update.
53782         * modules/openpty (configure.ac): Update.
53784 2010-03-26  Simon Josefsson  <simon@josefsson.org>
53786         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
53787         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
53789 2010-03-25  Eric Blake  <eblake@redhat.com>
53791         maint: use pragma consistently across replacement headers
53792         * lib/ctype.in.h (system_header): Hoist for consistent placement.
53793         * lib/dirent.in.h (system_header): Likewise.
53794         * lib/errno.in.h (system_header): Likewise.
53795         * lib/float.in.h (system_header): Likewise.
53796         * lib/getopt.in.h (system_header): Likewise.
53797         * lib/iconv.in.h (system_header): Likewise.
53798         * lib/inttypes.in.h (system_header): Likewise.
53799         * lib/langinfo.in.h (system_header): Likewise.
53800         * lib/locale.in.h (system_header): Likewise.
53801         * lib/math.in.h (system_header): Likewise.
53802         * lib/netdb.in.h (system_header): Likewise.
53803         * lib/netinet_in.in.h (system_header): Likewise.
53804         * lib/pty.in.h (system_header): Likewise.
53805         * lib/sched.in.h (system_header): Likewise.
53806         * lib/se-selinux.in.h (system_header): Likewise.
53807         * lib/search.in.h (system_header): Likewise.
53808         * lib/spawn.in.h (system_header): Likewise.
53809         * lib/stdarg.in.h (system_header): Likewise.
53810         * lib/stdint.in.h (system_header): Likewise.
53811         * lib/string.in.h (system_header): Likewise.
53812         * lib/strings.in.h (system_header): Likewise.
53813         * lib/sys_file.in.h (system_header): Likewise.
53814         * lib/sys_ioctl.in.h (system_header): Likewise.
53815         * lib/sys_socket.in.h (system_header): Likewise.
53816         * lib/sys_times.in.h (system_header): Likewise.
53817         * lib/sys_utsname.in.h (system_header): Likewise.
53818         * lib/sys_wait.in.h (system_header): Likewise.
53819         * lib/sysexits.in.h (system_header): Likewise.
53820         * lib/unistd.in.h (system_header): Likewise.
53821         * lib/wctype.in.h (system_header): Likewise.
53823         arpa/inet: fix mingw compilation warning
53824         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
53825         Reported by Matthew Bolte.
53827 2010-03-25  Bruno Haible  <bruno@clisp.org>
53829         Avoid collision between gnulib wrapper and libintl wrapper.
53830         * lib/printf.c (printf): Don't define if a printf wrapper is already
53831         defined in intl/printf.c.
53832         Reported by Michel Boaventura <michel@michelboaventura.com>.
53834 2010-03-25  Bruno Haible  <bruno@clisp.org>
53836         Use ANSI C.
53837         * lib/readutmp.h (getutent): Provide ANSI C prototype.
53839 2010-03-25  Bruno Haible  <bruno@clisp.org>
53841         Minor formatting changes.
53842         * lib/acosl.c: Insert space before function argument list.
53843         * lib/argz.c: Likewise.
53844         * lib/asinl.c: Likewise.
53845         * lib/expl.c: Likewise.
53846         * lib/gen-uni-tables.c: Likewise.
53847         * lib/gettext.h: Likewise.
53848         * lib/glthread/lock.h: Likewise.
53849         * lib/tanl.c: Likewise.
53850         * lib/uniname/uniname.c: Likewise.
53851         * tests/test-idpriv-drop.c: Likewise.
53852         * tests/test-idpriv-droptemp.c: Likewise.
53853         * tests/test-lock.c: Likewise.
53854         * tests/test-tls.c: Likewise.
53855         * lib/argp-help.c: Insert space before function-like macro argument
53856         list.
53857         * lib/memcmp.c: Likewise.
53858         * tests/test-base64.c: Likewise.
53859         * lib/localename.c: Insert space before sizeof's argument list.
53860         * lib/safe-alloc.h: Likewise.
53861         * lib/file-set.h: Insert space before macro argument list.
53862         * tests/test-argp.c: Likewise.
53863         * lib/argp-namefrob.h: Insert space before function parameter list.
53864         * lib/getaddrinfo.c: Likewise.
53865         * lib/netdb.in.h: Likewise.
53866         * lib/parse-duration.h: Likewise.
53867         * lib/parse-duration.c: Likewise.
53868         * lib/poll.c: Likewise.
53869         * lib/select.c: Likewise.
53870         * lib/trim.h: Likewise.
53871         * tests/test-usleep.c: Likewise.
53872         * lib/ldexpl.c: Insert space before function parameter list and before
53873         function argument list.
53874         * lib/logl.c: Likewise.
53875         * lib/sqrtl.c: Likewise.
53876         * lib/trim.c: Likewise.
53877         * lib/cosl.c: Use GNU style indentation. Insert space before function
53878         argument list.
53879         * lib/sinl.c: Likewise.
53880         * lib/tsearch.c: Insert space after 'for'.
53881         Reported by Jim Meyering.
53883 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
53885         * maint.mk (sc_Wundef_boolean): Check for the presence of the
53886         config header before grepping, as it's not present before
53887         autoreconf/configure are run.  Reported by Simon Josefsson.
53889 2010-03-23  Bruno Haible  <bruno@clisp.org>
53891         pt_chown: Make it work with automake < 1.11.
53892         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
53893         Reported by Simon Josefsson.
53895 2010-03-23  Bruno Haible  <bruno@clisp.org>
53897         pt_chown: Don't depend on GPLed modules.
53898         * lib/pt_chown.c: Don't include idpriv.h.
53899         (main): Don't drop privileges.
53900         * modules/pt_chown (Depends-on): Remove idpriv-drop.
53901         Reported by Simon Josefsson.
53903 2010-03-24  Simon Josefsson  <simon@josefsson.org>
53905         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
53906         suggestions from karl@freefriends.org (Karl Berry).
53908 2010-03-22  Eric Blake  <eblake@redhat.com>
53910         gethostname: further tweaks
53911         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
53912         are overriding gethostname.
53913         Suggested by Bruno Haible.
53915 2010-03-21  Bruno Haible  <bruno@clisp.org>
53917         Fix comments.
53918         * lib/forkpty.c (rpl_forkpty): Fix comment.
53919         * lib/openpty.c (rpl_openpty): Likewise.
53920         Reported by Eric Blake.
53922 2010-03-22  Eric Blake  <eblake@redhat.com>
53924         gethostname: fix build on mingw
53925         * lib/unistd.in.h (includes): Work around fact that mingw
53926         <winsock2.h> re-includes <unistd.h>, by avoiding any
53927         redeclarations if we are being included by <winsock2.h>.
53928         Reported by Matthias Bolte.
53930 2010-03-21  Bruno Haible  <bruno@clisp.org>
53932         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
53933         * lib/forkpty.c (forkpty): New replacement function, from glibc with
53934         modifications.
53935         * lib/pty.in.h (forkpty): Update declaration. Add comments.
53936         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
53937         provide the replacement.
53938         * modules/forkpty (Depends-on): Add openpty, login_tty.
53939         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
53940         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
53941         * doc/glibc-functions/forkpty.texi: More supported platforms.
53942         * config/srclist.txt: Add forkpty.c (commented).
53944 2010-03-21  Bruno Haible  <bruno@clisp.org>
53946         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
53947         (Makefile.am): Verify that PTY_LIB is defined.
53949         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
53951 2010-03-21  Bruno Haible  <bruno@clisp.org>
53953         Tests for module 'login_tty'.
53954         * modules/login_tty-tests: New file.
53955         * tests/test-login_tty.c: New file.
53957         New module 'login_tty'.
53958         * lib/login_tty.c: New file.
53959         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
53960         * modules/login_tty: New file.
53961         * doc/glibc-functions/login_tty.texi: Mention the new module.
53963 2010-03-21  Bruno Haible  <bruno@clisp.org>
53965         login_tty: Documentation.
53966         * doc/glibc-functions/login_tty.texi: New file.
53967         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
53969 2010-03-21  Bruno Haible  <bruno@clisp.org>
53971         pty: Consistent macro naming.
53972         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
53973         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
53974         * modules/pty (configure.ac): Update.
53976 2010-03-21  Bruno Haible  <bruno@clisp.org>
53978         Tests for openpty: Make stricter.
53979         * tests/test-openpty.c (main): Add test of canonical processing and
53980         erase.
53981         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
53983         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
53984         * lib/openpty.c (openpty): New replacement function.
53985         * lib/pty.in.h: Include <termios.h>.
53986         (openpty): Update declaration. Add comments.
53987         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
53988         is not declared, arrange to provide the replacement. Check for _getpty
53989         and posix_openpt.
53990         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
53991         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
53992         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
53993         * modules/pty-tests (test_pty_c___LDADD): New variable.
53994         * doc/glibc-functions/openpty.texi: More supported platforms.
53996 2010-03-21  Bruno Haible  <bruno@clisp.org>
53998         setenv: Tweaks.
53999         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
54000         the test program.
54001         * doc/posix-functions/setenv.texi: Update platforms list.
54003 2010-03-21  Bruno Haible  <bruno@clisp.org>
54005         New module 'unlockpt'.
54006         * lib/unlockpt.c: New file, from glibc with modifications.
54007         * m4/unlockpt.m4: New file.
54008         * modules/unlockpt: New file.
54009         * lib/stdlib.in.h (unlockpt): New declaration.
54010         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
54011         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
54012         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
54013         HAVE_UNLOCKPT.
54014         * doc/posix-functions/unlockpt.texi: Mention the new module.
54015         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
54016         * config/srclist.txt: Add unlockpt.c (commented).
54018 2010-03-21  Jim Meyering  <meyering@redhat.com>
54020         maint.mk: prohibit inclusion of "intprops.h" without use
54021         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
54023 2010-03-21  Bruno Haible  <bruno@clisp.org>
54025         New module 'grantpt'.
54026         * lib/grantpt.c: New file, from glibc with modifications.
54027         * m4/grantpt.m4: New file.
54028         * modules/grantpt: New file.
54029         * lib/stdlib.in.h (grantpt): New declaration.
54030         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
54031         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
54032         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
54033         HAVE_GRANTPT.
54034         * doc/posix-functions/grantpt.texi: Mention the new module.
54035         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
54036         * config/srclist.txt: Add grantpt.c (commented).
54038 2010-03-21  Bruno Haible  <bruno@clisp.org>
54040         New module 'pt_chown'.
54041         * lib/pt_chown.c: New file, from glibc with modifications.
54042         * lib/pty-private.h: New file, from glibc with modifications.
54043         * modules/pt_chown: New file.
54044         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
54046 2010-03-21  Bruno Haible  <bruno@clisp.org>
54048         Tests for module 'ptsname'.
54049         * modules/ptsname-tests: New file.
54050         * tests/test-ptsname.c: New file.
54052         New module 'ptsname'.
54053         * lib/ptsname.c: New file, from glibc with modifications.
54054         * m4/ptsname.m4: New file.
54055         * modules/ptsname: New file.
54056         * lib/stdlib.in.h (ptsname): New declaration.
54057         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
54058         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
54059         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
54060         HAVE_PTSNAME.
54061         * doc/posix-functions/ptsname.texi: Mention the new module.
54062         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
54063         * config/srclist.txt: Add ptsname.c (commented).
54065 2010-03-21  Bruno Haible  <bruno@clisp.org>
54067         Tests for module 'ttyname_r'.
54068         * modules/ttyname_r-tests: New file.
54069         * tests/test-ttyname_r.c: New file.
54071         New module 'ttyname_r'.
54072         * lib/ttyname_r.c: New file.
54073         * m4/ttyname_r.m4: New file.
54074         * modules/ttyname_r: New file.
54075         * lib/unistd.in.h (ttyname_r): New declaration.
54076         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
54077         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
54078         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
54079         HAVE_TTYNAME_R.
54080         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
54081         * doc/posix-functions/ttyname_r.texi: Mention the new module.
54083 2010-03-20  Bruno Haible  <bruno@clisp.org>
54085         signal: Undefine macro definitions in C++ mode.
54086         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
54087         sigfillset): Undefine macro definitions from the system header in C++
54088         mode.
54089         Reported by John W. Eaton <jwe@gnu.org>.
54091 2010-03-20  Bruno Haible  <bruno@clisp.org>
54093         Ensure no #include statements inside extern "C" { ... }.
54094         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
54095         contain #include statements.
54096         * lib/time.in.h: Likewise.
54098 2010-03-20  Bruno Haible  <bruno@clisp.org>
54100         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
54101         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
54102         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
54103         Reported by John W. Eaton <jwe@gnu.org>.
54105 2010-03-20  Bruno Haible  <bruno@clisp.org>
54107         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
54108         Reported by Jim Meyering.
54110 2010-03-20  Bruno Haible  <bruno@clisp.org>
54112         pipe: Set errno upon failure.
54113         * lib/pipe.h: Specify that when -1 is returned, errno is set.
54114         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
54115         errno value in error message.
54117 2010-03-20  Bruno Haible  <bruno@clisp.org>
54118             Jim Meyering  <meyering@redhat.com>
54120         lchown: Avoid "unused variable" warning.
54121         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
54123 2010-03-20  Bruno Haible  <bruno@clisp.org>
54125         Work around unlink() bug on MacOS X 10.5.6.
54126         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
54127         attempting to unlink a parent directory.
54128         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
54129         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
54130         activate for the replacement function.
54131         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
54133 2010-03-20  Bruno Haible  <bruno@clisp.org>
54135         Fix link errors on Solaris 8.
54136         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
54137         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
54139 2010-03-19  Jim Meyering  <meyering@redhat.com>
54141         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
54142         The _LIBC implementation of build_range_exp correctly honors the
54143         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
54144         However, the non-_LIBC implementation would ignore that syntax-bit
54145         flag and return REG_ERANGE unconditionally.
54146         This change makes it honor that flag.
54147         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
54148         Make two pointer parameters "const".
54149         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
54150         (parse_bracket_exp): Update caller.
54152         regex.m4: correct the reversed range endpoint ([b-a]) test
54153         * m4/regex.m4: When requiring that [b-a] evoke failure,
54154         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
54155         test pass once again for x86-based systems.
54157 2010-03-19  Bruno Haible  <bruno@clisp.org>
54159         scandir: Fix link error on Solaris 8.
54160         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
54161         macros.
54163 2010-03-19  Bruno Haible  <bruno@clisp.org>
54165         getusershell: Fix documentation.
54166         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
54167         module.
54168         * doc/glibc-functions/setusershell.texi: Likewise.
54170         getusershell: Provide declaration, missing on Solaris 9.
54171         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
54172         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
54173         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
54174         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
54175         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54176         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
54177         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
54178         HAVE_GETUSERSHELL.
54179         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
54181 2010-03-19  Bruno Haible  <bruno@clisp.org>
54183         wctype: Provide iswblank function.
54184         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
54185         exists and is fine.
54186         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
54187         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
54188         * tests/test-wctype.c (main): Re-enable the iswblank tests.
54189         * doc/posix-functions/iswblank.texi: Update.
54191 2010-03-19  Bruno Haible  <bruno@clisp.org>
54193         Tests of module 'pty' in C++ mode.
54194         * modules/pty-tests: New file.
54195         * tests/test-pty-c++.cc: New file.
54196         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54198 2010-03-19  Eric Blake  <eblake@redhat.com>
54200         logb: fix documentation
54201         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
54202         1.5 declaration bug.
54204         forkpty, openpty: prefer glibc's const-safe prototype
54205         * lib/forkpty.c (rpl_forkpty): New file.
54206         * lib/openpty.c (rpl_openpty): Likewise.
54207         * modules/forkpty (Files): Distribute it.
54208         * modules/openpty (Files): Likewise.
54209         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
54210         check...
54211         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
54212         replacement for non-const BSD signature.
54213         * modules/pty (Makefile.am): Substitute witnesses.
54214         * lib/pty.in.h (forkpty, openpty): Declare replacements.
54215         * tests/test-forkpty.c: Update signature check.
54216         * tests/test-openpty.c: Likewise.
54217         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
54218         * doc/glibc-functions/openpty.texi (openpty): Likewise.
54220         forkpty, openpty: split functions into new modules
54221         * modules/pty (Makefile.am): Substitute new witnesses.
54222         (Libraries): Move library detection...
54223         * modules/forkpty: ...into new module.
54224         * modules/openpty: Another new module.
54225         * modules/pty-tests: Rename and split...
54226         * modules/forkpty-tests: ...to this...
54227         * modules/openpty-tests: ...and this.
54228         * tests/test-pty.c: Rename and split...
54229         * tests/test-forkpty.c: ...to this...
54230         * tests/test-openpty.c: ...and this.
54231         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
54232         (gl_PTY): Split library searching...
54233         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
54234         (gl_FORKPTY, gl_OPENPTY): New macros.
54235         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
54236         * NEWS: Mention the split.
54237         * MODULES.html.sh (Misc): Document the modules.
54238         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
54239         * doc/glibc-functions/openpty.texi (openpty): Likewise.
54241         pty: improve replacement header
54242         * lib/pty.in.h: New file.
54243         * modules/pty (Files): Ship it.
54244         (Makefile.am): Always build replacement.
54245         * m4/pty.m4: Rename...
54246         * m4/pty_h.m4: ...to this.
54247         (gl_PTY): Modernize setting of witness macros; update check of
54248         forkpty to take proper advantage of cache.
54249         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
54251         getopt: avoid compiler warning
54252         * lib/getopt.c (attribute_hidden): Remove unused macro.
54254 2010-03-18  Bruno Haible  <bruno@clisp.org>
54256         Fix link errors on Solaris 8.
54257         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
54258         * modules/search-tests (test_search_c___LDADD): Likewise.
54259         * modules/signal-tests (test_signal_c___LDADD): Likewise.
54260         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
54261         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
54262         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
54263         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
54264         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
54265         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
54267 2010-03-18  Bruno Haible  <bruno@clisp.org>
54269         Fix bug introduced on 2010-03-14.
54270         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
54271         (gl_SPAWN_H): Require it.
54272         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
54273         Reported by Simon Josefsson.
54275 2010-03-18  Bruno Haible  <bruno@clisp.org>
54277         Fix typo introduced on 2009-12-31.
54278         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
54279         posix_spawn_file_actions_adddup2.
54281 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
54282         and Eric Blake  <eblake@redhat.com>
54284         test-vc-list-files-git: make more robust
54285         * tests/test-vc-list-files-git.sh: Unset problematic environment
54286         variables.  Chain commands together.
54288 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
54290         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
54291         `AC_CHECK_DECL' invocation.
54293 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
54295         * lib/inttostr.c (inttostr): Make sure the invocation of verify
54296         appears before executable statements. Suggested by Petr Sumbera
54297         <Petr.Sumbera@Sun.COM>.
54299 2010-03-14  Bruno Haible  <bruno@clisp.org>
54301         * tests/test-flock.c (test_exclusive): Comment out a test that causes
54302         portability problems. Instead use a simpler test.
54303         (main): Check that invalid arguments are rejected only on Linux.
54305 2010-03-14  Bruno Haible  <bruno@clisp.org>
54307         Fix bug introduced on 2009-12-31.
54308         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
54309         gl_PREREQ_SYS_H_WINSOCK2 always.
54310         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
54311         SYS_SOCKET_H variable.
54312         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
54313         Update comments.
54314         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
54315         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
54316         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
54317         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
54318         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
54320 2010-03-14  Bruno Haible  <bruno@clisp.org>
54322         Fix values returned by sinl, cosl.
54323         * lib/trigl.h: Add specification comments.
54324         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
54325         that combines the values from the precomputed table with the values of
54326         the Chebyshev polynomials.
54328 2010-03-14  Bruno Haible  <bruno@clisp.org>
54330         Fix compilation error when modules 'posix_spawn[p]' are not used.
54331         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
54332         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
54334 2010-03-14  Bruno Haible  <bruno@clisp.org>
54336         Fix compilation error on mingw when module 'time_r' is not used.
54337         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
54338         is 1.
54339         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
54340         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
54341         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
54342         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
54344 2010-03-14  Bruno Haible  <bruno@clisp.org>
54346         Fix compilation error with Sun C.
54347         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
54348         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
54349         instead of GCC specific ULONG_LONG_MAX.
54350         * lib/xstrtoll.c: Likewise.
54351         * lib/xstrtoull.c: Likewise.
54353 2010-03-13  Bruno Haible  <bruno@clisp.org>
54355         Allow the user to disable C++ code and tests.
54356         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
54357         (gl_PROG_ANSI_CXX): Require it.
54359 2010-03-13  Bruno Haible  <bruno@clisp.org>
54361         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
54362         cases.
54364 2010-03-13  Bruno Haible  <bruno@clisp.org>
54366         Test that gnulib does not break the standard C++ headers.
54367         * tests/test-locale-c++2.cc: New file.
54368         * modules/locale-tests (Files): Add it.
54369         (Makefile.am): Compile it for test-locale-c++.
54370         * tests/test-math-c++2.cc: New file.
54371         * modules/math-tests (Files): Add it.
54372         (Makefile.am): Compile it for test-math-c++.
54373         * tests/test-signal-c++2.cc: New file.
54374         * modules/signal-tests (Files): Add it.
54375         (Makefile.am): Compile it for test-signal-c++.
54376         * tests/test-stdio-c++2.cc: New file.
54377         * modules/stdio-tests (Files): Add it.
54378         (Makefile.am): Compile it for test-stdio-c++.
54379         * tests/test-stdlib-c++2.cc: New file.
54380         * modules/stdlib-tests (Files): Add it.
54381         (Makefile.am): Compile it for test-stdlib-c++.
54382         * tests/test-string-c++2.cc: New file.
54383         * modules/string-tests (Files): Add it.
54384         (Makefile.am): Compile it for test-string-c++.
54385         * tests/test-time-c++2.cc: New file.
54386         * modules/time-tests (Files): Add it.
54387         (Makefile.am): Compile it for test-time-c++.
54388         Reported by John W. Eaton <jwe@gnu.org>.
54390 2010-03-13  Bruno Haible  <bruno@clisp.org>
54392         * gnulib-tool (func_usage): Clarify which options are available for
54393         --create-testdir and --create-megatestdir.
54395 2010-03-13  Bruno Haible  <bruno@clisp.org>
54397         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
54398         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
54399         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
54400         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
54401         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
54402         when appropriate.
54403         Reported by Jim Meyering.
54405 2010-03-12  Simon Josefsson  <simon@josefsson.org>
54407         * gnulib-tool (func_import): Explain origin of code.
54409 2010-03-12  Bruno Haible  <bruno@clisp.org>
54411         Fix problem with automake's definition of CXXLINK.
54412         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
54413         Reported by Simon Josefsson and Ludovic Courtès.
54415 2010-03-12  Bruno Haible  <bruno@clisp.org>
54417         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
54418         stable releases.
54420 2010-03-11  Bruno Haible  <bruno@clisp.org>
54422         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
54423         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
54424         whether the system provides one variant or multiple variants of the
54425         function.
54426         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
54427         C++ compilers.
54428         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
54429         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
54430         Reported by Jim Meyering.
54432 2010-03-09  Simon Josefsson  <simon@josefsson.org>
54434         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
54436 2010-03-08  Bruno Haible  <bruno@clisp.org>
54438         gnulib-tool: Add support for --libtool in --create-testdir.
54439         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
54440         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
54442 2010-03-08  Eric Blake  <eblake@redhat.com>
54444         gnulib-tool.texi: mention possibility of git submodule
54445         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
54446         submodules.
54447         * doc/.gitignore: Ignore another generated file.
54449 2010-03-08  Karl Berry  <karl@gnu.org>
54451         * doc/gnulib-tool.texi (VCS Issues): Mention third option
54452         of committing gnulib files while skipping others.
54454 2010-03-07  Bruno Haible  <bruno@clisp.org>
54456         Tests of module 'wctype' in C++ mode.
54457         * tests/test-wctype-c++.cc: New file.
54458         * modules/wctype-tests (Files): Add it and tests/signature.h.
54459         (Depends-on): Add ansi-c++-opt.
54460         (Makefile.am): Arrange to compile and run test-wctype-c++.
54462         Tests of module 'wchar' in C++ mode.
54463         * tests/test-wchar-c++.cc: New file.
54464         * modules/wchar-tests (Files): Add it and tests/signature.h.
54465         (Depends-on): Add ansi-c++-opt.
54466         (Makefile.am): Arrange to compile and run test-wchar-c++.
54467         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
54468         gl_MODULE_INDICATOR.
54470         Tests of module 'unistd' in C++ mode.
54471         * tests/test-unistd-c++.cc: New file.
54472         * modules/unistd-tests (Files): Add it and tests/signature.h.
54473         (Depends-on): Add ansi-c++-opt.
54474         (Makefile.am): Arrange to compile and run test-unistd-c++.
54475         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
54476         gl_MODULE_INDICATOR.
54478         Tests of module 'time' in C++ mode.
54479         * tests/test-time-c++.cc: New file.
54480         * modules/time-tests (Files): Add it and tests/signature.h.
54481         (Depends-on): Add ansi-c++-opt.
54482         (Makefile.am): Arrange to compile and run test-time-c++.
54483         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54485         Tests of module 'sys_time' in C++ mode.
54486         * tests/test-sys_time-c++.cc: New file.
54487         * modules/sys_time-tests (Files): Add it and tests/signature.h.
54488         (Depends-on): Add ansi-c++-opt.
54489         (Makefile.am): Arrange to compile and run test-sys_time-c++.
54490         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
54491         gl_MODULE_INDICATOR.
54493         Tests of module 'sys_stat' in C++ mode.
54494         * tests/test-sys_stat-c++.cc: New file.
54495         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
54496         (Depends-on): Add ansi-c++-opt.
54497         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
54498         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
54499         gl_MODULE_INDICATOR.
54501         Tests of module 'sys_socket' in C++ mode.
54502         * tests/test-sys_socket-c++.cc: New file.
54503         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
54504         (Depends-on): Add ansi-c++-opt.
54505         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
54506         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
54507         gl_MODULE_INDICATOR.
54509         Tests of module 'sys_select' in C++ mode.
54510         * tests/test-sys_select-c++.cc: New file.
54511         * modules/sys_select-tests (Files): Add it and tests/signature.h.
54512         (Depends-on): Add ansi-c++-opt.
54513         (Makefile.am): Arrange to compile and run test-sys_select-c++.
54514         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
54515         gl_MODULE_INDICATOR.
54517         Tests of module 'sys_ioctl' in C++ mode.
54518         * tests/test-sys_ioctl-c++.cc: New file.
54519         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
54520         (Depends-on): Add ansi-c++-opt.
54521         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
54522         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
54523         gl_MODULE_INDICATOR.
54525         Tests of module 'string' in C++ mode.
54526         * tests/test-string-c++.cc: New file.
54527         * modules/string-tests (Files): Add it and tests/signature.h.
54528         (Depends-on): Add ansi-c++-opt.
54529         (Makefile.am): Arrange to compile and run test-string-c++.
54530         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
54531         gl_MODULE_INDICATOR.
54533         Tests of module 'stdlib' in C++ mode.
54534         * tests/test-stdlib-c++.cc: New file.
54535         * modules/stdlib-tests (Files): Add it and tests/signature.h.
54536         (Depends-on): Add ansi-c++-opt.
54537         (Makefile.am): Arrange to compile and run test-stdlib-c++.
54538         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
54539         gl_MODULE_INDICATOR.
54541         Tests of module 'stdio' in C++ mode.
54542         * tests/test-stdio-c++.cc: New file.
54543         * modules/stdio-tests (Files): Add it and tests/signature.h.
54544         (Depends-on): Add ansi-c++-opt.
54545         (Makefile.am): Arrange to compile and run test-stdio-c++.
54546         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
54547         gl_MODULE_INDICATOR.
54549         Tests of module 'spawn' in C++ mode.
54550         * tests/test-spawn-c++.cc: New file.
54551         * modules/spawn-tests (Files): Add it and tests/signature.h.
54552         (Depends-on): Add ansi-c++-opt.
54553         (Makefile.am): Arrange to compile and run test-spawn-c++.
54554         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
54555         gl_MODULE_INDICATOR.
54557         Tests of module 'signal' in C++ mode.
54558         * tests/test-signal-c++.cc: New file.
54559         * modules/signal-tests (Files): Add it and tests/signature.h.
54560         (Depends-on): Add ansi-c++-opt.
54561         (Makefile.am): Arrange to compile and run test-signal-c++.
54562         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
54563         gl_MODULE_INDICATOR.
54565         Tests of module 'search' in C++ mode.
54566         * tests/test-search-c++.cc: New file.
54567         * modules/search-tests (Files): Add it and tests/signature.h.
54568         (Depends-on): Add ansi-c++-opt.
54569         (Makefile.am): Arrange to compile and run test-search-c++.
54570         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
54571         gl_MODULE_INDICATOR.
54573         Tests of module 'math' in C++ mode.
54574         * tests/test-math-c++.cc: New file.
54575         * modules/math-tests (Files): Add it and tests/signature.h.
54576         (Depends-on): Add ansi-c++-opt.
54577         (Makefile.am): Arrange to compile and run test-math-c++.
54578         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54580         Tests of module 'locale' in C++ mode.
54581         * tests/test-locale-c++.cc: New file.
54582         * modules/locale-tests (Files): Add it and tests/signature.h.
54583         (Depends-on): Add ansi-c++-opt.
54584         (Makefile.am): Arrange to compile and run test-locale-c++.
54585         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
54586         gl_MODULE_INDICATOR.
54588         Tests of module 'langinfo' in C++ mode.
54589         * tests/test-langinfo-c++.cc: New file.
54590         * modules/langinfo-tests (Files): Add it and tests/signature.h.
54591         (Depends-on): Add ansi-c++-opt.
54592         (Makefile.am): Arrange to compile and run test-langinfo-c++.
54593         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
54594         gl_MODULE_INDICATOR.
54596         Tests of module 'iconv-h' in C++ mode.
54597         * tests/test-iconv-h-c++.cc: New file.
54598         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
54599         (Depends-on): Add ansi-c++-opt.
54600         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
54602         Tests of module 'glob' in C++ mode.
54603         * tests/test-glob-c++.cc: New file.
54604         * modules/glob-tests (Files): Add it.
54605         (Depends-on): Add ansi-c++-opt.
54606         (Makefile.am): Arrange to compile and run test-glob-c++.
54608         Tests of module 'fcntl-h' in C++ mode.
54609         * tests/test-fcntl-h-c++.cc: New file.
54610         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
54611         (Depends-on): Add ansi-c++-opt.
54612         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
54613         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
54614         gl_MODULE_INDICATOR.
54616         Tests of module 'dirent' in C++ mode.
54617         * tests/test-dirent-c++.cc: New file.
54618         * modules/dirent-tests (Files): Add it and tests/signature.h.
54619         (Depends-on): Add ansi-c++-opt.
54620         (Makefile.am): Arrange to compile and run test-dirent-c++.
54621         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
54622         gl_MODULE_INDICATOR.
54624         New module 'ansi-c++-opt'.
54625         * modules/ansi-c++-opt: New file.
54626         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
54628         Document C++ namespace mode.
54629         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
54631         wctype: Avoid #define replacements in C++ mode.
54632         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
54633         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
54634         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
54635         In C++, define a namespaced alias symbol.
54636         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
54637         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
54638         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
54639         rule.
54641         wchar: Avoid #define replacements in C++ mode.
54642         * lib/wchar.in.h: Include c++defs.h.
54643         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
54644         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
54645         symbol.
54646         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
54647         * modules/wchar (Depends-on): Add c++defs.
54648         (Makefile.am): Update wchar.h rule.
54650         unistd: Avoid #define replacements in C++ mode.
54651         * lib/unistd.in.h: Include c++defs.h.
54652         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
54653         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
54654         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
54655         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
54656         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
54657         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
54658         symbol.
54659         (environ): Update.
54660         * modules/unistd (Depends-on): Add c++defs.
54661         (Makefile.am): Update unistd.h rule.
54663         time: Avoid #define replacements in C++ mode.
54664         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
54665         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
54666         define a namespaced alias symbol.
54667         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
54668         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
54669         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
54670         * modules/time (Depends-on): Add c++defs, warn-on-use.
54671         (Makefile.am): Update time.h rule.
54672         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
54673         * modules/nanosleep (configure.ac): Likewise.
54674         * modules/strptime (configure.ac): Likewise.
54675         * modules/timegm (configure.ac): Likewise.
54677         sys_time: Avoid #define replacements in C++ mode.
54678         * lib/sys_time.in.h: Include c++defs.h.
54679         (gettimeofday): In C++, define a namespaced alias symbol.
54680         * modules/sys_time (Depends-on): Add c++defs.
54681         (Makefile.am): Update sys/time.h rule.
54683         sys_stat: Avoid #define replacements in C++ mode.
54684         * lib/sys_stat.in.h: Include c++defs.h.
54685         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
54686         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
54687         namespaced alias symbol.
54688         In C++, define a namespaced alias symbol.
54689         * modules/sys_stat (Depends-on): Add c++defs.
54690         (Makefile.am): Update sys/stat.h rule.
54692         sys_socket: Avoid #define replacements in C++ mode.
54693         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
54694         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
54695         definitions also when the system has a <sys/socket.h>.
54696         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
54697         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
54698         In C++, define a namespaced alias symbol.
54699         * modules/sys_socket (Depends-on): Add c++defs.
54700         (Makefile.am): Update sys/socket.h rule.
54702         sys_select: Avoid #define replacements in C++ mode.
54703         * lib/sys_select.in.h: Include c++defs.h. Enable the function
54704         definitions also when the system has a <sys/select.h>.
54705         (select): In C++, define a namespaced alias symbol.
54706         * modules/sys_select (Depends-on): Add c++defs.
54707         (Makefile.am): Update sys/select.h rule.
54709         sys_ioctl: Avoid #define replacements in C++ mode.
54710         * lib/sys_ioctl.in.h: Include c++defs.h.
54711         (ioctl): In C++, define a namespaced alias symbol.
54712         * modules/sys_ioctl (Depends-on): Add c++defs.
54713         (Makefile.am): Update sys/ioctl.h rule.
54715         string: Avoid #define replacements in C++ mode.
54716         * lib/string.in.h: Include c++defs.h.
54717         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
54718         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
54719         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
54720         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
54721         strsignal, strverscmp): In C++, define a namespaced alias symbol.
54722         * modules/string (Depends-on): Add c++defs.
54723         (Makefile.am): Update string.h rule.
54725         stdlib: Avoid #define replacements in C++ mode.
54726         * lib/stdlib.in.h: Include c++defs.h.
54727         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
54728         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
54729         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
54730         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
54731         symbol.
54732         * modules/stdlib (Depends-on): Add c++defs.
54733         (Makefile.am): Update stdlib.h rule.
54735         stdio: Avoid #define replacements in C++ mode.
54736         * lib/stdio.in.h: Include c++defs.h.
54737         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
54738         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
54739         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
54740         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
54741         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
54742         namespaced alias symbol.
54743         * modules/stdio (Depends-on): Add c++defs.
54744         (Makefile.am): Update stdio.h rule.
54746         spawn: Avoid #define replacements in C++ mode.
54747         * lib/spawn.in.h: Include c++defs.h.
54748         (posix_spawn, posix_spawnp, posix_spawnattr_init,
54749         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
54750         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
54751         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
54752         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
54753         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
54754         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
54755         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
54756         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
54757         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
54758         In C++, define a namespaced alias symbol.
54759         * modules/spawn (Depends-on): Add c++defs.
54760         (Makefile.am): Update spawn.h rule.
54762         signal: Avoid #define replacements in C++ mode.
54763         * lib/signal.in.h: Include c++defs.h.
54764         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
54765         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
54766         namespaced alias symbol.
54767         * modules/signal (Depends-on): Add c++defs.
54768         (Makefile.am): Update signal.h rule.
54770         search: Avoid #define replacements in C++ mode.
54771         * lib/search.in.h: Include c++defs.h.
54772         (_gl_search_compar_fn, _gl_search_action_fn): New types.
54773         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
54774         symbol.
54775         * modules/search (Depends-on): Add c++defs.
54776         (Makefile.am): Update search.h rule.
54778         math: Avoid #define replacements in C++ mode.
54779         * lib/math.in.h: Include c++defs.h.
54780         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
54781         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
54782         trunc, truncl): In C++, define a namespaced alias symbol.
54783         * modules/math (Depends-on): Add c++defs.
54784         (Makefile.am): Update math.h rule.
54786         locale: Avoid #define replacements in C++ mode.
54787         * lib/locale.in.h: Include c++defs.h.
54788         (duplocale): In C++, define a namespaced alias symbol.
54789         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
54790         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
54791         * modules/locale (Depends-on): Add c++defs.
54792         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
54794         langinfo: Avoid #define replacements in C++ mode.
54795         * lib/langinfo.in.h: Include c++defs.h.
54796         (nl_langinfo): In C++, define a namespaced alias symbol.
54797         * modules/langinfo (Depends-on): Add c++defs.
54798         (Makefile.am): Update langinfo.h rule.
54800         iconv-h: Avoid #define replacements in C++ mode.
54801         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
54802         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
54803         symbol.
54804         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
54805         whenever iconv is present.
54806         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
54807         (Makefile.am): Update iconv.h rule.
54809         glob: Avoid #define replacements in C++ mode.
54810         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
54811         (_gl_glob_errfunc_fn): New type.
54812         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
54813         symbol.
54814         * modules/glob (Depends-on): Add c++defs, warn-on-use.
54815         (Makefile.am): Update glob.h rule.
54817         fcntl-h: Avoid #define replacements in C++ mode.
54818         * lib/fcntl.in.h: Include c++defs.h.
54819         (fcntl, open, openat): In C++, define a namespaced alias symbol.
54820         * modules/fcntl-h (Depends-on): Add c++defs.
54821         (Makefile.am): Update fcntl.h rule.
54823         dirent: Avoid #define replacements in C++ mode.
54824         * lib/dirent.in.h: Include c++defs.h.
54825         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
54826         namespaced alias symbol.
54827         (dirfd): Update declaration.
54828         * modules/dirent (Depends-on): Add c++defs.
54829         (Makefile.am): Update dirent.h rule.
54831         ctype: Make it usable in C++ code.
54832         * lib/ctype.in.h: Include c++defs.h.
54833         (isblank): Declare as extern "C".
54834         * modules/ctype (Depends-on): Add c++defs.
54835         (Makefile.am): Update ctype.h rule.
54837         New module 'c++defs'.
54838         * modules/c++defs: New file.
54839         * build-aux/c++defs.h: New file.
54840         Reported by John W. Eaton <jwe@gnu.org>.
54842 2010-03-07  Bruno Haible  <bruno@clisp.org>
54844         logb: Provide missing declaration for Cygwin.
54845         * lib/math.in.h (logb): New declaration.
54846         * m4/logb.m4: New file.
54847         * modules/logb (Files): Add m4/logb.m4.
54848         (Depends-on): Add math.
54849         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
54850         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
54851         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
54852         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
54853         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
54855 2010-03-07  Bruno Haible  <bruno@clisp.org>
54857         Fix test-cond link error.
54858         * tests/test-cond.c: Include <stdio.h>.
54860 2010-03-07  Bruno Haible  <bruno@clisp.org>
54862         Fix test-dirent-safer link error.
54863         * modules/dirent-safer-tests (Makefile.am): Define
54864         test_dirent_safer_LDADD.
54866 2010-03-07  Bruno Haible  <bruno@clisp.org>
54868         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
54869         among default module list.
54871 2010-03-07  Bruno Haible  <bruno@clisp.org>
54873         Fix link error on platforms with GNU libiconv.
54874         * modules/unistr/u8-strcoll-tests (Makefile): Define
54875         test_u8_strcoll_LDADD.
54876         * modules/unistr/u16-strcoll-tests (Makefile): Define
54877         test_u16_strcoll_LDADD.
54878         * modules/unistr/u32-strcoll-tests (Makefile): Define
54879         test_u32_strcoll_LDADD.
54881 2010-03-07  Bruno Haible  <bruno@clisp.org>
54883         Use POSIX declarations for socket functions.
54884         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
54885         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
54886         rpl_sendto): Change declaration to match POSIX.
54887         * lib/connect.c (rpl_connect): Likewise.
54888         * lib/accept.c (rpl_accept): Likewise.
54889         * lib/bind.c (rpl_bind): Likewise.
54890         * lib/getpeername.c (rpl_getpeername): Likewise.
54891         * lib/getsockname.c (rpl_getsockname): Likewise.
54892         * lib/recv.c (rpl_recv): Likewise.
54893         * lib/send.c (rpl_send): Likewise.
54894         * lib/recvfrom.c (rpl_recvfrom): Likewise.
54895         * lib/sendto.c (rpl_sendto): Likewise.
54897 2010-03-06  Bruno Haible  <bruno@clisp.org>
54899         Clarify access, euidaccess, faccessat.
54900         * doc/posix-functions/faccessat.texi: Mention security problem under
54901         "Other problems", not "Portability problems".
54902         * doc/posix-functions/access.texi: Likewise. Mention a related security
54903         problem.
54904         * doc/glibc-functions/euidaccess.texi: Mention security problems.
54905         * lib/euidaccess.c: Add comments about platforms.
54906         * lib/unistd.in.h (access, euidaccess): Add warnings.
54908 2010-03-07  Bruno Haible  <bruno@clisp.org>
54910         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
54911         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
54912         (POSIX_SPAWN_SETSCHEDULER): Likewise.
54913         (POSIX_SPAWN_USEVFORK): Define in a way that works when
54914         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
54915         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
54916         declare when POSIX_SPAWN_SETSCHEDULER is zero.
54917         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
54918         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
54919         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
54920         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
54921         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
54922         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
54923         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
54924         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
54925         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
54926         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
54927         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
54928         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
54929         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
54930         Likewise.
54931         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
54932         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
54933         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
54934         Likewise.
54935         * tests/test-spawn.c (main): Make it work when
54936         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
54938 2010-03-07  Bruno Haible  <bruno@clisp.org>
54940         Fix incorrect Makefile.am generation in German locale.
54941         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54942         Execute sed command with character range in C locale.
54944 2010-03-06  Bruno Haible  <bruno@clisp.org>
54946         Tests for module 'iconv-h'.
54947         * modules/iconv-h-tests: New file.
54948         * tests/test-iconv-h.c: New file.
54950         New module 'iconv-h'.
54951         * modules/iconv-h: New file.
54952         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
54953         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
54954         (configure.ac): Remove gl_ICONV_H.
54955         (Makefile.am): Remove rule for iconv.h.
54957 2010-03-06  Bruno Haible  <bruno@clisp.org>
54959         More consistent naming of *.m4 files.
54960         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
54961         * modules/wctype (Files): Update.
54963         More consistent naming of *.m4 files.
54964         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
54965         * modules/wchar (Files): Update.
54967 2010-03-06  Jim Meyering  <meyering@redhat.com>
54969         euidaccess: relax license to LGPLv2+
54970         * modules/euidaccess (License): Relax to LGPLv2+.
54972 2010-03-06  Bruno Haible  <bruno@clisp.org>
54974         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
54975         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
54976         (Makefile.am): Augment lib_SOURCES instead.
54978 2010-03-04  Jim Meyering  <meyering@redhat.com>
54980         utime: remove obsolete module
54981         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
54982         unnecessary for years, and has been marked as obsolete for 10 months.
54983         * modules/utime: Remove file.
54984         * lib/utime.c: Remove file.
54985         * m4/utime.m4: Remove file.
54986         * m4/utimes-null.m4: Remove file.
54987         * doc/posix-functions/utime.texi (utime): Remove reference to
54988         the module.  Move the sole "fixed by gnulib" item into the
54989         "problems not fixed by Gnulib" list.
54990         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
54992 2010-03-05  Simon Josefsson  <simon@josefsson.org>
54994         * modules/exit (License): Relax license to LGPLv2+.
54995         (Status): Mark as obsolete.
54996         * NEWS: Mention deprecated 'exit' module.
54997         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
54998         of now obsolete 'exit'.
55000 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55002         fts-lgpl: remove unused module
55003         * modules/fts-lgpl: Remove.
55004         * MODULES.html.sh (func_all_modules): Adjust.
55005         * check-module (find_included_lib_files): Adjust.
55006         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
55008 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
55010         copy-acl: enhance Solaris ACL error handling
55011         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
55012         * lib/set-mode-acl.c (qset_acl): Likewise.
55014 2010-03-02  Bruno Haible  <bruno@clisp.org>
55016         spawn: Don't override the system defined values on FreeBSD 8.
55017         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
55018         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
55019         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
55020         if HAVE_POSIX_SPAWN is 1.
55021         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
55023 2010-03-01  Bruno Haible  <bruno@clisp.org>
55025         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
55026         regarding Automake.
55028 2010-02-25  Bruno Haible  <bruno@clisp.org>
55030         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
55031         * gnulib-tool: Define 'echo' as a function only before the ksh alias
55032         setting, not afterwards.
55033         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
55035 2010-02-24  Eric Blake  <eblake@redhat.com>
55037         bootstrap, git-version-gen: use timestamp
55038         * build-aux/git-version-gen (scriptversion): Force UTC.
55039         * build-aux/bootstrap (scriptversion): New variable.
55041         bootstrap: allow older git
55042         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
55043         older than 1.6.4.  Requested by the libvirt project.
55045 2010-02-23  Eric Blake  <eblake@redhat.com>
55047         warn-on-use: work with old autoconf
55048         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
55049         AS_VAR semantics of autoconf 2.60.
55050         Reported by Bruno Haible.
55052         bootstrap: improve some comments
55053         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
55054         clarification comments.
55056         gettimeofday: provide correct function
55057         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
55058         when replacement is declared, otherwise provide gettimeofday.
55059         Reported by Michael Goffioul.
55061 2010-02-23  Jim Meyering  <meyering@redhat.com>
55063         lib-ignore: relax license to "unlimited", not LGPLv2+
55064         * modules/lib-ignore (License): Relax to "unlimited".
55066 2010-02-23  Jim Meyering  <meyering@redhat.com>
55068         lib-ignore: relax license to LGPLv2+
55069         * modules/lib-ignore (License): Relax to LGPLv2+.
55071 2010-02-22  Eric Blake  <eblake@redhat.com>
55073         lseek: avoid bash 3.2 broken pipe bug
55074         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
55075         warning from bash 3.2.
55076         Reported by Ben Pfaff, with analysis from Bruno Haible.
55078         bootstrap: support non-FSF copyright holder
55079         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
55080         bootstrap.conf override of COPYRIGHT_HOLDER.
55081         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
55083         bootstrap: interoperate with gettext 0.14.1
55084         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
55086         bootstrap: allow for alternate submodule location
55087         * build-aux/bootstrap (gnulib_path): New variable; use instead of
55088         hardcoding submodule location.
55089         (gnulib_mk): Allow direct use of Makefile.am.
55091         bootstrap: use GNULIB_SRCDIR to reduce disk usage
55092         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
55093         rather than reconfiguring where the submodule points.
55095         gettimeofday: restore support for platforms that lack function
55096         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
55097         replacement if function is missing.
55098         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
55099         * modules/sys_time (Makefile.am): Substitute it.
55100         * lib/sys_time.in.h (gettimeofday): Check it.
55101         Reported by Michael Goffioul.
55103 2010-02-21  Bruno Haible  <bruno@clisp.org>
55105         * lib/stdio.in.h (obstack_printf): Fix typo.
55107 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
55109         vc-list-files: use bzr ls's -R option
55110         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
55111         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
55113 2010-02-21  Jim Meyering  <meyering@redhat.com>
55115         init.sh: fix EXEEXT shims to work also for names like test-prog
55116         * tests/init.sh: Re-exec a better shell, when needed.
55117         If the current shell lacks support for posix $(...), an init.sh-using
55118         test will now try to find a shell that supports that.  If EXEEXT is
55119         nonempty, we also require support for hyphen-in-alias-name and shell
55120         substitutions like ${var#glob}.  Failure to find such a shell results
55121         in a skipped test.
55123 2010-02-21  Bruno Haible  <bruno@clisp.org>
55125         Really work around "broken pipe" error message from bash 3.2.
55126         * gnulib-tool (func_reset_sigpipe): Remove function.
55127         (echo): In bash 3.2, define to a function that uses printf.
55128         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
55130 2010-02-20  Bruno Haible  <bruno@clisp.org>
55132         Restore support for automake 1.9.6 with autoconf 2.61.
55133         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
55134         Reported by James Youngman <jay@gnu.org>.
55136 2010-02-20  Bruno Haible  <bruno@clisp.org>
55138         Improve *printf warning condition.
55139         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
55140         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
55141         and the function is overridden due to SIGPIPE emulation.
55143 2010-02-20  Bruno Haible  <bruno@clisp.org>
55145         * lib/stdio.in.h: Tweak comments.
55147 2010-02-19  Bruno Haible  <bruno@clisp.org>
55149         Make it easier to find modules. New gnulib-tool option '--find'.
55150         * gnulib-tool: New option --find.
55151         (func_usage): Document it.
55152         (func_sanitize_modulelist): New function, extracted from
55153         func_all_modules.
55154         (func_all_modules): Invoke it.
55155         * doc/gnulib-tool.texi (Which modules?): New node.
55157 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
55159         * lib/sys_select.in.h: Provide select replacement even if
55160         sys/select.h exists on a system, for Interix.
55162 2010-02-18  Jim Meyering  <meyering@redhat.com>
55164         init.sh: don't use $(...) just yet
55165         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
55166         to accommodate e.g., Solaris' /bin/sh.
55168 2010-02-17  Bruno Haible  <bruno@clisp.org>
55170         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
55171         Reported by Ludovic Courtès <ludo@gnu.org>.
55173 2010-02-16  Simon Josefsson  <simon@josefsson.org>
55175         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
55176         linking with -lintl.
55178 2010-02-17  Simon Josefsson  <simon@josefsson.org>
55180         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
55181         if not provided by the system's netdb.h.  Reported by
55182         ludo@gnu.org (Ludovic Courtès).
55184 2010-02-15  Jim Meyering  <meyering@redhat.com>
55186         init.sh: improve portability and efficiency
55187         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
55188         "dummy" in a for loop.
55189         Use '!', not '^' to select the complement of a character set used
55190         in a "case" statement.
55191         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
55192         Suggestions from Eric Blake.
55194         init.sh: automatically accommodate programs with the .exe suffix
55195         Automatically arrange for an invocation of "prog" to execute the
55196         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
55197         may use the simpler "prog", yet still work when built on a system
55198         that requires specifying the added suffix.
55199         Do this by constructing a function named "prog" that invokes
55200         "prog.exe" for each .exe file in selected directories.
55201         * tests/init.sh (find_exe_basenames_): New function.
55202         (create_exe_shim_functions_): New function.
55203         (path_prepend_): Use it.
55205         maint.mk: mark syntax-check sc_*.m rules as .PHONY
55206         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
55207         "make -t syntax-check" doesn't create a ton of sc_*.m files.
55209 2010-02-14  Jim Meyering  <meyering@redhat.com>
55211         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
55212         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
55213         (sc_prohibit_hash_pjw_without_use): New rule.
55215         maint.mk: allow the default upload destination dir to be overridden
55216         * top/maint.mk (upload_dest_dir_): Define with a default that
55217         preserves the status quo.
55218         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
55219         Reported by Peter Simons.
55221         maint.mk: prohibit inclusion of "hash.h" without_use
55222         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
55224 2010-02-10  Jim Meyering  <meyering@redhat.com>
55226         maint.mk: prohibit inclusion of "ignore-value.h" without_use
55227         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
55229 2010-02-09  Eric Blake  <ebb9@byu.net>
55230         and Bruno Haible  <bruno@clisp.org>
55232         obstack-printf-posix: ensure declaration
55233         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
55234         extracted from gl_FUNC_OBSTACK_PRINTF.
55235         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
55236         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
55237         Likewise.
55238         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
55239         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
55240         0.
55242 2010-02-08  Bruno Haible  <bruno@clisp.org>
55244         gnulib-tool: Fix typo in 2010-02-07 commit.
55245         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
55246         Reported by Eric Blake.
55248 2010-02-07  Bruno Haible  <bruno@clisp.org>
55250         gnulib-tool: Fix up caching patches.
55251         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
55252         option --no-cache. Use associative arrays when supported by the shell.
55253         (sed_comments): New variable.
55254         (modcache): Renamed from do_cache.
55255         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
55256         abbreviate unnecessarily.
55257         (have_associative): New variable.
55258         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
55259         way also for ksh and zsh.
55260         (func_init_sed_convert_to_cache_statements): New function, extracted
55261         from func_cache_lookup_module. Add support for associative arrays.
55262         Don't set the c_MODULE_cached variable here. Ignore all lines before
55263         the first field header. Remove only the final newline, not all trailing
55264         newlines. Support empty fields correctly. Limit the use of 'eval' to
55265         assignments.
55266         (func_get_description, func_get_status, func_get_notice,
55267         func_get_applicability, func_get_filelist, func_get_dependencies,
55268         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
55269         func_get_automake_snippet, func_get_include_directive,
55270         func_get_link_directive, func_get_license, func_get_maintainer):
55271         Update documentation. List the unoptimized code first. Add support for
55272         associative arrays. Limit the use of 'eval' to assignments.
55273         (func_get_applicability): Undo stylistic pessimisations.
55274         (func_get_automake_snippet, func_get_include_directive): Reduce code
55275         duplication.
55276         (func_modules_transitive_closure, func_modules_add_dummy,
55277         func_modules_notice, func_modules_to_filelist, func_add_file,
55278         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
55279         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
55280         func_create_testdir, func_create_megatestdir): Update documentation.
55282 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55284         * gnulib-tool (func_cache_lookup_module): Store the module name
55285         belonging to the cache variable; error out if two different
55286         module names map to the same cache variable name.
55288 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55290         gnulib-tool: Make caching optional.
55291         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
55292         Update matching short versions of --no-changelog.
55293         (func_usage): Update.
55294         (sed_extract_cache_prog): Renamed from ...
55295         (sed_extract_prog): ... this; revert to old extraction script.
55296         (func_get_description, func_get_status)
55297         (func_get_notice, func_get_applicability, func_get_filelist)
55298         (func_get_dependencies, func_get_autoconf_early_snippet)
55299         (func_get_autoconf_snippet, func_get_automake_snippet)
55300         (func_get_include_directive, func_get_link_directive)
55301         (func_get_license, func_get_maintainer): If $do_cache is false,
55302         use old, non-caching extraction scripts.
55303         Suggestion by Bruno Haible.
55305 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55307         gnulib-tool: cache module metainformation.
55308         * gnulib-tool (sed_extract_prog): Match newline before each
55309         header, and rewrite header to a shell variable suffix.
55310         (func_cache_var, func_cache_lookup_module): New functions,
55311         to turn a module name into a cache variable prefix, and to
55312         look up and cache module metainformation.
55313         (func_get_description, func_get_status)
55314         (func_get_notice, func_get_applicability, func_get_filelist)
55315         (func_get_dependencies, func_get_autoconf_early_snippet)
55316         (func_get_autoconf_snippet, func_get_automake_snippet)
55317         (func_get_include_directive, func_get_link_directive)
55318         (func_get_license, func_get_maintainer): Use
55319         func_cache_lookup_module.
55321 2010-02-07  Bruno Haible  <bruno@clisp.org>
55323         fnctl: Fix missing dependency.
55324         * modules/fcntl (Depends-on): Add getdtablesize.
55325         Reported by John W. Eaton <jwe@gnu.org>.
55327 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
55329         Argp: fix recognition of short alias options.
55331         * lib/argp-parse.c (convert_options): Fix improper use of
55332         `|' between character values.
55333         * tests/test-argp.c (group1_option): New alias option
55334         --read (-r).
55335         (group1_parser): Special handling for 'r'.
55336         (test15): New test case.
55337         (test_fun): Add test15.
55338         * tests/test-argp-2.sh: Update expected --help and --usage
55339         outputs.
55341 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
55343         * tests/test-argp.c: Fix indentation.
55345 2010-02-04  Eric Blake  <ebb9@byu.net>
55347         gettimeofday: expose type of second argument
55348         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
55349         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
55350         * tests/test-gettimeofday.c: Use it to silence warning.
55351         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
55352         the issue.
55354 2010-02-03  Jim Meyering  <meyering@redhat.com>
55356         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
55357         * lib/regcomp.c (TYPE_SIGNED): Define.
55358         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
55360         regcomp.c: avoid a new -Wshadow warning
55361         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
55363 2010-02-01  Jim Meyering  <meyering@redhat.com>
55365         removing useless parentheses in cpp #define directives
55366         For motivation, see commit c0221df4, "define STREQ(a,b)
55367         consistently, removing useless parentheses"
55368         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
55369         * lib/mountlist.c (MNT_IGNORE): Likewise.
55370         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
55372 2010-02-01  Eric Blake  <ebb9@byu.net>
55374         sys_time: use link-warning
55375         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
55376         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
55377         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
55378         * modules/sys_time (Depends-on): Add warn-on-use.
55379         (Makefile.am): Always build replacement.
55380         (configure.ac): Update substitutions.
55381         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
55382         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
55383         bother with SYS_TIME_H.
55384         * modules/gettimeofday (configure.ac): Declare indicator.
55385         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
55386         in use.
55388         closein-tests: silence compiler warning
55389         * tests/test-closein.c (main): Ignore fread result.
55390         * modules/closein-tests (Depends-on): Add ignore-value.
55392         tests: silence warning about system return
55393         * tests/test-areadlink-with-size.c (main): Ignore system result.
55394         * tests/test-areadlink.c (main): Likewise.
55395         * tests/test-areadlinkat-with-size.c (main): Likewise.
55396         * tests/test-areadlinkat.c (main): Likewise.
55397         * tests/test-canonicalize-lgpl.c (main): Likewise.
55398         * tests/test-canonicalize.c (main): Likewise.
55399         * tests/test-chown.c (main): Likewise.
55400         * tests/test-fchownat.c (main): Likewise.
55401         * tests/test-fdutimensat.c (main): Likewise.
55402         * tests/test-fstatat.c (main): Likewise.
55403         * tests/test-futimens.c (main): Likewise.
55404         * tests/test-lchown.c (main): Likewise.
55405         * tests/test-link.c (main): Likewise.
55406         * tests/test-linkat.c (main): Likewise.
55407         * tests/test-lstat.c (main): Likewise.
55408         * tests/test-mkdir.c (main): Likewise.
55409         * tests/test-mkdirat.c (main): Likewise.
55410         * tests/test-mkfifo.c (main): Likewise.
55411         * tests/test-mkfifoat.c (main): Likewise.
55412         * tests/test-mknod.c (main): Likewise.
55413         * tests/test-readlink.c (main): Likewise.
55414         * tests/test-remove.c (main): Likewise.
55415         * tests/test-rename.c (main): Likewise.
55416         * tests/test-renameat.c (main): Likewise.
55417         * tests/test-rmdir.c (main): Likewise.
55418         * tests/test-symlink.c (main): Likewise.
55419         * tests/test-symlinkat.c (main): Likewise.
55420         * tests/test-unlink.c (main): Likewise.
55421         * tests/test-unlinkat.c (main): Likewise.
55422         * tests/test-utimens.c (main): Likewise.
55423         * tests/test-utimensat.c (main): Likewise.
55424         * modules/areadlink-tests (Depends-on): Add ignore-value.
55425         * modules/areadlink-with-size-tests (Depends-on): Likewise.
55426         * modules/areadlinkat-tests (Depends-on): Likewise.
55427         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
55428         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
55429         * modules/canonicalize-tests (Depends-on): Likewise.
55430         * modules/chown-tests (Depends-on): Likewise.
55431         * modules/fdutimensat-tests (Depends-on): Likewise.
55432         * modules/futimens-tests (Depends-on): Likewise.
55433         * modules/lchown-tests (Depends-on): Likewise.
55434         * modules/link-tests (Depends-on): Likewise.
55435         * modules/linkat-tests (Depends-on): Likewise.
55436         * modules/lstat-tests (Depends-on): Likewise.
55437         * modules/mkdir-tests (Depends-on): Likewise.
55438         * modules/mkfifo-tests (Depends-on): Likewise.
55439         * modules/mkfifoat-tests (Depends-on): Likewise.
55440         * modules/mknod-tests (Depends-on): Likewise.
55441         * modules/openat-tests (Depends-on): Likewise.
55442         * modules/readlink-tests (Depends-on): Likewise.
55443         * modules/remove-tests (Depends-on): Likewise.
55444         * modules/rename-tests (Depends-on): Likewise.
55445         * modules/renameat-tests (Depends-on): Likewise.
55446         * modules/rmdir-tests (Depends-on): Likewise.
55447         * modules/symlink-tests (Depends-on): Likewise.
55448         * modules/symlinkat-tests (Depends-on): Likewise.
55449         * modules/unlink-tests (Depends-on): Likewise.
55450         * modules/utimens-tests (Depends-on): Likewise.
55451         * modules/utimensat-tests (Depends-on): Likewise.
55453 2010-01-31  Bruno Haible  <bruno@clisp.org>
55455         Perform the same test for many <math.h> functions.
55456         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
55457         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
55458         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
55459         of gl_MATHFUNC.
55460         * modules/acos (configure.ac): Likewise.
55461         * modules/asin (configure.ac): Likewise.
55462         * modules/atan (configure.ac): Likewise.
55463         * modules/atan2 (configure.ac): Likewise.
55464         * modules/cbrt (configure.ac): Likewise.
55465         * modules/copysign (configure.ac): Likewise.
55466         * modules/cos (configure.ac): Likewise.
55467         * modules/cosh (configure.ac): Likewise.
55468         * modules/erf (configure.ac): Likewise.
55469         * modules/erfc (configure.ac): Likewise.
55470         * modules/exp (configure.ac): Likewise.
55471         * modules/fmod (configure.ac): Likewise.
55472         * modules/hypot (configure.ac): Likewise.
55473         * modules/j0 (configure.ac): Likewise.
55474         * modules/j1 (configure.ac): Likewise.
55475         * modules/jn (configure.ac): Likewise.
55476         * modules/lgamma (configure.ac): Likewise.
55477         * modules/log (configure.ac): Likewise.
55478         * modules/log10 (configure.ac): Likewise.
55479         * modules/log1p (configure.ac): Likewise.
55480         * modules/pow (configure.ac): Likewise.
55481         * modules/remainder (configure.ac): Likewise.
55482         * modules/sin (configure.ac): Likewise.
55483         * modules/sinh (configure.ac): Likewise.
55484         * modules/tan (configure.ac): Likewise.
55485         * modules/tanh (configure.ac): Likewise.
55486         * modules/y0 (configure.ac): Likewise.
55487         * modules/y1 (configure.ac): Likewise.
55488         * modules/yn (configure.ac): Likewise.
55489         Suggested by Paolo Bonzini.
55491 2010-01-31  Bruno Haible  <bruno@clisp.org>
55493         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
55495 2010-01-31  Bruno Haible  <bruno@clisp.org>
55497         Work around getdelim() bug on FreeBSD 8.0.
55498         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
55499         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
55500         not work.
55501         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
55502         is 1.
55503         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
55504         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
55505         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
55506         a non-zero size.
55507         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
55509 2010-01-31  Bruno Haible  <bruno@clisp.org>
55511         Work around getline() bug on FreeBSD 8.0.
55512         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
55513         and a non-zero size.
55514         * tests/test-getline.c (main): Likewise.
55515         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
55516         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
55518 2010-01-28  Eric Blake  <ebb9@byu.net>
55520         regex: fix build failure
55521         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
55522         platforms.
55524 2010-01-28  Jim Meyering  <meyering@redhat.com>
55526         regex: do not ignore memory allocation failure
55527         * lib/regex_internal.c (create_cd_newstate): Detect
55528         re_node_set_init_copy failure.   Extracted from glibc commit
55529         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55531         regex: sync more white-space changes from libc
55532         * lib/regex_internal.c: White-space only changes.
55533         * lib/regexec.c: Likewise.
55535         regex: add many uses of __attribute_warn_unused_result__
55536         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
55537         * lib/regexec.c: Likewise.
55538         Extracted from a messy glibc commit.
55540         regcomp.c: spelling and merge-artifact from glibc
55541         * lib/regcomp.c: Merge remainder of glibc's
55542         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55544         regcomp.c: sync white-space changes from glibc
55545         * lib/regcomp.c: Merge to accommodate white space
55546         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55548         regcomp.c: do not ignore internal return values
55549         * lib/regcomp.c: Do not ignore internal return values.
55550         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
55551         but without its white-space changes and spelling fixes.
55553         regex_internal.h: define __attribute_warn_unused_result__
55554         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
55556         maint: add a syntax-check rule to check for vulnerable Makefile.in
55557         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
55559 2010-01-27  Jim Meyering  <meyering@redhat.com>
55561         ncftpput-ftp: clean up spaces
55562         * build-aux/ncftpput-ftp: Make Copyright line consistent.
55563         Remove trailing blanks.
55565 2010-01-27  Simon Josefsson  <simon@josefsson.org>
55567         * build-aux/git-version-gen: Fix copyright statement.
55568         * build-aux/gnupload: Likewise.
55569         * tests/test-arcfour.c: Likewise.
55570         * tests/test-arctwo.c: Likewise.
55571         * tests/test-count-one-bits.c: Likewise.
55572         * tests/test-crc.c: Likewise.
55573         * tests/test-des.c: Likewise.
55574         * tests/test-gc-arcfour.c: Likewise.
55575         * tests/test-gc-arctwo.c: Likewise.
55576         * tests/test-gc-des.c: Likewise.
55577         * tests/test-gc-hmac-md5.c: Likewise.
55578         * tests/test-gc-hmac-sha1.c: Likewise.
55579         * tests/test-gc-md2.c: Likewise.
55580         * tests/test-gc-md4.c: Likewise.
55581         * tests/test-gc-md5.c: Likewise.
55582         * tests/test-gc-pbkdf2-sha1.c: Likewise.
55583         * tests/test-gc-rijndael.c: Likewise.
55584         * tests/test-gc-sha1.c: Likewise.
55585         * tests/test-gc.c: Likewise.
55586         * tests/test-gethostname.c: Likewise.
55587         * tests/test-gettimeofday.c: Likewise.
55588         * tests/test-hash.c: Likewise.
55589         * tests/test-hmac-md5.c: Likewise.
55590         * tests/test-hmac-sha1.c: Likewise.
55591         * tests/test-md2.c: Likewise.
55592         * tests/test-md4.c: Likewise.
55593         * tests/test-md5.c: Likewise.
55594         * tests/test-memchr.c: Likewise.
55595         * tests/test-memchr2.c: Likewise.
55596         * tests/test-memcmp.c: Likewise.
55597         * tests/test-memmem.c: Likewise.
55598         * tests/test-memrchr.c: Likewise.
55599         * tests/test-rawmemchr.c: Likewise.
55600         * tests/test-read-file.c: Likewise.
55601         * tests/test-rijndael.c: Likewise.
55602         * tests/test-sockets.c: Likewise.
55603         * tests/test-strchrnul.c: Likewise.
55604         * tests/test-strstr.c: Likewise.
55605         * tests/test-strtod.c: Likewise.
55606         * build-aux/ncftpput-ftp: Likewise.
55608 2010-01-26  Eric Blake  <ebb9@byu.net>
55610         ignore-value: update recommended header name
55611         * modules/ignore-value (Include): Only use <> for headers that
55612         exist in glibc.
55614 2010-01-26  Jim Meyering  <meyering@redhat.com>
55616         test-userspec.c: avoid compiler warnings
55617         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
55618         and "initialization discards qualifiers..." warnings.
55619         Put the first "uid" in its own scope, and make char* members "const".
55621 2010-01-25  Bruno Haible  <bruno@clisp.org>
55623         gnulib-tool: Make warning diagnostics consistent.
55624         * gnulib-tool (func_warning): New function.
55625         Use it everywhere where gnulib-tool produces output to stderr and it is
55626         not a fatal error.
55628 2010-01-25  Bruno Haible  <bruno@clisp.org>
55630         Fix test dependencies.
55631         * modules/xstrtol-tests (Depends-on): Add inttypes.
55632         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
55634 2010-01-25  Pádraig Brady  <P@draigBrady.com>
55636         syntax-check: detect incorrect boolean macro values in config.h
55637         * modules/maintainer-makefile (configure.ac): Parameterize the location
55638         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
55639         The logic is from Eric Blake and the location indicated by Jim Meyering.
55640         Note the more natural CONFIG_HEADER name is prohibited by automake
55641         for backwards compatibility reasons.
55642         * top/maint.mk (sc_Wundef_boolean): New rule.
55644 2010-01-25  Jim Meyering  <meyering@redhat.com>
55646         bootstrap: detect MacOS 10.6's shasum, too
55647         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
55648         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
55650 2010-01-23  Jim Meyering  <meyering@redhat.com>
55652         xstrtoll: new module
55653         * modules/xstrtoll: New file.
55654         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
55655         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
55656         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
55657         ./configure fails if you use this module and lack "long long".
55658         * modules/xstrtoll-tests: New module.
55659         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
55660         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
55661         new init.sh-based test framework.
55663 2010-01-24  Bruno Haible  <bruno@clisp.org>
55665         Tests for module 'yn'.
55666         * modules/yn-tests: New file.
55667         * tests/test-yn.c: New file.
55669         Tests for module 'y1'.
55670         * modules/y1-tests: New file.
55671         * tests/test-y1.c: New file.
55673         Tests for module 'y0'.
55674         * modules/y0-tests: New file.
55675         * tests/test-y0.c: New file.
55677         Tests for module 'tanh'.
55678         * modules/tanh-tests: New file.
55679         * tests/test-tanh.c: New file.
55681         Tests for module 'tan'.
55682         * modules/tan-tests: New file.
55683         * tests/test-tan.c: New file.
55685         Tests for module 'sqrt'.
55686         * modules/sqrt-tests: New file.
55687         * tests/test-sqrt.c: New file.
55689         Tests for module 'sinh'.
55690         * modules/sinh-tests: New file.
55691         * tests/test-sinh.c: New file.
55693         Tests for module 'sin'.
55694         * modules/sin-tests: New file.
55695         * tests/test-sin.c: New file.
55697         Tests for module 'rint'.
55698         * modules/rint-tests: New file.
55699         * tests/test-rint.c: New file.
55701         Tests for module 'remainder'.
55702         * modules/remainder-tests: New file.
55703         * tests/test-remainder.c: New file.
55705         Tests for module 'pow'.
55706         * modules/pow-tests: New file.
55707         * tests/test-pow.c: New file.
55709         Tests for module 'nextafter'.
55710         * modules/nextafter-tests: New file.
55711         * tests/test-nextafter.c: New file.
55713         Tests for module 'modf'.
55714         * modules/modf-tests: New file.
55715         * tests/test-modf.c: New file.
55717         Tests for module 'logb'.
55718         * modules/logb-tests: New file.
55719         * tests/test-logb.c: New file.
55721         Tests for module 'log1p'.
55722         * modules/log1p-tests: New file.
55723         * tests/test-log1p.c: New file.
55725         Tests for module 'log10'.
55726         * modules/log10-tests: New file.
55727         * tests/test-log10.c: New file.
55729         Tests for module 'log'.
55730         * modules/log-tests: New file.
55731         * tests/test-log.c: New file.
55733         Tests for module 'lgamma'.
55734         * modules/lgamma-tests: New file.
55735         * tests/test-lgamma.c: New file.
55737         Tests for module 'ldexp'.
55738         * modules/ldexp-tests: New file.
55739         * tests/test-ldexp.c: New file.
55741         Tests for module 'jn'.
55742         * modules/jn-tests: New file.
55743         * tests/test-jn.c: New file.
55745         Tests for module 'j1'.
55746         * modules/j1-tests: New file.
55747         * tests/test-j1.c: New file.
55749         Tests for module 'j0'.
55750         * modules/j0-tests: New file.
55751         * tests/test-j0.c: New file.
55753         Tests for module 'hypot'.
55754         * modules/hypot-tests: New file.
55755         * tests/test-hypot.c: New file.
55757         Tests for module 'fmod'.
55758         * modules/fmod-tests: New file.
55759         * tests/test-fmod.c: New file.
55761         Tests for module 'fabs'.
55762         * modules/fabs-tests: New file.
55763         * tests/test-fabs.c: New file.
55765         Tests for module 'exp'.
55766         * modules/exp-tests: New file.
55767         * tests/test-exp.c: New file.
55769         Tests for module 'erfc'.
55770         * modules/erfc-tests: New file.
55771         * tests/test-erfc.c: New file.
55773         Tests for module 'erf'.
55774         * modules/erf-tests: New file.
55775         * tests/test-erf.c: New file.
55777         Tests for module 'cosh'.
55778         * modules/cosh-tests: New file.
55779         * tests/test-cosh.c: New file.
55781         Tests for module 'cos'.
55782         * modules/cos-tests: New file.
55783         * tests/test-cos.c: New file.
55785         Tests for module 'copysign'.
55786         * modules/copysign-tests: New file.
55787         * tests/test-copysign.c: New file.
55789         Tests for module 'cbrt'.
55790         * modules/cbrt-tests: New file.
55791         * tests/test-cbrt.c: New file.
55793         Tests for module 'atan2'.
55794         * modules/atan2-tests: New file.
55795         * tests/test-atan2.c: New file.
55797         Tests for module 'atan'.
55798         * modules/atan-tests: New file.
55799         * tests/test-atan.c: New file.
55801         Tests for module 'asin'.
55802         * modules/asin-tests: New file.
55803         * tests/test-asin.c: New file.
55805         Tests for module 'acos'.
55806         * modules/acos-tests: New file.
55807         * tests/test-acos.c: New file.
55809 2010-01-24  Bruno Haible  <bruno@clisp.org>
55811         Fix tests for common <math.h> functions.
55812         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
55813         code snippet that references the function pointer, rather than merely
55814         calling the function. Substitute the FUNC_LIBM variable.
55815         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
55816         * modules/acos (configure.ac): Likewise.
55817         * modules/asin (configure.ac): Likewise.
55818         * modules/atan (configure.ac): Likewise.
55819         * modules/atan2 (configure.ac): Likewise.
55820         * modules/cbrt (configure.ac): Likewise.
55821         * modules/copysign (configure.ac): Likewise.
55822         * modules/cos (configure.ac): Likewise.
55823         * modules/cosh (configure.ac): Likewise.
55824         * modules/erf (configure.ac): Likewise.
55825         * modules/erfc (configure.ac): Likewise.
55826         * modules/exp (configure.ac): Likewise.
55827         * modules/fabs (configure.ac): Likewise.
55828         * modules/fmod (configure.ac): Likewise.
55829         * modules/hypot (configure.ac): Likewise.
55830         * modules/j0 (configure.ac): Likewise.
55831         * modules/j1 (configure.ac): Likewise.
55832         * modules/jn (configure.ac): Likewise.
55833         * modules/ldexp (configure.ac): Likewise.
55834         * modules/lgamma (configure.ac): Likewise.
55835         * modules/log (configure.ac): Likewise.
55836         * modules/log10 (configure.ac): Likewise.
55837         * modules/log1p (configure.ac): Likewise.
55838         * modules/logb (configure.ac): Likewise.
55839         * modules/modf (configure.ac): Likewise.
55840         * modules/nextafter (configure.ac): Likewise.
55841         * modules/pow (configure.ac): Likewise.
55842         * modules/remainder (configure.ac): Likewise.
55843         * modules/rint (configure.ac): Likewise.
55844         * modules/sin (configure.ac): Likewise.
55845         * modules/sinh (configure.ac): Likewise.
55846         * modules/tan (configure.ac): Likewise.
55847         * modules/tanh (configure.ac): Likewise.
55848         * modules/y0 (configure.ac): Likewise.
55849         * modules/y1 (configure.ac): Likewise.
55850         * modules/yn (configure.ac): Likewise.
55852 2010-01-24  Bruno Haible  <bruno@clisp.org>
55854         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
55855         * tests/test-acosl.c (x): New variable.
55856         (main): Store argument in x and fetch it from x.
55857         * tests/test-asinl.c (x): New variable.
55858         (main): Store argument in x and fetch it from x.
55859         * tests/test-atanl.c (x): New variable.
55860         (main): Store argument in x and fetch it from x.
55861         * tests/test-cosl.c (x): New variable.
55862         (main): Store argument in x and fetch it from x.
55863         * tests/test-expl.c (x): New variable.
55864         (main): Store argument in x and fetch it from x.
55865         * tests/test-logl.c (x): New variable.
55866         (main): Store argument in x and fetch it from x.
55867         * tests/test-sinl.c (x): New variable.
55868         (main): Store argument in x and fetch it from x.
55869         * tests/test-sqrtl.c (x): New variable.
55870         (main): Store argument in x and fetch it from x.
55871         * tests/test-tanl.c (x): New variable.
55872         (main): Store argument in x and fetch it from x.
55874 2010-01-24  Bruno Haible  <bruno@clisp.org>
55876         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
55877         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
55878         assignments to the initial TESTS_ENVIRONMENT.
55879         * doc/gnulib.texi (Unit test modules): Document it.
55880         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
55881         TESTS_ENVIRONMENT.
55882         * modules/btowc-tests (Makefile.am): Likewise.
55883         * modules/c-stack-tests (Makefile.am): Likewise.
55884         * modules/c-strcase-tests (Makefile.am): Likewise.
55885         * modules/copy-file-tests (Makefile.am): Likewise.
55886         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
55887         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
55888         * modules/mbrtowc-tests (Makefile.am): Likewise.
55889         * modules/mbscasecmp-tests (Makefile.am): Likewise.
55890         * modules/mbscasestr-tests (Makefile.am): Likewise.
55891         * modules/mbschr-tests (Makefile.am): Likewise.
55892         * modules/mbscspn-tests (Makefile.am): Likewise.
55893         * modules/mbsinit-tests (Makefile.am): Likewise.
55894         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
55895         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
55896         * modules/mbspbrk-tests (Makefile.am): Likewise.
55897         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
55898         * modules/mbsrchr-tests (Makefile.am): Likewise.
55899         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
55900         * modules/mbsspn-tests (Makefile.am): Likewise.
55901         * modules/mbsstr-tests (Makefile.am): Likewise.
55902         * modules/nl_langinfo-tests (Makefile.am): Likewise.
55903         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
55904         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
55905         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
55906         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
55907         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
55908         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
55909         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
55910         * modules/wcrtomb-tests (Makefile.am): Likewise.
55911         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
55912         * modules/wcsrtombs-tests (Makefile.am): Likewise.
55913         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
55914         assignments from TESTS_ENVIRONMENT.
55915         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
55916         augmentation.
55917         * modules/argp-version-etc-tests (Makefile.am): Likewise.
55918         * modules/atexit-tests (Makefile.am): Likewise.
55919         * modules/binary-io-tests (Makefile.am): Likewise.
55920         * modules/closein-tests (Makefile.am): Likewise.
55921         * modules/dprintf-posix-tests (Makefile.am): Likewise.
55922         * modules/exclude-tests (Makefile.am): Likewise.
55923         * modules/fflush-tests (Makefile.am): Likewise.
55924         * modules/fpending-tests (Makefile.am): Likewise.
55925         * modules/fprintf-posix-tests (Makefile.am): Likewise.
55926         * modules/freadahead-tests (Makefile.am): Likewise.
55927         * modules/freadptr-tests (Makefile.am): Likewise.
55928         * modules/freadseek-tests (Makefile.am): Likewise.
55929         * modules/fseek-tests (Makefile.am): Likewise.
55930         * modules/fseeko-tests (Makefile.am): Likewise.
55931         * modules/ftell-tests (Makefile.am): Likewise.
55932         * modules/ftello-tests (Makefile.am): Likewise.
55933         * modules/idpriv-drop-tests (Makefile.am): Likewise.
55934         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
55935         * modules/lseek-tests (Makefile.am): Likewise.
55936         * modules/parse-duration-tests (Makefile.am): Likewise.
55937         * modules/perror-tests (Makefile.am): Likewise.
55938         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
55939         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
55940         * modules/pipe-tests (Makefile.am): Likewise.
55941         * modules/pread-tests (Makefile.am): Likewise.
55942         * modules/printf-posix-tests (Makefile.am): Likewise.
55943         * modules/select-tests (Makefile.am): Likewise.
55944         * modules/sigpipe-tests (Makefile.am): Likewise.
55945         * modules/tsearch-tests (Makefile.am): Likewise.
55946         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
55947         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
55948         * modules/uniname/uniname-tests (Makefile.am): Likewise.
55949         * modules/uniwidth/width-tests (Makefile.am): Likewise.
55950         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
55951         * modules/version-etc-tests (Makefile.am): Likewise.
55952         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
55953         * modules/vprintf-posix-tests (Makefile.am): Likewise.
55954         * modules/xalloc-die-tests (Makefile.am): Likewise.
55955         * modules/xprintf-posix-tests (Makefile.am): Likewise.
55956         * modules/xstrtoimax-tests (Makefile.am): Likewise.
55957         * modules/xstrtol-tests (Makefile.am): Likewise.
55958         * modules/xstrtoumax-tests (Makefile.am): Likewise.
55959         * modules/yesno-tests (Makefile.am): Likewise.
55960         Suggested by Jim Meyering.
55962 2010-01-24  Bruno Haible  <bruno@clisp.org>
55964         More documentation.
55965         * doc/gnulib.texi (Writing modules): New chapter.
55966         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
55967         the new chapter.
55969 2010-01-24  Jim Meyering  <meyering@redhat.com>
55971         maint.mk: do not prepend "./" after filtering
55972         * top/maint.mk (_prepend_srcdir_prefix): New variable
55973         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
55974         "./" when $(srcdir) is ".".
55976         define STREQ(a,b) consistently, removing useless parentheses
55977         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
55978         since the only risk is that "a" or "b" contains an unparenthesized
55979         comma, but if either did that, STREQ would have 3 or more arguments.
55980         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
55981         * lib/fts.c (STREQ): Remove unnecessary parentheses.
55982         * lib/hash-triple.c (STREQ): Likewise.
55983         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
55984         * lib/getugroups.c (STREQ): Likewise.
55986 2010-01-23  Jim Meyering  <meyering@redhat.com>
55988         maint.mk: fix syntax-check in a non-srcdir build directory
55989         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
55990         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
55992 2010-01-22  Jim Meyering  <meyering@redhat.com>
55994         userspec: add unit tests
55995         * tests/test-userspec.c: New file.
55996         * modules/userspec-tests: Likewise.
55998 2010-01-21  Jim Meyering  <meyering@redhat.com>
56000         maint.mk: handle source file names containing "." robustly
56001         * top/maint.mk (_dot_escaped_srcdir): Define.
56002         (VC_LIST): Use it in LHS of sed substitution.
56004 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
56006         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
56007         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
56008         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
56009         from a non-srcdir build.
56011 2010-01-20  Eric Blake  <ebb9@byu.net>
56013         warn-on-use: use instead of link-warning
56014         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
56015         * modules/unistd (Depends-on, Makefile.am): Likewise.
56016         * modules/arpa_inet (Depends-on): Replace link-warning with
56017         warn-on-use.
56018         (Makefile.am): Update rules accordingly.
56019         * modules/ctype (Depends-on, Makefile.am): Likewise.
56020         * modules/dirent (Depends-on, Makefile.am): Likewise.
56021         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
56022         * modules/inttypes (Depends-on, Makefile.am): Likewise.
56023         * modules/langinfo (Depends-on, Makefile.am): Likewise.
56024         * modules/locale (Depends-on, Makefile.am): Likewise.
56025         * modules/math (Depends-on, Makefile.am): Likewise.
56026         * modules/search (Depends-on, Makefile.am): Likewise.
56027         * modules/signal (Depends-on, Makefile.am): Likewise.
56028         * modules/spawn (Depends-on, Makefile.am): Likewise.
56029         * modules/stdlib (Depends-on, Makefile.am): Likewise.
56030         * modules/string (Depends-on, Makefile.am): Likewise.
56031         * modules/strings (Depends-on, Makefile.am): Likewise.
56032         * modules/sys_file (Depends-on, Makefile.am): Likewise.
56033         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
56034         * modules/sys_select (Depends-on, Makefile.am): Likewise.
56035         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
56036         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
56037         * modules/sys_times (Depends-on, Makefile.am): Likewise.
56038         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
56039         * modules/wchar (Depends-on, Makefile.am): Likewise.
56040         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
56041         should be poisoned.
56042         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
56043         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
56044         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
56045         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
56046         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
56047         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
56048         * m4/math_h.m4 (gl_MATH_H): Likewise.
56049         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
56050         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
56051         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
56052         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
56053         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
56054         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
56055         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
56056         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
56057         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
56058         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56059         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
56060         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
56061         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
56062         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
56063         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
56064         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
56065         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
56066         GL_LINK_WARNING.
56067         * lib/ctype.in.h: Likewise.
56068         * lib/dirent.in.h: Likewise.
56069         * lib/fcntl.in.h: Likewise.
56070         * lib/inttypes.in.h: Likewise.
56071         * lib/langinfo.in.h: Likewise.
56072         * lib/locale.in.h: Likewise.
56073         * lib/math.in.h: Likewise.
56074         * lib/search.in.h: Likewise.
56075         * lib/signal.in.h: Likewise.
56076         * lib/spawn.in.h: Likewise.
56077         * lib/stdio.in.h: Likewise.
56078         * lib/stdlib.in.h: Likewise.
56079         * lib/string.in.h: Likewise.
56080         * lib/strings.in.h: Likewise.
56081         * lib/sys_file.in.h: Likewise.
56082         * lib/sys_ioctl.in.h: Likewise.
56083         * lib/sys_select.in.h: Likewise.
56084         * lib/sys_socket.in.h: Likewise.
56085         * lib/sys_stat.in.h: Likewise.
56086         * lib/sys_times.in.h: Likewise.
56087         * lib/sys_utsname.in.h: Likewise.
56088         * lib/unistd.in.h: Likewise.
56089         * lib/wchar.in.h: Likewise.
56091 2010-01-20  Bruno Haible  <bruno@clisp.org>
56093         Avoid duplicate -lm.
56094         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
56095         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
56096         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
56097         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
56098         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
56099         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
56100         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
56101         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
56102         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
56103         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
56104         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
56105         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
56106         Reported by Paolo Bonzini.
56108 2010-01-19  Bruno Haible  <bruno@clisp.org>
56110         langinfo, nl_langinfo: Relicense under LGPLv2+.
56111         * modules/langinfo (License): Change to LGPLv2+.
56112         * modules/nl_langinfo (License): Likewise.
56113         Patch by David Lutterkort <lutter@redhat.com>.
56115 2010-01-19  Bruno Haible  <bruno@clisp.org>
56117         Avoid compilation error with cc on OSF/1 5.1.
56118         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
56119         statement, not before.
56120         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56122 2010-01-18  Bruno Haible  <bruno@clisp.org>
56124         Avoid a link error due to the __printf__ symbol.
56125         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
56126         and 2.6.x.
56127         (__format__, __printf__): Remove definitions.
56128         * lib/argp-fmtstream.h: Likewise.
56129         * lib/argp.h: Likewise.
56130         * lib/error.h: Likewise.
56131         * lib/vasnprintf.h: Likewise.
56132         * lib/xprintf.h: Likewise.
56133         * lib/xvasprintf.h: Likewise.
56134         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56136 2010-01-18  Bruno Haible  <bruno@clisp.org>
56138         Tests for module 'tanl'.
56139         * modules/tanl-tests: New file.
56140         * tests/test-tanl.c: New file.
56142         Tests for module 'sqrtl'.
56143         * modules/sqrtl-tests: New file.
56144         * tests/test-sqrtl.c: New file.
56146         Tests for module 'sinl'.
56147         * modules/sinl-tests: New file.
56148         * tests/test-sinl.c: New file.
56150         Tests for module 'logl'.
56151         * modules/logl-tests: New file.
56152         * tests/test-logl.c: New file.
56154         Tests for module 'expl'.
56155         * modules/expl-tests: New file.
56156         * tests/test-expl.c: New file.
56158         Tests for module 'cosl'.
56159         * modules/cosl-tests: New file.
56160         * tests/test-cosl.c: New file.
56162         Tests for module 'atanl'.
56163         * modules/atanl-tests: New file.
56164         * tests/test-atanl.c: New file.
56166         Tests for module 'asinl'.
56167         * modules/asinl-tests: New file.
56168         * tests/test-asinl.c: New file.
56170         Tests for module 'acosl'.
56171         * modules/acosl-tests: New file.
56172         * tests/test-acosl.c: New file.
56174         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
56175         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
56176         tanl): Use the standard gnulib idiom.
56177         * lib/cosl.c: Don't include trigl.c and sincosl.c.
56178         * lib/sinl.c: Likewise.
56179         * lib/tanl.c: Don't include trigl.c.
56180         (kernel_tanl): Make static.
56181         * lib/sincosl.c: Include trigl.h first.
56182         * lib/trigl.c: Likewise.
56183         * m4/acosl.m4: New file.
56184         * m4/asinl.m4: New file.
56185         * m4/atanl.m4: New file.
56186         * m4/cosl.m4: New file.
56187         * m4/expl.m4: New file.
56188         * m4/logl.m4: New file.
56189         * m4/sinl.m4: New file.
56190         * m4/sqrtl.m4: New file.
56191         * m4/tanl.m4: New file.
56192         * m4/mathl.m4: Remove file.
56193         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
56194         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
56195         Don't initialize GNULIB_MATHL.
56196         * modules/acosl: New file.
56197         * modules/asinl: New file.
56198         * modules/atanl: New file.
56199         * modules/cosl: New file.
56200         * modules/expl: New file.
56201         * modules/logl: New file.
56202         * modules/sinl: New file.
56203         * modules/sqrtl: New file.
56204         * modules/tanl: New file.
56205         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
56206         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
56207         substitute GNULIB_MATHL.
56208         * modules/mathl: Rewritten.
56209         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
56210         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
56211         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
56212         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
56213         * doc/posix-functions/expl.texi: Mention the 'expl' module.
56214         * doc/posix-functions/logl.texi: Mention the 'logl' module.
56215         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
56216         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
56217         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
56219 2010-01-18  Bruno Haible  <bruno@clisp.org>
56221         sqrt: Make gl_FUNC_SQRT requirable.
56222         * m4/sqrt.m4: New file.
56223         * modules/sqrt (Files): Add it.
56224         (configure.ac): Invoke gl_FUNC_SQRT.
56226 2010-01-18  Bruno Haible  <bruno@clisp.org>
56228         New modules for common <math.h> functions.
56229         * m4/mathfunc.m4: New file.
56230         * modules/acos: New file.
56231         * modules/asin: New file.
56232         * modules/atan: New file.
56233         * modules/atan2: New file.
56234         * modules/cbrt: New file.
56235         * modules/copysign: New file.
56236         * modules/cos: New file.
56237         * modules/cosh: New file.
56238         * modules/erf: New file.
56239         * modules/erfc: New file.
56240         * modules/exp: New file.
56241         * modules/fabs: New file.
56242         * modules/fmod: New file.
56243         * modules/hypot: New file.
56244         * modules/j0: New file.
56245         * modules/j1: New file.
56246         * modules/jn: New file.
56247         * modules/ldexp: New file.
56248         * modules/lgamma: New file.
56249         * modules/log: New file.
56250         * modules/log10: New file.
56251         * modules/log1p: New file.
56252         * modules/logb: New file.
56253         * modules/modf: New file.
56254         * modules/nextafter: New file.
56255         * modules/pow: New file.
56256         * modules/remainder: New file.
56257         * modules/rint: New file.
56258         * modules/sin: New file.
56259         * modules/sinh: New file.
56260         * modules/sqrt: New file.
56261         * modules/tan: New file.
56262         * modules/tanh: New file.
56263         * modules/y0: New file.
56264         * modules/y1: New file.
56265         * modules/yn: New file.
56266         * doc/posix-functions/acos.texi: Mention the 'acos' module.
56267         * doc/posix-functions/asin.texi: Mention the 'asin' module.
56268         * doc/posix-functions/atan.texi: Mention the 'atan' module.
56269         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
56270         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
56271         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
56272         * doc/posix-functions/cos.texi: Mention the 'cos' module.
56273         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
56274         * doc/posix-functions/erf.texi: Mention the 'erf' module.
56275         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
56276         * doc/posix-functions/exp.texi: Mention the 'exp' module.
56277         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
56278         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
56279         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
56280         * doc/posix-functions/j0.texi: Mention the 'j0' module.
56281         * doc/posix-functions/j1.texi: Mention the 'j1' module.
56282         * doc/posix-functions/jn.texi: Mention the 'jn' module.
56283         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
56284         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
56285         * doc/posix-functions/log.texi: Mention the 'log' module.
56286         * doc/posix-functions/log10.texi: Mention the 'log10' module.
56287         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
56288         * doc/posix-functions/logb.texi: Mention the 'logb' module.
56289         * doc/posix-functions/modf.texi: Mention the 'modf' module.
56290         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
56291         * doc/posix-functions/pow.texi: Mention the 'pow' module.
56292         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
56293         * doc/posix-functions/rint.texi: Mention the 'rint' module.
56294         * doc/posix-functions/sin.texi: Mention the 'sin' module.
56295         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
56296         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
56297         * doc/posix-functions/tan.texi: Mention the 'tan' module.
56298         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
56299         * doc/posix-functions/y0.texi: Mention the 'y0' module.
56300         * doc/posix-functions/y1.texi: Mention the 'y1' module.
56301         * doc/posix-functions/yn.texi: Mention the 'yn' module.
56303 2010-01-18  Jim Meyering  <meyering@redhat.com>
56305         ignore-value: relax license to LGPLv2+
56306         * modules/ignore-value (License): Relax to LGPLv2+.
56308         getdate: don't leak when TZ contains two or more '"'s
56309         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
56310         double quote in TZ after the first one.
56312         readtokens: do not leak internal token_lengths buffer
56313         * lib/readtokens.c (readtokens): Free the local, lengths,
56314         when the supplied "token_lengths" parameter is NULL.
56316 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56318         Fix a couple of missing LIBTHREAD link failures on AIX.
56319         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
56320         $(LIBTHREAD).
56321         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
56323         Link test-poll against INET_PTON_LIB.
56324         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
56325         for inet_pton on Solaris 10.
56327 2010-01-17  Bruno Haible  <bruno@clisp.org>
56329         unistdio/*-sprintf: Fix typo in module description.
56330         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
56331         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
56332         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
56333         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
56334         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
56335         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
56336         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
56337         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56339 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56341         gnulib-tool: fix filelist for AIX, HP-UX ksh.
56342         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
56343         variables in shell case patterns, for AIX and HP-UX ksh.
56345         Split large sed scripts, for HP-UX sed.
56346         * modules/stdio: Split sed scripts around 50 sed commands,
56347         to avoid HP-UX limit of 99 commands, in the near future.
56348         * modules/string: Likewise.
56349         * modules/unistd: Likewise.
56351         gnulib-tool: avoid writing in the current directory.
56352         * gnulib-tool (func_emit_lib_Makefile_am)
56353         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
56354         not in the current directory, so concurrent gnulib-tool
56355         instances do not interfere.
56357 2010-01-16  Jim Meyering  <meyering@redhat.com>
56359         doc: update users.txt
56360         * users.txt: Add grep.
56361         (diffutils, gzip): Update URLs.
56363 2010-01-12  Bruno Haible  <bruno@clisp.org>
56365         posix_spawn: Avoid test failure on Cygwin.
56366         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
56367         characters.
56368         Reported by Simon Josefsson.
56370 2010-01-12  Bruno Haible  <bruno@clisp.org>
56372         * tests/test-cond.c (main): When skipping the test, show the reason.
56374 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56376         * lib/striconv.c (str_cd_iconv): Avoid if before free.
56378 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56380         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
56381         VC_LIST_ALWAYS_EXCLUDE_REGEX.
56383 2010-01-12  Eric Blake  <ebb9@byu.net>
56385         build: guarantee AS_VAR_IF
56386         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
56387         (gl_AS_VAR_IF): Move...
56388         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
56389         Reported by Simon Josefsson.
56391 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56393         * lib/stdio.in.h: Fix typo.
56395 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56397         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
56398         libgpg-error.
56400 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56402         * tests/test-xalloc-die.sh: Use $EXEEXT.
56404 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56405             Bruno Haible  <bruno@clisp.org>
56407         getlogin, getlogin_r: Avoid test failure.
56408         * tests/test-getlogin.c: Include <stdio.h>.
56409         (main): Skip the test when the function fails because stdin is not a
56410         tty.
56411         * tests/test-getlogin_r.c: Include <stdio.h>.
56412         (main): Skip the test when the function fails because stdin is not a
56413         tty.
56415 2010-01-11  Eric Blake  <ebb9@byu.net>
56417         tests: avoid more large file warnings
56418         * tests/test-fflush.c: Avoid warning about ftell use.
56419         * tests/test-fseek.c: Avoid warning about fseek use.
56421 2010-01-10  Bruno Haible  <bruno@clisp.org>
56423         nproc: Work better on Linux when /proc and /sys are not mounted.
56424         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
56425         as lower bound when, on glibc/Linux systems,
56426         sysconf (_SC_NPROCESSORS_CONF) returns 1.
56427         Suggested by Pádraig Brady <P@draigbrady.com>.
56428         Reported by Dmitry V. Levin <ldv@altlinux.org>.
56430         nproc: Refactor.
56431         * lib/nproc.c (num_processors_via_affinity_mask): New function,
56432         extracted from num_processors.
56433         (num_processors): Call it.
56435 2010-01-11  Jim Meyering  <meyering@redhat.com>
56437         utimecmp: avoid new warning from upcoming gcc-4.5.0
56438         * lib/utimecmp.c (BILLION): Define using #define rather than an
56439         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
56441 2010-01-11  Eric Blake  <ebb9@byu.net>
56443         math: add portability warnings for classification macros
56444         * modules/math (Depends-on): Add warn-on-use.
56445         (Makefile.am): Provide new substitutions.
56446         * m4/math_h.m4 (gl_MATH_H): Require inline.
56447         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
56448         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
56449         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
56450         implement warnings.
56452         unistd: warn on use of environ without module
56453         * modules/unistd (Depends-on): Add warn-on-use.
56454         (Makefile.am): Provide new substitutions.
56455         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
56456         * lib/unistd.in.h (environ): Wrap with a warning helper function.
56458         stdio: warn on suspicious uses
56459         * modules/stdio (Depends-on): Add warn-on-use.
56460         (Makefile.am): Provide new substitutions.
56461         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
56462         fseeko.
56463         * lib/stdio.in.h (gets): Always warn on use.
56464         (fseek, ftell): Adjust when warnings are issued, and honor
56465         _GL_NO_LARGE_FILES as a way to silence the warning.
56466         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
56467         any warning about large file offsets.
56468         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
56469         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
56470         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
56471         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
56472         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
56473         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
56474         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
56475         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
56477         warn-on-use: new module
56478         * modules/warn-on-use: New file.
56479         * build-aux/warn-on-use.h: Likewise.
56480         * m4/warn-on-use.m4: Likewise.
56481         * MODULES.html.sh (Support for building): Mention it.
56483 2010-01-10  Bruno Haible  <bruno@clisp.org>
56485         Tests for module 'unistr/u32-strdup'.
56486         * modules/unistr/u32-strdup-tests: New file.
56487         * tests/unistr/test-u32-strdup.c: New file.
56489         Tests for module 'unistr/u16-strdup'.
56490         * modules/unistr/u16-strdup-tests: New file.
56491         * tests/unistr/test-u16-strdup.c: New file.
56493         Tests for module 'unistr/u8-strdup'.
56494         * modules/unistr/u8-strdup-tests: New file.
56495         * tests/unistr/test-u8-strdup.c: New file.
56496         * tests/unistr/test-strdup.h: New file.
56498         Tests for module 'unistr/u32-strncmp'.
56499         * modules/unistr/u32-strncmp-tests: New file.
56500         * tests/unistr/test-u32-strncmp.c: New file.
56502         Tests for module 'unistr/u16-strncmp'.
56503         * modules/unistr/u16-strncmp-tests: New file.
56504         * tests/unistr/test-u16-strncmp.c: New file.
56506         Tests for module 'unistr/u8-strncmp'.
56507         * modules/unistr/u8-strncmp-tests: New file.
56508         * tests/unistr/test-u8-strncmp.c: New file.
56509         * tests/unistr/test-strncmp.h: New file.
56511         Tests for module 'unistr/u32-strcoll'.
56512         * modules/unistr/u32-strcoll-tests: New file.
56513         * tests/unistr/test-u32-strcoll.c: New file.
56515         Tests for module 'unistr/u16-strcoll'.
56516         * modules/unistr/u16-strcoll-tests: New file.
56517         * tests/unistr/test-u16-strcoll.c: New file.
56519         Tests for module 'unistr/u8-strcoll'.
56520         * modules/unistr/u8-strcoll-tests: New file.
56521         * tests/unistr/test-u8-strcoll.c: New file.
56523         Tests for module 'unistr/u32-strcmp'.
56524         * modules/unistr/u32-strcmp-tests: New file.
56525         * tests/unistr/test-u32-strcmp.c: New file.
56526         * tests/unistr/test-u32-strcmp.h: New file.
56528         Tests for module 'unistr/u16-strcmp'.
56529         * modules/unistr/u16-strcmp-tests: New file.
56530         * tests/unistr/test-u16-strcmp.c: New file.
56531         * tests/unistr/test-u16-strcmp.h: New file.
56533         Tests for module 'unistr/u8-strcmp'.
56534         * modules/unistr/u8-strcmp-tests: New file.
56535         * tests/unistr/test-u8-strcmp.c: New file.
56536         * tests/unistr/test-u8-strcmp.h: New file.
56537         * tests/unistr/test-strcmp.h: New file.
56539         Tests for module 'unistr/u32-strncat'.
56540         * modules/unistr/u32-strncat-tests: New file.
56541         * tests/unistr/test-u32-strncat.c: New file.
56543         Tests for module 'unistr/u16-strncat'.
56544         * modules/unistr/u16-strncat-tests: New file.
56545         * tests/unistr/test-u16-strncat.c: New file.
56547         Tests for module 'unistr/u8-strncat'.
56548         * modules/unistr/u8-strncat-tests: New file.
56549         * tests/unistr/test-u8-strncat.c: New file.
56550         * tests/unistr/test-strncat.h: New file.
56552         Tests for module 'unistr/u32-strcat'.
56553         * modules/unistr/u32-strcat-tests: New file.
56554         * tests/unistr/test-u32-strcat.c: New file.
56556         Tests for module 'unistr/u16-strcat'.
56557         * modules/unistr/u16-strcat-tests: New file.
56558         * tests/unistr/test-u16-strcat.c: New file.
56560         Tests for module 'unistr/u8-strcat'.
56561         * modules/unistr/u8-strcat-tests: New file.
56562         * tests/unistr/test-u8-strcat.c: New file.
56563         * tests/unistr/test-strcat.h: New file.
56565         Tests for module 'unistr/u32-stpncpy'.
56566         * modules/unistr/u32-stpncpy-tests: New file.
56567         * tests/unistr/test-u32-stpncpy.c: New file.
56569         Tests for module 'unistr/u16-stpncpy'.
56570         * modules/unistr/u16-stpncpy-tests: New file.
56571         * tests/unistr/test-u16-stpncpy.c: New file.
56573         Tests for module 'unistr/u8-stpncpy'.
56574         * modules/unistr/u8-stpncpy-tests: New file.
56575         * tests/unistr/test-u8-stpncpy.c: New file.
56576         * tests/unistr/test-stpncpy.h: New file.
56578         Tests for module 'unistr/u32-strncpy'.
56579         * modules/unistr/u32-strncpy-tests: New file.
56580         * tests/unistr/test-u32-strncpy.c: New file.
56582         Tests for module 'unistr/u16-strncpy'.
56583         * modules/unistr/u16-strncpy-tests: New file.
56584         * tests/unistr/test-u16-strncpy.c: New file.
56586         Tests for module 'unistr/u8-strncpy'.
56587         * modules/unistr/u8-strncpy-tests: New file.
56588         * tests/unistr/test-u8-strncpy.c: New file.
56589         * tests/unistr/test-strncpy.h: New file.
56591         Tests for module 'unistr/u32-stpcpy'.
56592         * modules/unistr/u32-stpcpy-tests: New file.
56593         * tests/unistr/test-u32-stpcpy.c: New file.
56595         Tests for module 'unistr/u16-stpcpy'.
56596         * modules/unistr/u16-stpcpy-tests: New file.
56597         * tests/unistr/test-u16-stpcpy.c: New file.
56599         Tests for module 'unistr/u8-stpcpy'.
56600         * modules/unistr/u8-stpcpy-tests: New file.
56601         * tests/unistr/test-u8-stpcpy.c: New file.
56602         * tests/unistr/test-stpcpy.h: New file.
56604         Tests for module 'unistr/u32-strcpy'.
56605         * modules/unistr/u32-strcpy-tests: New file.
56606         * tests/unistr/test-u32-strcpy.c: New file.
56608         Tests for module 'unistr/u16-strcpy'.
56609         * modules/unistr/u16-strcpy-tests: New file.
56610         * tests/unistr/test-u16-strcpy.c: New file.
56612         Tests for module 'unistr/u8-strcpy'.
56613         * modules/unistr/u8-strcpy-tests: New file.
56614         * tests/unistr/test-u8-strcpy.c: New file.
56615         * tests/unistr/test-strcpy.h: New file.
56617         Tests for module 'unistr/u32-strnlen'.
56618         * modules/unistr/u32-strnlen-tests: New file.
56619         * tests/unistr/test-u32-strnlen.c: New file.
56621         Tests for module 'unistr/u16-strnlen'.
56622         * modules/unistr/u16-strnlen-tests: New file.
56623         * tests/unistr/test-u16-strnlen.c: New file.
56625         Tests for module 'unistr/u8-strnlen'.
56626         * modules/unistr/u8-strnlen-tests: New file.
56627         * tests/unistr/test-u8-strnlen.c: New file.
56628         * tests/unistr/test-strnlen.h: New file.
56630         Tests for module 'unistr/u32-strlen'.
56631         * modules/unistr/u32-strlen-tests: New file.
56632         * tests/unistr/test-u32-strlen.c: New file.
56634         Tests for module 'unistr/u16-strlen'.
56635         * modules/unistr/u16-strlen-tests: New file.
56636         * tests/unistr/test-u16-strlen.c: New file.
56638         Tests for module 'unistr/u8-strlen'.
56639         * modules/unistr/u8-strlen-tests: New file.
56640         * tests/unistr/test-u8-strlen.c: New file.
56642         Tests for module 'unistr/u32-prev'.
56643         * modules/unistr/u32-prev-tests: New file.
56644         * tests/unistr/test-u32-prev.c: New file.
56646         Tests for module 'unistr/u16-prev'.
56647         * modules/unistr/u16-prev-tests: New file.
56648         * tests/unistr/test-u16-prev.c: New file.
56650         Tests for module 'unistr/u8-prev'.
56651         * modules/unistr/u8-prev-tests: New file.
56652         * tests/unistr/test-u8-prev.c: New file.
56654         Tests for module 'unistr/u32-next'.
56655         * modules/unistr/u32-next-tests: New file.
56656         * tests/unistr/test-u32-next.c: New file.
56658         Tests for module 'unistr/u16-next'.
56659         * modules/unistr/u16-next-tests: New file.
56660         * tests/unistr/test-u16-next.c: New file.
56662         Tests for module 'unistr/u8-next'.
56663         * modules/unistr/u8-next-tests: New file.
56664         * tests/unistr/test-u8-next.c: New file.
56666         Tests for module 'unistr/u32-strmbtouc'.
56667         * modules/unistr/u32-strmbtouc-tests: New file.
56668         * tests/unistr/test-u32-strmbtouc.c: New file.
56670         Tests for module 'unistr/u16-strmbtouc'.
56671         * modules/unistr/u16-strmbtouc-tests: New file.
56672         * tests/unistr/test-u16-strmbtouc.c: New file.
56674         Tests for module 'unistr/u8-strmbtouc'.
56675         * modules/unistr/u8-strmbtouc-tests: New file.
56676         * tests/unistr/test-u8-strmbtouc.c: New file.
56678         Tests for module 'unistr/u32-strmblen'.
56679         * modules/unistr/u32-strmblen-tests: New file.
56680         * tests/unistr/test-u32-strmblen.c: New file.
56682         Tests for module 'unistr/u16-strmblen'.
56683         * modules/unistr/u16-strmblen-tests: New file.
56684         * tests/unistr/test-u16-strmblen.c: New file.
56686         Tests for module 'unistr/u8-strmblen'.
56687         * modules/unistr/u8-strmblen-tests: New file.
56688         * tests/unistr/test-u8-strmblen.c: New file.
56690         Tests for module 'unistr/u32-cpy-alloc'.
56691         * modules/unistr/u32-cpy-alloc-tests: New file.
56692         * tests/unistr/test-u32-cpy-alloc.c: New file.
56694         Tests for module 'unistr/u16-cpy-alloc'.
56695         * modules/unistr/u16-cpy-alloc-tests: New file.
56696         * tests/unistr/test-u16-cpy-alloc.c: New file.
56698         Tests for module 'unistr/u8-cpy-alloc'.
56699         * modules/unistr/u8-cpy-alloc-tests: New file.
56700         * tests/unistr/test-u8-cpy-alloc.c: New file.
56701         * tests/unistr/test-cpy-alloc.h: New file.
56703         Tests for module 'unistr/u32-mbsnlen'.
56704         * modules/unistr/u32-mbsnlen-tests: New file.
56705         * tests/unistr/test-u32-mbsnlen.c: New file.
56707         Tests for module 'unistr/u16-mbsnlen'.
56708         * modules/unistr/u16-mbsnlen-tests: New file.
56709         * tests/unistr/test-u16-mbsnlen.c: New file.
56711         Tests for module 'unistr/u8-mbsnlen'.
56712         * modules/unistr/u8-mbsnlen-tests: New file.
56713         * tests/unistr/test-u8-mbsnlen.c: New file.
56715         Tests for module 'unistr/u32-chr'.
56716         * modules/unistr/u32-chr-tests: New file.
56717         * tests/unistr/test-u32-chr.c: New file.
56719         Tests for module 'unistr/u16-chr'.
56720         * modules/unistr/u16-chr-tests: New file.
56721         * tests/unistr/test-u16-chr.c: New file.
56723         Tests for module 'unistr/u8-chr'.
56724         * modules/unistr/u8-chr-tests: New file.
56725         * tests/unistr/test-u8-chr.c: New file.
56726         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
56728         Tests for module 'unistr/u32-cmp2'.
56729         * modules/unistr/u32-cmp2-tests: New file.
56730         * tests/unistr/test-u32-cmp2.c: New file.
56732         Tests for module 'unistr/u16-cmp2'.
56733         * modules/unistr/u16-cmp2-tests: New file.
56734         * tests/unistr/test-u16-cmp2.c: New file.
56736         Tests for module 'unistr/u8-cmp2'.
56737         * modules/unistr/u8-cmp2-tests: New file.
56738         * tests/unistr/test-u8-cmp2.c: New file.
56739         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
56741         Tests for module 'unistr/u32-cmp'.
56742         * modules/unistr/u32-cmp-tests: New file.
56743         * tests/unistr/test-u32-cmp.c: New file.
56745         Tests for module 'unistr/u16-cmp'.
56746         * modules/unistr/u16-cmp-tests: New file.
56747         * tests/unistr/test-u16-cmp.c: New file.
56749         Tests for module 'unistr/u8-cmp'.
56750         * modules/unistr/u8-cmp-tests: New file.
56751         * tests/unistr/test-u8-cmp.c: New file.
56752         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
56754         Tests for module 'unistr/u32-set'.
56755         * modules/unistr/u32-set-tests: New file.
56756         * tests/unistr/test-u32-set.c: New file.
56758         Tests for module 'unistr/u16-set'.
56759         * modules/unistr/u16-set-tests: New file.
56760         * tests/unistr/test-u16-set.c: New file.
56762         Tests for module 'unistr/u8-set'.
56763         * modules/unistr/u8-set-tests: New file.
56764         * tests/unistr/test-u8-set.c: New file.
56765         * tests/unistr/test-set.h: New file.
56767         Tests for module 'unistr/u32-move'.
56768         * modules/unistr/u32-move-tests: New file.
56769         * tests/unistr/test-u32-move.c: New file.
56771         Tests for module 'unistr/u16-move'.
56772         * modules/unistr/u16-move-tests: New file.
56773         * tests/unistr/test-u16-move.c: New file.
56775         Tests for module 'unistr/u8-move'.
56776         * modules/unistr/u8-move-tests: New file.
56777         * tests/unistr/test-u8-move.c: New file.
56778         * tests/unistr/test-move.h: New file.
56780         Tests for module 'unistr/u32-cpy'.
56781         * modules/unistr/u32-cpy-tests: New file.
56782         * tests/unistr/test-u32-cpy.c: New file.
56784         Tests for module 'unistr/u16-cpy'.
56785         * modules/unistr/u16-cpy-tests: New file.
56786         * tests/unistr/test-u16-cpy.c: New file.
56788         Tests for module 'unistr/u8-cpy'.
56789         * modules/unistr/u8-cpy-tests: New file.
56790         * tests/unistr/test-u8-cpy.c: New file.
56791         * tests/unistr/test-cpy.h: New file.
56793 2010-01-09  Bruno Haible  <bruno@clisp.org>
56795         Tests for module 'unistr/u32-uctomb'.
56796         * modules/unistr/u32-uctomb-tests: New file.
56797         * tests/unistr/test-u32-uctomb.c: New file.
56799         Tests for module 'unistr/u16-uctomb'.
56800         * modules/unistr/u16-uctomb-tests: New file.
56801         * tests/unistr/test-u16-uctomb.c: New file.
56803         Tests for module 'unistr/u8-uctomb'.
56804         * modules/unistr/u8-uctomb-tests: New file.
56805         * tests/unistr/test-u8-uctomb.c: New file.
56807         Tests for module 'unistr/u32-mbtoucr'.
56808         * modules/unistr/u32-mbtoucr-tests: New file.
56809         * tests/unistr/test-u32-mbtoucr.c: New file.
56811         Tests for module 'unistr/u16-mbtoucr'.
56812         * modules/unistr/u16-mbtoucr-tests: New file.
56813         * tests/unistr/test-u16-mbtoucr.c: New file.
56815         Tests for module 'unistr/u8-mbtoucr'.
56816         * modules/unistr/u8-mbtoucr-tests: New file.
56817         * tests/unistr/test-u8-mbtoucr.c: New file.
56819         Tests for module 'unistr/u32-mbtouc'.
56820         * modules/unistr/u32-mbtouc-tests: New file.
56821         * tests/unistr/test-u32-mbtouc.c: New file.
56823         Tests for module 'unistr/u16-mbtouc'.
56824         * modules/unistr/u16-mbtouc-tests: New file.
56825         * tests/unistr/test-u16-mbtouc.c: New file.
56827         Tests for module 'unistr/u8-mbtouc'.
56828         * modules/unistr/u8-mbtouc-tests: New file.
56829         * tests/unistr/test-u8-mbtouc.c: New file.
56831         Tests for module 'unistr/u32-mbtouc-unsafe'.
56832         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
56833         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
56834         * tests/unistr/test-u32-mbtouc.h: New file.
56836         Tests for module 'unistr/u16-mbtouc-unsafe'.
56837         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
56838         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
56839         * tests/unistr/test-u16-mbtouc.h: New file.
56841         Tests for module 'unistr/u8-mbtouc-unsafe'.
56842         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
56843         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
56844         * tests/unistr/test-u8-mbtouc.h: New file.
56846         Tests for module 'unistr/u32-mblen'.
56847         * modules/unistr/u32-mblen-tests: New file.
56848         * tests/unistr/test-u32-mblen.c: New file.
56850         Tests for module 'unistr/u16-mblen'.
56851         * modules/unistr/u16-mblen-tests: New file.
56852         * tests/unistr/test-u16-mblen.c: New file.
56854         Tests for module 'unistr/u8-mblen'.
56855         * modules/unistr/u8-mblen-tests: New file.
56856         * tests/unistr/test-u8-mblen.c: New file.
56858         Tests for module 'unistr/u32-to-u16'.
56859         * modules/unistr/u32-to-u16-tests: New file.
56860         * tests/unistr/test-u32-to-u16.c: New file.
56862         Tests for module 'unistr/u32-to-u8'.
56863         * modules/unistr/u32-to-u8-tests: New file.
56864         * tests/unistr/test-u32-to-u8.c: New file.
56866         Tests for module 'unistr/u16-to-u32'.
56867         * modules/unistr/u16-to-u32-tests: New file.
56868         * tests/unistr/test-u16-to-u32.c: New file.
56870         Tests for module 'unistr/u16-to-u8'.
56871         * modules/unistr/u16-to-u8-tests: New file.
56872         * tests/unistr/test-u16-to-u8.c: New file.
56874         Tests for module 'unistr/u8-to-u32'.
56875         * modules/unistr/u8-to-u32-tests: New file.
56876         * tests/unistr/test-u8-to-u32.c: New file.
56878         Tests for module 'unistr/u8-to-u16'.
56879         * modules/unistr/u8-to-u16-tests: New file.
56880         * tests/unistr/test-u8-to-u16.c: New file.
56882         Tests for module 'unistr/u32-check'.
56883         * modules/unistr/u32-check-tests: New file.
56884         * tests/unistr/test-u32-check.c: New file.
56886         Tests for module 'unistr/u16-check'.
56887         * modules/unistr/u16-check-tests: New file.
56888         * tests/unistr/test-u16-check.c: New file.
56890         Tests for module 'unistr/u8-check'.
56891         * modules/unistr/u8-check-tests: New file.
56892         * tests/unistr/test-u8-check.c: New file.
56894         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
56895         (category_equals): New function.
56896         (main): Add more tests.
56897         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
56899         * tests/unictype/test-bidi_byname.c (main): Add more tests.
56901 2010-01-10  Bruno Haible  <bruno@clisp.org>
56903         unistr/u*-strcoll: Try harder to distinguish different strings.
56904         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
56905         compare s1 and s2 to see if they are different.
56907 2010-01-10  Bruno Haible  <bruno@clisp.org>
56909         unistr/u*-stpncpy: Fix the return value.
56910         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
56911         description of the return value consistent with stpncpy in glibc.
56912         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
56913         written non-NUL unit.
56915 2010-01-10  Bruno Haible  <bruno@clisp.org>
56917         unistr/u*-next: Add missing dependencies.
56918         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
56919         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
56920         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
56922 2010-01-10  Bruno Haible  <bruno@clisp.org>
56924         unistr/u8-mbsnlen: Fix return value for incomplete character.
56925         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
56926         u8_mblen.
56927         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
56928         Remove unistr/u8-mblen.
56929         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
56930         u16_mblen.
56931         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
56932         Remove unistr/u16-mblen.
56934 2010-01-10  Bruno Haible  <bruno@clisp.org>
56936         wchar: Fix compilation error when <wchar.h> is used from coreutils.
56937         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
56938         Reported by Brian Gough <bjg@gnu.org> and
56939         Chris Clayton <chris2553@googlemail.com> via
56940         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
56942 2010-01-09  Bruno Haible  <bruno@clisp.org>
56944         unistr/u16-to-u32: Reject invalid input.
56945         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
56946         u16_mbtouc.
56947         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
56948         Remove unistr/u16-mbtouc.
56950         unistr/u16-to-u8: Reject invalid input.
56951         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
56952         u16_mbtouc.
56953         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
56954         Remove unistr/u16-mbtouc.
56956         unistr/u8-to-u32: Reject invalid input.
56957         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
56958         u8_mbtouc.
56959         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
56960         Remove unistr/u8-mbtouc.
56962         unistr/u8-to-u16: Reject invalid input.
56963         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
56964         u8_mbtouc.
56965         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
56966         Remove unistr/u8-mbtouc.
56968 2010-01-09  Bruno Haible  <bruno@clisp.org>
56970         Tests for module 'getlogin'.
56971         * modules/getlogin-tests: New file.
56972         * tests/test-getlogin.c: New file.
56974         New module 'getlogin'.
56975         * lib/unistd.in.h (getlogin): New declaration.
56976         * lib/getlogin.c: New file.
56977         * m4/getlogin.m4: New file.
56978         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
56979         HAVE_GETLOGIN.
56980         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
56981         HAVE_GETLOGIN.
56982         * modules/getlogin: New file.
56983         * doc/posix-functions/getlogin.texi: Mention the new module.
56984         Reported by John W. Eaton <jwe@gnu.org>.
56986 2010-01-09  Bruno Haible  <bruno@clisp.org>
56988         getlogin_r: Support for native Windows.
56989         * lib/getlogin_r.c: Include <windows.h>
56990         (getlogin_r): Implement for native Windows.
56991         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
56992         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
56993         via John W. Eaton <jwe@gnu.org>.
56995 2010-01-09  Bruno Haible  <bruno@clisp.org>
56997         getlogin_r: Small fixes.
56998         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
56999         succeeds.
57000         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
57001         before testing whether getlogin_r is declared. No need to set
57002         HAVE_DECL_GETLOGIN_R to 1.
57003         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
57005 2010-01-09  Bruno Haible  <bruno@clisp.org>
57007         * lib/unistd.in.h (getlogin_r): Add comment.
57009 2010-01-09  Bruno Haible  <bruno@clisp.org>
57011         Tests for module 'getlogin_r'.
57012         * modules/getlogin_r-tests: New file.
57013         * tests/test-getlogin_r.c: New file.
57015 2010-01-09  Jim Meyering  <meyering@redhat.com>
57017         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
57018         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
57019         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
57021 2010-01-08  Simon Josefsson  <simon@josefsson.org>
57023         * lib/dup2.c (rpl_dup2): Improve comment.
57025 2010-01-08  Eric Blake  <ebb9@byu.net>
57027         maint.mk: allow packages to add makefile @@ exceptions
57028         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
57029         (sc_makefile_check): Rename...
57030         (sc_makefile_at_at_check): ...to this, and use hook.
57032         dup2: work around mingw bug
57033         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
57034         Reported by Simon Josefsson.
57036 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
57038         glob: Fix C++ compilation.
57039         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
57040         C++.
57042 2010-01-07  Bruno Haible  <bruno@clisp.org>
57044         Fix indentation of wctype.in.h, broken since 2007-01-06.
57045         * lib/wctype.in.h: Fix indentation of preprocessor directives.
57047 2010-01-07  Bruno Haible  <bruno@clisp.org>
57049         mbslen: Avoid collision with system function.
57050         * lib/string.in.h [MirBSD]: Include <wchar.h>.
57051         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
57052         * m4/mbslen.m4: New file.
57053         * modules/mbslen (Files): Add it.
57054         (configure.ac): Invoke gl_MBSLEN.
57055         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
57056         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
57057         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
57058         via Ian Beckwith <ianb@erislabs.net>.
57060 2010-01-07  Bruno Haible  <bruno@clisp.org>
57062         dirent: Document the last fix.
57063         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
57065 2010-01-07  Bruno Haible  <bruno@clisp.org>
57067         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
57068         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
57069         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
57070         va_list are defined.
57071         * doc/posix-headers/stdio.texi: Document the bug of missing types.
57072         Reported by Eric Blake.
57074 2010-01-07  Bruno Haible  <bruno@clisp.org>
57076         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
57077         * modules/xlist (Depends-on): Add 'list',
57078         * modules/xoset (Depends-on): Add 'oset'.
57079         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57081 2010-01-07  Bruno Haible  <bruno@clisp.org>
57083         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
57084         * doc/posix-functions/strncasecmp.texi: Likewise.
57086 2010-01-07  Bruno Haible  <bruno@clisp.org>
57088         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
57090 2010-01-07  John W. Eaton  <jwe@octave.org>
57092         wctype: allow C++ use
57093         * lib/wctype.in.h: Add extern "C" block for C++.
57095 2010-01-06  Eric Blake  <ebb9@byu.net>
57097         maint.mk: detect incorrect GFDL usage
57098         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
57100 2010-01-06  Jim Meyering  <meyering@redhat.com>
57101         and Eric Blake  <ebb9@byu.net>
57103         maint.mk: ignore multi-line copyright in NEWS
57104         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
57106 2010-01-06  Eric Blake  <ebb9@byu.net>
57108         select: add missing dependency
57109         * modules/select-tests (Depends-on): Move sockets dependency...
57110         * modules/select (Depends-on): ...here.
57111         Reported by Ian Beckwith.
57113         doc: regenerate INSTALL
57114         * doc/INSTALL: Reflect recent autoconf update.
57115         * doc/INSTALL.ISO: Likewise.
57116         * doc/INSTALL.UTF-8: Likewise.
57118         pread: fix compilation on glibc
57119         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
57120         Reported by Ralf Wildenhues.
57122         dirent: fix test failure
57123         * lib/dirent.in.h (includes): Guarantee ino_t.
57124         Reported by Ralf Wildenhues.
57126 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
57128         linkat, renameat: avoid bad free
57129         * lib/at-func2.c (at_func2): Fix typo.
57130         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
57132 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57134         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
57135         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
57136         to avoid failure of symlink test later.
57138 2010-01-06  Eric Blake  <ebb9@byu.net>
57140         stdio, unistd: guarantee ssize_t
57141         * lib/unistd.in.h (includes): Ensure that types required by POSIX
57142         2008 are exposed when needed.
57143         * lib/stdio.in.h (includes): Likewise.
57144         Reported by Ralf Wildenhues.
57146 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
57148         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
57149         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
57150         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
57152 2010-01-06  Jim Meyering  <meyering@redhat.com>
57154         readtokens: this module *does* require xalloc.h
57155         It uses only functions that were omitted by the old syntax-check rule.
57156         * lib/readtokens.c: Include "xalloc.h" once again.
57157         * modules/readtokens (Depends-on): Add xalloc.
57158         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
57160 2010-01-05  Eric Blake  <ebb9@byu.net>
57162         maint: support 'make announcement' from a VPATH build
57163         * top/maint.mk (announcement): Look for correct NEWS file.
57165 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
57167         utimens (fdutimens): ignore a negative FD, per contract
57168         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
57169         when we have a valid file descriptor.  Otherwise, using a brand
57170         new glibc (with just-patched futimens that now fails with EBADF)
57171         would cause this function to fail with ENOSYS.
57172         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
57173         See also http://bugzilla.redhat.com/552320.
57175 2010-01-05  Eric Blake  <ebb9@byu.net>
57177         strcase: document what it provides
57178         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
57179         gnulib module.
57180         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
57181         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
57183 2010-01-05  Jim Meyering  <meyering@redhat.com>
57185         maint: remove useless inclusions of "xalloc.h"
57186         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
57187         * lib/readtokens.c: Likewise.
57188         * lib/same.c: Likewise.
57189         * modules/getloadavg (Depends-on): Remove xalloc.
57190         * modules/readtokens: Likewise.
57191         * modules/same: Likewise.
57193         maint.mk: include 4 more function names in alloca.h-checking regexp
57194         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
57195         regexp.  Before, we would give a false-positive (saying alloca.h
57196         is included unnecessarily) when the only uses involved omitted symbols.
57198         xalloc.h: use consistent formatting
57199         * lib/xalloc.h: Move declarations to start in the first column.
57201 2010-01-05  Eric Blake  <ebb9@byu.net>
57203         mkdir: avoid xalloc
57204         * lib/mkdir.c (includes): Drop unused header.
57205         Reported by John W. Eaton.
57207 2010-01-04  Jim Meyering  <meyering@redhat.com>
57209         nl_langinfo: avoid configure-time syntax error
57210         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
57211         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
57212         the empty string.  Don't let that provoke a shell syntax error.
57214         regcomp, regexec, fnmatch: avoid array bounds read error
57215         * lib/regcomp.c (build_equiv_class): From glibc:
57216         Use only the low 24 bits of a findidx return value as an index
57217         into the weights array.  Patch by Ulrich Drepper:
57218         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
57219         * lib/regexec.c (check_node_accept_bytes): Likewise.
57220         * lib/fnmatch_loop.c (FCT): Likewise.
57222         regcomp: skip collseq lookup when there are no rules
57223         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
57224         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
57226         regcomp: recognize ill-formed { } expressions
57227         * lib/regcomp.c (parse_dup_op): From glibc:
57228         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
57230         regcomp: fix typo in comment
57231         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
57232         s/satisfy/satisfies/.
57234         regcomp: sync from glibc: remove dead store
57235         * lib/regcomp.c (duplicate_node_closure): Remove useless
57236         search_duplicated_node call and dead store.
57238         regcomp: sync from glibc; always use nl_langinfo
57239         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
57240         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
57241         * modules/regex (Depends-on): Add nl_langinfo.
57243 2010-01-04  Eric Blake  <ebb9@byu.net>
57245         fdopendir: fix configure test
57246         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
57248 2010-01-01  Bruno Haible  <bruno@clisp.org>
57250         wchar: Remove unused configure check.
57251         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
57253 2010-01-01  Eric Blake  <ebb9@byu.net>
57255         headers: make check of system header explicit
57256         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
57257         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
57258         ourselves.
57259         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
57260         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57261         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
57262         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
57263         internals.
57264         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
57265         missing.
57266         Suggested by Bruno Haible.
57268 2010-01-01  Jim Meyering  <meyering@redhat.com>
57270         ChangeLog: tweak to eliminate unnecessary copyright line
57271         * ChangeLog: Remove a copyright line that was mistakenly updated
57272         by today's update-copyright run.  Reported by Eric Blake.
57274         test-update-copyright: don't let envvar setting cause test failure
57275         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
57277 2010-01-01  Bruno Haible  <bruno@clisp.org>
57279         localename: Avoid gcc warning.
57280         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
57281         function if it is not used.
57283 2010-01-01  Jim Meyering  <meyering@redhat.com>
57285         update nearly all FSF copyright year lists to include 2010
57286         Use the same procedure as for 2009, outlined in
57287         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
57289         version-etc: set COPYRIGHT_YEAR to 2010
57290         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
57292 2009-12-31  Eric Blake  <ebb9@byu.net>
57294         doc: correct availability of cygwin 1.5.x getopt
57295         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
57296         variables.
57297         * doc/posix-functions/opterr.texi (opterr): Likewise.
57298         * doc/posix-functions/optind.texi (optind): Likewise.
57299         * doc/posix-functions/optopt.texi (optopt): Likewise.
57300         * doc/posix-functions/tzname.texi (tzname): Likewise.
57302         openat: update maintainer
57303         * modules/openat (Maintainer): Add myself.
57305         utimens: avoid shadowing warning
57306         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
57307         buffers into one, to avoid shadowing, as well as avoiding a
57308         redundant stat.
57309         Reported by Jim Meyering.
57311         test-dup2: avoid compiler warning
57312         * tests/test-dup2.c (is_inheritable): Only define if used.
57314 2010-01-01  Bruno Haible  <bruno@clisp.org>
57316         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
57317         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
57318         defined, use wctomb instead of wcrtomb.
57320 2010-01-01  Bruno Haible  <bruno@clisp.org>
57322         iconv: Reject native Solaris iconv.
57323         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
57324         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
57326 2009-12-31  Bruno Haible  <bruno@clisp.org>
57328         * tests/test-signal.c (main): Remove test of 'SIG'.
57330 2009-12-31  Bruno Haible  <bruno@clisp.org>
57332         spawn: Fix incomplete fix.
57333         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
57334         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
57335         warnings for GNULIB_POSIXCHECK again.
57336         Reported by Eric Blake.
57338 2009-12-31  Bruno Haible  <bruno@clisp.org>
57340         Avoid namespace pollution on glibc systems.
57341         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
57342         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
57343         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
57344         glibc systems.
57346 2009-12-31  Bruno Haible  <bruno@clisp.org>
57348         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
57349         (gl_REPLACE_WCHAR_H): Turn into a no-op.
57350         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
57351         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
57352         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
57353         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
57354         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
57356 2009-12-31  Bruno Haible  <bruno@clisp.org>
57358         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
57359         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
57360         afterwards.
57362 2009-12-31  Bruno Haible  <bruno@clisp.org>
57364         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
57365         SYS_UTSNAME_H.
57367 2009-12-31  Bruno Haible  <bruno@clisp.org>
57369         spawn: Fix misapplied patch.
57370         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
57371         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
57372         warnings for GNULIB_POSIXCHECK.
57374 2009-12-31  Bruno Haible  <bruno@clisp.org>
57376         times: Update after sys_times changed.
57377         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
57378         * modules/times (Files): Add it.
57379         (configure.ac): Invoke gl_FUNC_TIMES.
57381 2009-12-31  Bruno Haible  <bruno@clisp.org>
57383         Use AC_C_INLINE where necessary.
57384         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
57385         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
57386         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
57387         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
57388         * m4/mbfile.m4 (gl_MBFILE): Likewise.
57389         * m4/mbiter.m4 (gl_MBITER): Likewise.
57390         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
57391         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
57392         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
57393         * modules/u64 (configure.ac): Likewise.
57395 2009-12-31  Bruno Haible  <bruno@clisp.org>
57397         Use AC_C_INLINE instead of module 'inline' where possible.
57398         * modules/inline (Description): Clarify purpose.
57399         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
57400         * modules/count-one-bits (Depends-on): Remove inline.
57401         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
57402         * modules/openat (Depends-on): Remove inline.
57403         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
57404         instead of depending on module 'inline'.
57405         * modules/filevercmp (Depends-on, configure.ac): Likewise.
57406         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
57407         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
57408         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
57409         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
57410         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
57411         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
57412         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
57413         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
57414         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
57415         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
57416         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
57417         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
57418         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
57419         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
57420         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
57421         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
57422         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
57423         Likewise.
57424         * modules/unictype/property-ascii-hex-digit (Depends-on,
57425         configure.ac): Likewise.
57426         * modules/unictype/property-bidi-arabic-digit (Depends-on,
57427         configure.ac): Likewise.
57428         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
57429         configure.ac): Likewise.
57430         * modules/unictype/property-bidi-block-separator (Depends-on,
57431         configure.ac): Likewise.
57432         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
57433         configure.ac): Likewise.
57434         * modules/unictype/property-bidi-common-separator (Depends-on,
57435         configure.ac): Likewise.
57436         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
57437         Likewise.
57438         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
57439         configure.ac): Likewise.
57440         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
57441         configure.ac): Likewise.
57442         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
57443         configure.ac): Likewise.
57444         * modules/unictype/property-bidi-european-digit (Depends-on,
57445         configure.ac): Likewise.
57446         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
57447         configure.ac): Likewise.
57448         * modules/unictype/property-bidi-left-to-right (Depends-on,
57449         configure.ac): Likewise.
57450         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
57451         configure.ac): Likewise.
57452         * modules/unictype/property-bidi-other-neutral (Depends-on,
57453         configure.ac): Likewise.
57454         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
57455         Likewise.
57456         * modules/unictype/property-bidi-segment-separator (Depends-on,
57457         configure.ac): Likewise.
57458         * modules/unictype/property-bidi-whitespace (Depends-on,
57459         configure.ac): Likewise.
57460         * modules/unictype/property-combining (Depends-on, configure.ac):
57461         Likewise.
57462         * modules/unictype/property-composite (Depends-on, configure.ac):
57463         Likewise.
57464         * modules/unictype/property-currency-symbol (Depends-on,
57465         configure.ac): Likewise.
57466         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
57467         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
57468         Likewise.
57469         * modules/unictype/property-default-ignorable-code-point (Depends-on,
57470         configure.ac): Likewise.
57471         * modules/unictype/property-deprecated (Depends-on, configure.ac):
57472         Likewise.
57473         * modules/unictype/property-diacritic (Depends-on, configure.ac):
57474         Likewise.
57475         * modules/unictype/property-extender (Depends-on, configure.ac):
57476         Likewise.
57477         * modules/unictype/property-format-control (Depends-on, configure.ac):
57478         Likewise.
57479         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
57480         Likewise.
57481         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
57482         Likewise.
57483         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
57484         Likewise.
57485         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
57486         Likewise.
57487         * modules/unictype/property-hyphen (Depends-on, configure.ac):
57488         Likewise.
57489         * modules/unictype/property-id-continue (Depends-on, configure.ac):
57490         Likewise.
57491         * modules/unictype/property-id-start (Depends-on, configure.ac):
57492         Likewise.
57493         * modules/unictype/property-ideographic (Depends-on, configure.ac):
57494         Likewise.
57495         * modules/unictype/property-ids-binary-operator (Depends-on,
57496         configure.ac): Likewise.
57497         * modules/unictype/property-ids-trinary-operator (Depends-on,
57498         configure.ac): Likewise.
57499         * modules/unictype/property-ignorable-control (Depends-on,
57500         configure.ac): Likewise.
57501         * modules/unictype/property-iso-control (Depends-on, configure.ac):
57502         Likewise.
57503         * modules/unictype/property-join-control (Depends-on, configure.ac):
57504         Likewise.
57505         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
57506         Likewise.
57507         * modules/unictype/property-line-separator (Depends-on, configure.ac):
57508         Likewise.
57509         * modules/unictype/property-logical-order-exception (Depends-on,
57510         configure.ac): Likewise.
57511         * modules/unictype/property-lowercase (Depends-on, configure.ac):
57512         Likewise.
57513         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
57514         * modules/unictype/property-non-break (Depends-on, configure.ac):
57515         Likewise.
57516         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
57517         Likewise.
57518         * modules/unictype/property-numeric (Depends-on, configure.ac):
57519         Likewise.
57520         * modules/unictype/property-other-alphabetic (Depends-on,
57521         configure.ac): Likewise.
57522         * modules/unictype/property-other-default-ignorable-code-point
57523         (Depends-on, configure.ac): Likewise.
57524         * modules/unictype/property-other-grapheme-extend (Depends-on,
57525         configure.ac): Likewise.
57526         * modules/unictype/property-other-id-continue (Depends-on,
57527         configure.ac): Likewise.
57528         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
57529         Likewise.
57530         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
57531         Likewise.
57532         * modules/unictype/property-other-math (Depends-on, configure.ac):
57533         Likewise.
57534         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
57535         Likewise.
57536         * modules/unictype/property-paired-punctuation (Depends-on,
57537         configure.ac): Likewise.
57538         * modules/unictype/property-paragraph-separator (Depends-on,
57539         configure.ac): Likewise.
57540         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
57541         Likewise.
57542         * modules/unictype/property-pattern-white-space (Depends-on,
57543         configure.ac): Likewise.
57544         * modules/unictype/property-private-use (Depends-on, configure.ac):
57545         Likewise.
57546         * modules/unictype/property-punctuation (Depends-on, configure.ac):
57547         Likewise.
57548         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
57549         Likewise.
57550         * modules/unictype/property-radical (Depends-on, configure.ac):
57551         Likewise.
57552         * modules/unictype/property-sentence-terminal (Depends-on,
57553         configure.ac): Likewise.
57554         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
57555         Likewise.
57556         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
57557         * modules/unictype/property-terminal-punctuation (Depends-on,
57558         configure.ac): Likewise.
57559         * modules/unictype/property-titlecase (Depends-on, configure.ac):
57560         Likewise.
57561         * modules/unictype/property-unassigned-code-value (Depends-on,
57562         configure.ac): Likewise.
57563         * modules/unictype/property-unified-ideograph (Depends-on,
57564         configure.ac): Likewise.
57565         * modules/unictype/property-uppercase (Depends-on, configure.ac):
57566         Likewise.
57567         * modules/unictype/property-variation-selector (Depends-on,
57568         configure.ac): Likewise.
57569         * modules/unictype/property-white-space (Depends-on, configure.ac):
57570         Likewise.
57571         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
57572         Likewise.
57573         * modules/unictype/property-xid-start (Depends-on, configure.ac):
57574         Likewise.
57575         * modules/unictype/property-zero-width (Depends-on, configure.ac):
57576         Likewise.
57577         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
57578         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
57579         Likewise.
57581 2009-12-31  Bruno Haible  <bruno@clisp.org>
57583         Remove unnecessary AC_C_INLINE invocation.
57584         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
57585         since 2009-08-21.
57587 2009-12-31  Jim Meyering  <meyering@redhat.com>
57589         maint.mk: don't require explicit gpg_key_ID in cfg.mk
57590         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
57591         With this change, we can all remove the gpg_key_ID = ... definition
57592         from our respective cfg.mk files.
57594         maint.mk: create announcement template in ~/, not in /tmp
57595         * top/maint.mk (emit_upload_commands): Adjust.
57596         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
57597         Remove temporary file, .ci-msg.
57599 2009-12-31  Eric Blake  <ebb9@byu.net>
57601         link-warning: always build headers with link warnings
57602         * modules/arpa_inet (Makefile.am): Always build replacement
57603         header.
57604         * modules/ctype (Makefile.am): Likewise.
57605         * modules/dirent (Makefile.am): Likewise.
57606         * modules/inttypes (Makefile.am): Likewise.
57607         * modules/langinfo (Makefile.am): Likewise.
57608         * modules/locale (Makefile.am): Likewise.
57609         * modules/spawn (Makefile.am): Likewise.
57610         * modules/sys_file (Makefile.am): Likewise.
57611         * modules/sys_ioctl (Makefile.am): Likewise.
57612         * modules/sys_select (Makefile.am): Likewise.
57613         * modules/sys_socket (Makefile.am): Likewise.
57614         * modules/sys_times (Makefile.am): Likewise.
57615         * modules/sys_utsname (Makefile.am): Likewise.
57616         * modules/sys_wait (Makefile.am): Likewise.
57617         * modules/wchar (Makefile.am): Likewise.
57618         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
57619         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
57620         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
57621         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
57622         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
57623         Likewise.
57624         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57625         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
57626         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
57627         Likewise.
57628         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
57629         Likewise.
57630         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
57631         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
57632         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
57633         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57634         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
57635         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
57636         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
57637         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
57638         (gl_WCHAR_H_DEFAULTS): Likewise.
57640 2009-12-31  Eric Blake  <ebb9@byu.net>
57642         signal, spawn: use link warnings
57643         * lib/signal.in.h (sigset_t): Make unconditional.
57644         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
57645         (sigpending, sigprocmask, sigaction): Add link warnings.
57646         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
57647         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
57648         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
57649         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
57650         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
57651         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
57652         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
57653         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
57654         (posix_spawn_file_actions_destroy)
57655         (posix_spawn_file_actions_addopen)
57656         (posix_spawn_file_actions_addclose)
57657         (posix_spawn_file_actions_adddup2): Likewise.
57658         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
57659         * tests/test-signal.c (main): Enhance test.
57661         spawn: improve wrapper support
57662         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
57663         (gl_SPAWN_H_DEFAULTS): New defaults.
57664         * modules/spawn (Makefile.am): Substitute them.
57665         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
57666         Only declare if missing or broken.
57668         sys_times, sys_utsname: use include_next
57669         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
57670         header.
57671         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
57672         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
57673         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
57674         * modules/sys_times (Depends-on): Add include_next.
57675         (Makefile.am): Substitute additional values.
57676         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
57677         * lib/sys_times.in.h (includes): Include native header, if
57678         available.
57679         * lib/sys_utsname.in.h (includes): Likewise.
57680         * tests/test-sys_times.c (main): Enhance test.
57682         fdutimensat: revert prior patch
57683         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
57684         utimens.h.
57685         Reported by Bruno Haible.
57687 2009-12-30  Eric Blake  <ebb9@byu.net>
57689         sys_wait: drop link-warning dependency
57690         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
57691         link-warning efforts.
57692         * lib/sys_wait.in.h: Likewise.
57694         fdutimensat: remove bogus dependency
57695         * modules/fdutimensat (Depends-on): Drop inline.
57697         unistd: fix typo
57698         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
57700 2009-12-30  Bruno Haible  <bruno@clisp.org>
57702         Fix compilation error with Solaris cc.
57703         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
57704         * lib/unicase/u16-is-invariant.c: Likewise.
57705         * lib/unicase/u32-is-invariant.c: Likewise.
57706         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57708 2009-12-30  Bruno Haible  <bruno@clisp.org>
57710         Fix test crash.
57711         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
57712         locales.
57713         Reported by Simon Josefsson <simon@josefsson.org>.
57715 2009-12-30  Bruno Haible  <bruno@clisp.org>
57717         Fix compilation error on most platforms.
57718         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
57719         Reported by Simon Josefsson <simon@josefsson.org>
57720         and Nelson H. F. Beebe <beebe@math.utah.edu>.
57722 2009-12-30  Eric Blake  <ebb9@byu.net>
57724         futimens, utimensat: work around ntfs-3g bug
57725         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
57726         a ctime bug is present, and expand workaround to cover ntfs-3g.
57727         * lib/utimens.c (fdutimens, lutimens): Likewise.
57728         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
57729         (validate_timespec): Adjust return value.
57730         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
57731         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
57732         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
57734 2009-12-29  Eric Blake  <ebb9@byu.net>
57736         link-warning: make usage consistent
57737         * modules/ctype (Depends-on): Add link-warning.
57738         (Makefile.am): Update rules accordingly.
57739         * modules/langinfo (Depends-on, Makefile.am): Likewise.
57740         * modules/locale (Depends-on, Makefile.am): Likewise.
57741         * modules/sys_file (Makefile.am): Likewise.
57742         * modules/getopt-posix (Makefile.am): Delete unused link warning
57743         efforts.
57744         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
57745         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
57746         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
57747         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
57749         stdio: remove unused variables
57750         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
57751         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
57752         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
57754         tests: test more substitute headers
57755         * modules/ctype-tests: New file.
57756         * modules/dirent-tests: Likewise.
57757         * modules/spawn-tests: Likewise.
57758         * modules/sys_file-tests: Likewise.
57759         * modules/sys_ioctl-tests: Likewise.
57760         * modules/sys_wait-tests: Likewise.
57761         * tests/test-ctype.c: Likewise.
57762         * tests/test-dirent.c: Likewise.
57763         * tests/test-spawn.c: Likewise.
57764         * tests/test-sys_file.c: Likewise.
57765         * tests/test-sys_ioctl.c: Likewise.
57766         * tests/test-sys_wait.c: Likewise.
57767         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
57768         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
57769         whether or not flock is in use.
57771         tests: remove License section from module
57772         * modules/arpa_inet-tests: Remove unneeded section.
57773         * modules/byteswap-tests: Likewise.
57774         * modules/ceilf-tests: Likewise.
57775         * modules/ceill-tests: Likewise.
57776         * modules/crypto/des-tests: Likewise.
57777         * modules/crypto/gc-arcfour-tests: Likewise.
57778         * modules/crypto/gc-arctwo-tests: Likewise.
57779         * modules/crypto/gc-des-tests: Likewise.
57780         * modules/crypto/gc-hmac-md5-tests: Likewise.
57781         * modules/crypto/gc-hmac-sha1-tests: Likewise.
57782         * modules/crypto/gc-md2-tests: Likewise.
57783         * modules/crypto/gc-md4-tests: Likewise.
57784         * modules/crypto/gc-md5-tests: Likewise.
57785         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
57786         * modules/crypto/gc-rijndael-tests: Likewise.
57787         * modules/crypto/gc-sha1-tests: Likewise.
57788         * modules/crypto/gc-tests: Likewise.
57789         * modules/crypto/md2-tests: Likewise.
57790         * modules/crypto/md4-tests: Likewise.
57791         * modules/fcntl-h-tests: Likewise.
57792         * modules/floorf-tests: Likewise.
57793         * modules/floorl-tests: Likewise.
57794         * modules/frexp-nolibm-tests: Likewise.
57795         * modules/frexp-tests: Likewise.
57796         * modules/frexpl-nolibm-tests: Likewise.
57797         * modules/frexpl-tests: Likewise.
57798         * modules/getaddrinfo-tests: Likewise.
57799         * modules/inttypes-tests: Likewise.
57800         * modules/isfinite-tests: Likewise.
57801         * modules/isinf-tests: Likewise.
57802         * modules/ldexpl-tests: Likewise.
57803         * modules/locale-tests: Likewise.
57804         * modules/math-tests: Likewise.
57805         * modules/netdb-tests: Likewise.
57806         * modules/netinet_in-tests: Likewise.
57807         * modules/printf-frexp-tests: Likewise.
57808         * modules/printf-frexpl-tests: Likewise.
57809         * modules/priv-set-tests: Likewise.
57810         * modules/random_r-tests: Likewise.
57811         * modules/round-tests: Likewise.
57812         * modules/roundf-tests: Likewise.
57813         * modules/roundl-tests: Likewise.
57814         * modules/search-tests: Likewise.
57815         * modules/select-tests: Likewise.
57816         * modules/signal-tests: Likewise.
57817         * modules/stdbool-tests: Likewise.
57818         * modules/stddef-tests: Likewise.
57819         * modules/stdint-tests: Likewise.
57820         * modules/stdio-tests: Likewise.
57821         * modules/stdlib-tests: Likewise.
57822         * modules/string-tests: Likewise.
57823         * modules/strings-tests: Likewise.
57824         * modules/sys_select-tests: Likewise.
57825         * modules/sys_socket-tests: Likewise.
57826         * modules/sys_stat-tests: Likewise.
57827         * modules/sys_time-tests: Likewise.
57828         * modules/sys_utsname-tests: Likewise.
57829         * modules/sysexits-tests: Likewise.
57830         * modules/time-tests: Likewise.
57831         * modules/trunc-tests: Likewise.
57832         * modules/truncf-tests: Likewise.
57833         * modules/truncl-tests: Likewise.
57834         * modules/tsearch-tests: Likewise.
57835         * modules/unistd-tests: Likewise.
57836         * modules/wchar-tests: Likewise.
57837         * modules/wctype-tests: Likewise.
57839         tests: fix license on several tests
57840         * tests/test-des.c: Update to GPLv3+.
57841         * tests/test-flock.c: Likewise.
57842         * tests/test-fsync.c: Likewise.
57843         * tests/test-futimens.h: Likewise.
57844         * tests/test-gc-arcfour.c: Likewise.
57845         * tests/test-gc-arctwo.c: Likewise.
57846         * tests/test-gc-des.c: Likewise.
57847         * tests/test-gc-hmac-md5.c: Likewise.
57848         * tests/test-gc-hmac-sha1.c: Likewise.
57849         * tests/test-gc-md2.c: Likewise.
57850         * tests/test-gc-md4.c: Likewise.
57851         * tests/test-gc-md5.c: Likewise.
57852         * tests/test-gc-pbkdf2-sha1.c: Likewise.
57853         * tests/test-gc-rijndael.c: Likewise.
57854         * tests/test-gc-sha1.c: Likewise.
57855         * tests/test-gc.c: Likewise.
57856         * tests/test-getcwd.c: Likewise.
57857         * tests/test-link.c: Likewise.
57858         * tests/test-link.h: Likewise.
57859         * tests/test-lutimens.h: Likewise.
57860         * tests/test-md2.c: Likewise.
57861         * tests/test-md4.c: Likewise.
57862         * tests/test-mkdir.h: Likewise.
57863         * tests/test-rename.c: Likewise.
57864         * tests/test-rename.h: Likewise.
57865         * tests/test-safe-alloc.c: Likewise.
57866         * tests/test-utimens-common.h: Likewise.
57867         * tests/test-utimens.h: Likewise.
57869         maint: sync license texts
57870         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
57871         * doc/gpl-3.0.texi: Revert copyright year update.
57872         * doc/lgpl-3.0.texi: Likewise.
57874 2009-12-29  Jim Meyering  <meyering@redhat.com>
57876         update nearly all FSF copyright year lists to include 2009
57877         The files named by the following are exempted:
57878             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
57879               test -f "$dst" && { echo "$dst"; continue; }
57880               test -d "$dst" || continue
57881               echo "$dst"/$(basename "$src")
57882             done > exempt
57883             git ls-files tests/unictype >> exempt
57884         In the remaining files, convert to all-interval notation if
57885         - there is already at least one year interval like 2000-2003
57886         - the file is maintained by me
57887         - the file is in lib/uni*/, where that style already prevails
57888         Otherwise, use update-copyright's default.
57890 2009-12-29  Simon Josefsson  <simon@josefsson.org>
57891         and Eric Blake  <ebb9@byu.net>
57893         tests: don't require debug system() to pass
57894         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
57895         * tests/test-rmdir.h (test_rmdir_func): Likewise.
57896         * tests/test-unlink.h (test_unlink_func): Likewise.
57897         * tests/test-fstatat.c (main): ...into callers.
57898         * tests/test-lstat.c (main): Likewise.
57899         * tests/test-rmdir.c (main): Likewise.
57900         * tests/test-unlink.c (main): Likewise.
57901         * tests/test-unlinkat.c (main): Likewise.
57902         * tests/test-areadlink-with-size.c (main): Don't require a
57903         debug-only system call to pass, aiding cross-testing to mingw.
57904         * tests/test-areadlink.c (main): Likewise.
57905         * tests/test-areadlinkat-with-size.c (main): Likewise.
57906         * tests/test-areadlinkat.c (main): Likewise.
57907         * tests/test-canonicalize-lgpl.c (main): Likewise.
57908         * tests/test-canonicalize.c (main): Likewise.
57909         * tests/test-chown.c (main): Likewise.
57910         * tests/test-fchownat.c (main): Likewise.
57911         * tests/test-lchown.c (main): Likewise.
57912         * tests/test-fdutimensat.c (main): Likewise.
57913         * tests/test-futimens.c (main): Likewise.
57914         * tests/test-link.c (main): Likewise.
57915         * tests/test-linkat.c (main): Likewise.
57916         * tests/test-mkdir.c (main): Likewise.
57917         * tests/test-mkdirat.c (main): Likewise.
57918         * tests/test-mkfifo.c (main): Likewise.
57919         * tests/test-mkfifoat.c (main): Likewise.
57920         * tests/test-mknod.c (main): Likewise.
57921         * tests/test-readlink.c (main): Likewise.
57922         * tests/test-remove.c (main): Likewise.
57923         * tests/test-rename.c (main): Likewise.
57924         * tests/test-renameat.c (main): Likewise.
57925         * tests/test-symlink.c (main): Likewise.
57926         * tests/test-symlinkat.c (main): Likewise.
57927         * tests/test-utimens.c (main): Likewise.
57928         * tests/test-utimensat.c (main): Likewise.
57930 2009-12-29  Simon Josefsson  <simon@josefsson.org>
57932         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
57933         on $(UNUSED_PARAMETER_H) to avoid build failure.
57935 2009-12-28  Jim Meyering  <meyering@redhat.com>
57937         update-copyright: you may specify a max. line length other than 72
57938         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
57940         maint: use consistent FSF copyright line syntax
57941         * lib/posixtm.c: Add missing comma in FSF copyright line.
57942         * lib/posixtm.h: Likewise.
57943         * lib/getugroups.c: Add missing ", Inc.".
57945         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
57946         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
57947         FSF copyright line.  Remove trailing blanks.
57949 2009-12-28  Eric Blake  <ebb9@byu.net>
57951         test-dup2: reduce dependencies
57952         * modules/cloexec (Configure.ac): Set witness.
57953         * modules/dup2-tests (Depends-on): Drop cloexec.
57954         * tests/test-dup2.c (main): Skip portion of test if cloexec module
57955         not present.
57956         Suggested by Bruno Haible.
57958 2009-12-26  Bruno Haible  <bruno@clisp.org>
57960         Remove an unneeded dependency.
57961         * modules/fseterr (Depends-on): Remove dup2.
57963 2009-12-26  Eric Blake  <ebb9@byu.net>
57965         tests: use macros.h in more places
57966         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
57967         (ASSERT_STREAM): Provide default of stderr.
57968         * tests/test-dirent-safer.c: Include macros.h, using alternate
57969         stream for assertions.
57970         * tests/test-dup-safer.c: Likewise.
57971         * tests/test-freopen-safer.c: Likewise.
57972         * tests/test-getopt.c: Likewise.
57973         * tests/test-openat-safer.c: Likewise.
57974         * tests/test-pipe.c: Likewise.
57975         * tests/test-popen-safer.c: Likewise.
57976         * modules/dirent-safer-tests (Files): Include macros.h.
57977         * modules/unistd-safer-tests (Files): Likewise.
57978         * modules/freopen-safer-tests (Files): Likewise.
57979         * modules/getopt-posix-tests (Files): Likewise.
57980         * modules/openat-safer-tests (Files): Likewise.
57981         * modules/pipe-tests (Files): Likewise.
57983 2009-12-26  Bruno Haible  <bruno@clisp.org>
57985         javacomp-script: Portability fix.
57986         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
57987         that it also works on Solaris.
57989 2009-12-26  Bruno Haible  <bruno@clisp.org>
57991         localename: Fix storage allocation of gl_locale_name_thread's result.
57992         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
57993         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
57994         all platforms that have 'uselocale'.
57995         (gl_locale_name_thread_unsafe): New function, extracted from
57996         gl_locale_name_thread.
57997         (gl_locale_name_thread): Call struniq on all platforms that have
57998         'uselocale'.
57999         * tests/test-localename.c (test_locale_name_thread): Check that the
58000         resulting strings are permanently allocated.
58001         * modules/localename-tests (Depends-on): Add strdup.
58003 2009-12-26  Bruno Haible  <bruno@clisp.org>
58005         * tests/test-localename.c (categories): Fill in the strings.
58007 2009-12-26  Jim Meyering  <meyering@redhat.com>
58009         isdir: complete the removal of m4/isdir.m4
58010         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
58012         isdir: clean up, since at least grep still uses it
58013         * lib/isdir.c: Include "isdir.h".
58014         (S_ISDIR): Remove now-unneeded definition.
58015         * modules/isdir (Files): Add lib/isdir.h.
58016         * lib/isdir.h: New file, with declaration.
58017         * m4/isdir.m4: Remove file -- unneeded.
58019 2009-12-25  Bruno Haible  <bruno@clisp.org>
58021         selinux-h: Make generated .h files standalone.
58022         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
58023         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
58024         * lib/se-selinux.in.h: Likewise.
58025         * modules/selinux-h (Depends-on): Add unused-parameter.
58026         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
58027         selinux/selinux.h and selinux/context.h.
58028         Suggested by Eric Blake.
58030 2009-12-25  Bruno Haible  <bruno@clisp.org>
58032         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
58033         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
58034         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
58035         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
58036         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
58038 2009-12-24  Bruno Haible  <bruno@clisp.org>
58040         openat: Fix warning.
58041         * lib/openat-proc.c: Include <unistd.h>.
58043 2009-12-24  Bruno Haible  <bruno@clisp.org>
58045         New module 'unused-parameter'.
58046         * build-aux/unused-parameter.h: New file, extracted from earlier
58047         gnulib-common.m4.
58048         * modules/unused-parameter: New file.
58049         * lib/unistr.h: Include unused-parameter.h.
58050         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
58051         _GL_UNUSED.
58052         * modules/unistr/base (Depends-on): Add unused-parameter.
58054 2009-12-24  Bruno Haible  <bruno@clisp.org>
58056         Add missing dependencies to 'extensions' module.
58057         * m4/extensions.m4: Add comment.
58058         * modules/accept4 (Depends-on): Add extensions.
58059         * modules/dup3 (Depends-on): Likewise.
58060         * modules/fcntl (Depends-on): Likewise.
58061         * modules/futimens (Depends-on): Likewise.
58062         * modules/mknod (Depends-on): Likewise.
58063         * modules/pipe2 (Depends-on): Likewise.
58064         * modules/stat-time (Depends-on): Likewise.
58065         * modules/strcasestr-simple (Depends-on): Likewise.
58066         * modules/strsignal (Depends-on): Likewise.
58067         * modules/utimensat (Depends-on): Likewise.
58068         * modules/localcharset (Depends-on): Likewise. Needed because of
58069         gl_FCNTL_O_FLAGS.
58070         * modules/wcrtomb (Depends-on): Likewise. Needed because of
58071         AC_TYPE_MBSTATE_T.
58072         * modules/wcsnrtombs (Depends-on): Likewise.
58073         * modules/wcsrtombs (Depends-on): Likewise.
58075 2009-12-24  Bruno Haible  <bruno@clisp.org>
58077         binary-io: Avoid gcc warning due to SET_BINARY.
58078         * lib/binary-io.h (SET_BINARY): Cast the result to void.
58079         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
58081 2009-12-24  Bruno Haible  <bruno@clisp.org>
58083         Avoid future namespace pollution on glibc systems.
58084         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
58085         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
58086         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
58087         glibc systems.
58089 2009-12-24  Bruno Haible  <bruno@clisp.org>
58091         Refactor common macros used in tests.
58092         * tests/macros.h: New file.
58093         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
58094         and/or <stdlib.h>, if appropriate.
58095         (ASSERT, SIZEOF): Remove macros.
58096         * tests/test-areadlink-with-size.c: Likewise.
58097         * tests/test-areadlinkat.c: Likewise.
58098         * tests/test-areadlinkat-with-size.c: Likewise.
58099         * tests/test-argmatch.c: Likewise.
58100         * tests/test-argv-iter.c: Likewise.
58101         * tests/test-array-mergesort.c: Likewise.
58102         * tests/test-array_list.c: Likewise.
58103         * tests/test-array_oset.c: Likewise.
58104         * tests/test-avltree_list.c: Likewise.
58105         * tests/test-avltree_oset.c: Likewise.
58106         * tests/test-avltreehash_list.c: Likewise.
58107         * tests/test-base64.c: Likewise.
58108         * tests/test-binary-io.c: Likewise.
58109         * tests/test-bitrotate.c: Likewise.
58110         * tests/test-btowc.c: Likewise.
58111         * tests/test-byteswap.c: Likewise.
58112         * tests/test-c-ctype.c: Likewise.
58113         * tests/test-c-stack.c: Likewise.
58114         * tests/test-c-strcasecmp.c: Likewise.
58115         * tests/test-c-strcasestr.c: Likewise.
58116         * tests/test-c-strncasecmp.c: Likewise.
58117         * tests/test-c-strstr.c: Likewise.
58118         * tests/test-canonicalize-lgpl.c: Likewise.
58119         * tests/test-canonicalize.c: Likewise.
58120         * tests/test-carray_list.c: Likewise.
58121         * tests/test-ceilf1.c: Likewise.
58122         * tests/test-ceilf2.c: Likewise.
58123         * tests/test-ceill.c: Likewise.
58124         * tests/test-chown.c: Likewise.
58125         * tests/test-cloexec.c: Likewise.
58126         * tests/test-copy-acl.c: Likewise.
58127         * tests/test-copy-file.c: Likewise.
58128         * tests/test-count-one-bits.c: Likewise.
58129         * tests/test-dprintf-posix.c: Likewise.
58130         * tests/test-dup2.c: Likewise.
58131         * tests/test-dup3.c: Likewise.
58132         * tests/test-duplocale.c: Likewise.
58133         * tests/test-fbufmode.c: Likewise.
58134         * tests/test-fchdir.c: Likewise.
58135         * tests/test-fchownat.c: Likewise.
58136         * tests/test-fcntl-safer.c: Likewise.
58137         * tests/test-fcntl.c: Likewise.
58138         * tests/test-fdopendir.c: Likewise.
58139         * tests/test-fdutimensat.c: Likewise.
58140         * tests/test-fflush2.c: Likewise.
58141         * tests/test-file-has-acl.c: Likewise.
58142         * tests/test-filevercmp.c: Likewise.
58143         * tests/test-flock.c: Likewise.
58144         * tests/test-floorf1.c: Likewise.
58145         * tests/test-floorf2.c: Likewise.
58146         * tests/test-floorl.c: Likewise.
58147         * tests/test-fnmatch.c: Likewise.
58148         * tests/test-fopen.h: Likewise.
58149         * tests/test-fpending.c: Likewise.
58150         * tests/test-fprintf-posix.c: Likewise.
58151         * tests/test-fpurge.c: Likewise.
58152         * tests/test-freadable.c: Likewise.
58153         * tests/test-freadahead.c: Likewise.
58154         * tests/test-freading.c: Likewise.
58155         * tests/test-freadptr.c: Likewise.
58156         * tests/test-freadptr2.c: Likewise.
58157         * tests/test-freadseek.c: Likewise.
58158         * tests/test-freopen.c: Likewise.
58159         * tests/test-frexp.c: Likewise.
58160         * tests/test-frexpl.c: Likewise.
58161         * tests/test-fseek.c: Likewise.
58162         * tests/test-fseeko.c: Likewise.
58163         * tests/test-fstatat.c: Likewise.
58164         * tests/test-fstrcmp.c: Likewise.
58165         * tests/test-fsync.c: Likewise.
58166         * tests/test-ftell.c: Likewise.
58167         * tests/test-ftello.c: Likewise.
58168         * tests/test-func.c: Likewise.
58169         * tests/test-futimens.c: Likewise.
58170         * tests/test-fwritable.c: Likewise.
58171         * tests/test-fwriting.c: Likewise.
58172         * tests/test-getcwd.c: Likewise.
58173         * tests/test-getdate.c: Likewise.
58174         * tests/test-getdelim.c: Likewise.
58175         * tests/test-getdtablesize.c: Likewise.
58176         * tests/test-getgroups.c: Likewise.
58177         * tests/test-getline.c: Likewise.
58178         * tests/test-getndelim2.c: Likewise.
58179         * tests/test-glob.c: Likewise.
58180         * tests/test-hash.c: Likewise.
58181         * tests/test-i-ring.c: Likewise.
58182         * tests/test-iconv-utf.c: Likewise.
58183         * tests/test-iconv.c: Likewise.
58184         * tests/test-idpriv-drop.c: Likewise.
58185         * tests/test-idpriv-droptemp.c: Likewise.
58186         * tests/test-inet_ntop.c: Likewise.
58187         * tests/test-inet_pton.c: Likewise.
58188         * tests/test-isblank.c: Likewise.
58189         * tests/test-isfinite.c: Likewise.
58190         * tests/test-isinf.c: Likewise.
58191         * tests/test-isnan.c: Likewise.
58192         * tests/test-isnand.h: Likewise.
58193         * tests/test-isnanf.h: Likewise.
58194         * tests/test-isnanl.h: Likewise.
58195         * tests/test-lchown.c: Likewise.
58196         * tests/test-ldexpl.c: Likewise.
58197         * tests/test-link.c: Likewise.
58198         * tests/test-linkat.c: Likewise.
58199         * tests/test-linked_list.c: Likewise.
58200         * tests/test-linkedhash_list.c: Likewise.
58201         * tests/test-localename.c: Likewise.
58202         * tests/test-lseek.c: Likewise.
58203         * tests/test-lstat.c: Likewise.
58204         * tests/test-mbmemcasecmp.c: Likewise.
58205         * tests/test-mbmemcasecoll.c: Likewise.
58206         * tests/test-mbrtowc.c: Likewise.
58207         * tests/test-mbscasecmp.c: Likewise.
58208         * tests/test-mbscasestr1.c: Likewise.
58209         * tests/test-mbscasestr2.c: Likewise.
58210         * tests/test-mbscasestr3.c: Likewise.
58211         * tests/test-mbscasestr4.c: Likewise.
58212         * tests/test-mbschr.c: Likewise.
58213         * tests/test-mbscspn.c: Likewise.
58214         * tests/test-mbsinit.c: Likewise.
58215         * tests/test-mbsncasecmp.c: Likewise.
58216         * tests/test-mbsnrtowcs.c: Likewise.
58217         * tests/test-mbspbrk.c: Likewise.
58218         * tests/test-mbspcasecmp.c: Likewise.
58219         * tests/test-mbsrchr.c: Likewise.
58220         * tests/test-mbsrtowcs.c: Likewise.
58221         * tests/test-mbsspn.c: Likewise.
58222         * tests/test-mbsstr1.c: Likewise.
58223         * tests/test-mbsstr2.c: Likewise.
58224         * tests/test-mbsstr3.c: Likewise.
58225         * tests/test-memchr.c: Likewise.
58226         * tests/test-memchr2.c: Likewise.
58227         * tests/test-memcmp.c: Likewise.
58228         * tests/test-memmem.c: Likewise.
58229         * tests/test-memrchr.c: Likewise.
58230         * tests/test-mkdir.c: Likewise.
58231         * tests/test-mkdirat.c: Likewise.
58232         * tests/test-mkfifo.c: Likewise.
58233         * tests/test-mkfifoat.c: Likewise.
58234         * tests/test-mknod.c: Likewise.
58235         * tests/test-nanosleep.c: Likewise.
58236         * tests/test-nl_langinfo.c: Likewise.
58237         * tests/test-obstack-printf.c: Likewise.
58238         * tests/test-open.c: Likewise.
58239         * tests/test-openat.c: Likewise.
58240         * tests/test-pipe-filter-gi1.c: Likewise.
58241         * tests/test-pipe-filter-gi2-main.c: Likewise.
58242         * tests/test-pipe-filter-ii1.c: Likewise.
58243         * tests/test-pipe-filter-ii2-main.c: Likewise.
58244         * tests/test-pipe2.c: Likewise.
58245         * tests/test-popen.h: Likewise.
58246         * tests/test-posixtm.c: Likewise.
58247         * tests/test-pread.c: Likewise.
58248         * tests/test-printf-frexp.c: Likewise.
58249         * tests/test-printf-frexpl.c: Likewise.
58250         * tests/test-printf-posix.c: Likewise.
58251         * tests/test-priv-set.c: Likewise.
58252         * tests/test-quotearg.c: Likewise.
58253         * tests/test-random_r.c: Likewise.
58254         * tests/test-rawmemchr.c: Likewise.
58255         * tests/test-rbtree_list.c: Likewise.
58256         * tests/test-rbtree_oset.c: Likewise.
58257         * tests/test-rbtreehash_list.c: Likewise.
58258         * tests/test-readlink.c: Likewise.
58259         * tests/test-remove.c: Likewise.
58260         * tests/test-rename.c: Likewise.
58261         * tests/test-renameat.c: Likewise.
58262         * tests/test-rmdir.c: Likewise.
58263         * tests/test-round1.c: Likewise.
58264         * tests/test-roundf1.c: Likewise.
58265         * tests/test-roundl.c: Likewise.
58266         * tests/test-safe-alloc.c: Likewise.
58267         * tests/test-sameacls.c: Likewise.
58268         * tests/test-set-mode-acl.c: Likewise.
58269         * tests/test-setenv.c: Likewise.
58270         * tests/test-sigaction.c: Likewise.
58271         * tests/test-signbit.c: Likewise.
58272         * tests/test-sleep.c: Likewise.
58273         * tests/test-snprintf-posix.c: Likewise.
58274         * tests/test-snprintf.c: Likewise.
58275         * tests/test-sprintf-posix.c: Likewise.
58276         * tests/test-stat-time.c: Likewise.
58277         * tests/test-stat.c: Likewise.
58278         * tests/test-strcasestr.c: Likewise.
58279         * tests/test-strchrnul.c: Likewise.
58280         * tests/test-strerror.c: Likewise.
58281         * tests/test-striconv.c: Likewise.
58282         * tests/test-striconveh.c: Likewise.
58283         * tests/test-striconveha.c: Likewise.
58284         * tests/test-strsignal.c: Likewise.
58285         * tests/test-strstr.c: Likewise.
58286         * tests/test-strtod.c: Likewise.
58287         * tests/test-strverscmp.c: Likewise.
58288         * tests/test-symlink.c: Likewise.
58289         * tests/test-symlinkat.c: Likewise.
58290         * tests/test-trunc1.c: Likewise.
58291         * tests/test-trunc2.c: Likewise.
58292         * tests/test-truncf1.c: Likewise.
58293         * tests/test-truncf2.c: Likewise.
58294         * tests/test-truncl.c: Likewise.
58295         * tests/test-uname.c: Likewise.
58296         * tests/test-unlink.c: Likewise.
58297         * tests/test-unlinkat.c: Likewise.
58298         * tests/test-unsetenv.c: Likewise.
58299         * tests/test-usleep.c: Likewise.
58300         * tests/test-utimens.c: Likewise.
58301         * tests/test-utimensat.c: Likewise.
58302         * tests/test-vasnprintf-posix.c: Likewise.
58303         * tests/test-vasnprintf-posix2.c: Likewise.
58304         * tests/test-vasnprintf.c: Likewise.
58305         * tests/test-vasprintf-posix.c: Likewise.
58306         * tests/test-vasprintf.c: Likewise.
58307         * tests/test-vdprintf-posix.c: Likewise.
58308         * tests/test-vfprintf-posix.c: Likewise.
58309         * tests/test-vprintf-posix.c: Likewise.
58310         * tests/test-vsnprintf-posix.c: Likewise.
58311         * tests/test-vsnprintf.c: Likewise.
58312         * tests/test-vsprintf-posix.c: Likewise.
58313         * tests/test-wcrtomb.c: Likewise.
58314         * tests/test-wcsnrtombs.c: Likewise.
58315         * tests/test-wcsrtombs.c: Likewise.
58316         * tests/test-wctype.c: Likewise.
58317         * tests/test-wcwidth.c: Likewise.
58318         * tests/test-xfprintf-posix.c: Likewise.
58319         * tests/test-xmemdup0.c: Likewise.
58320         * tests/test-xprintf-posix.c: Likewise.
58321         * tests/test-xvasprintf.c: Likewise.
58322         * tests/unicase/test-locale-language.c: Likewise.
58323         * tests/unicase/test-mapping-part1.h: Likewise.
58324         * tests/unicase/test-predicate-part1.h: Likewise.
58325         * tests/unicase/test-u8-casecmp.c: Likewise.
58326         * tests/unicase/test-u8-casecoll.c: Likewise.
58327         * tests/unicase/test-u8-casefold.c: Likewise.
58328         * tests/unicase/test-u8-is-cased.c: Likewise.
58329         * tests/unicase/test-u8-is-casefolded.c: Likewise.
58330         * tests/unicase/test-u8-is-lowercase.c: Likewise.
58331         * tests/unicase/test-u8-is-titlecase.c: Likewise.
58332         * tests/unicase/test-u8-is-uppercase.c: Likewise.
58333         * tests/unicase/test-u8-tolower.c: Likewise.
58334         * tests/unicase/test-u8-totitle.c: Likewise.
58335         * tests/unicase/test-u8-toupper.c: Likewise.
58336         * tests/unicase/test-u16-casecmp.c: Likewise.
58337         * tests/unicase/test-u16-casecoll.c: Likewise.
58338         * tests/unicase/test-u16-casefold.c: Likewise.
58339         * tests/unicase/test-u16-is-cased.c: Likewise.
58340         * tests/unicase/test-u16-is-casefolded.c: Likewise.
58341         * tests/unicase/test-u16-is-lowercase.c: Likewise.
58342         * tests/unicase/test-u16-is-titlecase.c: Likewise.
58343         * tests/unicase/test-u16-is-uppercase.c: Likewise.
58344         * tests/unicase/test-u16-tolower.c: Likewise.
58345         * tests/unicase/test-u16-totitle.c: Likewise.
58346         * tests/unicase/test-u16-toupper.c: Likewise.
58347         * tests/unicase/test-u32-casecmp.c: Likewise.
58348         * tests/unicase/test-u32-casecoll.c: Likewise.
58349         * tests/unicase/test-u32-casefold.c: Likewise.
58350         * tests/unicase/test-u32-is-cased.c: Likewise.
58351         * tests/unicase/test-u32-is-casefolded.c: Likewise.
58352         * tests/unicase/test-u32-is-lowercase.c: Likewise.
58353         * tests/unicase/test-u32-is-titlecase.c: Likewise.
58354         * tests/unicase/test-u32-is-uppercase.c: Likewise.
58355         * tests/unicase/test-u32-tolower.c: Likewise.
58356         * tests/unicase/test-u32-totitle.c: Likewise.
58357         * tests/unicase/test-u32-toupper.c: Likewise.
58358         * tests/unicase/test-ulc-casecmp.c: Likewise.
58359         * tests/unicase/test-ulc-casecoll.c: Likewise.
58360         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58361         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
58362         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58363         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58364         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
58365         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
58366         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58367         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58368         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58369         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
58370         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58371         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58372         * tests/unictype/test-bidi_byname.c: Likewise.
58373         * tests/unictype/test-bidi_name.c: Likewise.
58374         * tests/unictype/test-bidi_of.c: Likewise.
58375         * tests/unictype/test-bidi_test.c: Likewise.
58376         * tests/unictype/test-block_list.c: Likewise.
58377         * tests/unictype/test-block_of.c: Likewise.
58378         * tests/unictype/test-block_test.c: Likewise.
58379         * tests/unictype/test-categ_and.c: Likewise.
58380         * tests/unictype/test-categ_and_not.c: Likewise.
58381         * tests/unictype/test-categ_byname.c: Likewise.
58382         * tests/unictype/test-categ_name.c: Likewise.
58383         * tests/unictype/test-categ_none.c: Likewise.
58384         * tests/unictype/test-categ_of.c: Likewise.
58385         * tests/unictype/test-categ_or.c: Likewise.
58386         * tests/unictype/test-categ_test_withtable.c: Likewise.
58387         * tests/unictype/test-combining.c: Likewise.
58388         * tests/unictype/test-decdigit.c: Likewise.
58389         * tests/unictype/test-digit.c: Likewise.
58390         * tests/unictype/test-mirror.c: Likewise.
58391         * tests/unictype/test-numeric.c: Likewise.
58392         * tests/unictype/test-pr_byname.c: Likewise.
58393         * tests/unictype/test-pr_test.c: Likewise.
58394         * tests/unictype/test-predicate-part1.h: Likewise.
58395         * tests/unictype/test-scripts.c: Likewise.
58396         * tests/unictype/test-sy_c_ident.c: Likewise.
58397         * tests/unictype/test-sy_java_ident.c: Likewise.
58398         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
58399         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
58400         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
58401         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
58402         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
58403         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
58404         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
58405         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
58406         * tests/uninorm/test-canonical-decomposition.c: Likewise.
58407         * tests/uninorm/test-compat-decomposition.c: Likewise.
58408         * tests/uninorm/test-composition.c: Likewise.
58409         * tests/uninorm/test-decomposing-form.c: Likewise.
58410         * tests/uninorm/test-decomposition.c: Likewise.
58411         * tests/uninorm/test-u8-nfc.c: Likewise.
58412         * tests/uninorm/test-u8-nfd.c: Likewise.
58413         * tests/uninorm/test-u8-nfkc.c: Likewise.
58414         * tests/uninorm/test-u8-nfkd.c: Likewise.
58415         * tests/uninorm/test-u8-normcmp.c: Likewise.
58416         * tests/uninorm/test-u8-normcoll.c: Likewise.
58417         * tests/uninorm/test-u16-nfc.c: Likewise.
58418         * tests/uninorm/test-u16-nfd.c: Likewise.
58419         * tests/uninorm/test-u16-nfkc.c: Likewise.
58420         * tests/uninorm/test-u16-nfkd.c: Likewise.
58421         * tests/uninorm/test-u16-normcmp.c: Likewise.
58422         * tests/uninorm/test-u16-normcoll.c: Likewise.
58423         * tests/uninorm/test-u32-nfc.c: Likewise.
58424         * tests/uninorm/test-u32-nfd.c: Likewise.
58425         * tests/uninorm/test-u32-nfkc.c: Likewise.
58426         * tests/uninorm/test-u32-nfkd.c: Likewise.
58427         * tests/uninorm/test-u32-normalize-big.c: Likewise.
58428         * tests/uninorm/test-u32-normcmp.c: Likewise.
58429         * tests/uninorm/test-u32-normcoll.c: Likewise.
58430         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
58431         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
58432         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
58433         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
58434         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
58435         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
58436         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
58437         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
58438         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
58439         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
58440         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
58441         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
58442         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
58443         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
58444         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
58445         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
58446         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
58447         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
58448         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
58449         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
58450         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
58451         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
58452         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
58453         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
58454         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
58455         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
58456         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
58457         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
58458         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
58459         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
58460         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
58461         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
58462         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
58463         * tests/uniwidth/test-u8-strwidth.c: Likewise.
58464         * tests/uniwidth/test-u8-width.c: Likewise.
58465         * tests/uniwidth/test-u16-strwidth.c: Likewise.
58466         * tests/uniwidth/test-u16-width.c: Likewise.
58467         * tests/uniwidth/test-u32-strwidth.c: Likewise.
58468         * tests/uniwidth/test-u32-width.c: Likewise.
58469         * tests/uniwidth/test-uc_width.c: Likewise.
58470         * tests/uniwidth/test-uc_width2.c: Likewise.
58471         * modules/acl-tests (Files): Add tests/macros.h.
58472         * modules/areadlink-tests (Files): Likewise.
58473         * modules/areadlink-with-size-tests (Files): Likewise.
58474         * modules/areadlinkat-tests (Files): Likewise.
58475         * modules/areadlinkat-with-size-tests (Files): Likewise.
58476         * modules/argmatch-tests (Files): Likewise.
58477         * modules/argv-iter-tests (Files): Likewise.
58478         * modules/array-list-tests (Files): Likewise.
58479         * modules/array-mergesort-tests (Files): Likewise.
58480         * modules/array-oset-tests (Files): Likewise.
58481         * modules/avltree-list-tests (Files): Likewise.
58482         * modules/avltree-oset-tests (Files): Likewise.
58483         * modules/avltreehash-list-tests (Files): Likewise.
58484         * modules/base64-tests (Files): Likewise.
58485         * modules/binary-io-tests (Files): Likewise.
58486         * modules/bitrotate-tests (Files): Likewise.
58487         * modules/btowc-tests (Files): Likewise.
58488         * modules/byteswap-tests (Files): Likewise.
58489         * modules/c-ctype-tests (Files): Likewise.
58490         * modules/c-stack-tests (Files): Likewise.
58491         * modules/c-strcase-tests (Files): Likewise.
58492         * modules/c-strcasestr-tests (Files): Likewise.
58493         * modules/c-strstr-tests (Files): Likewise.
58494         * modules/canonicalize-lgpl-tests (Files): Likewise.
58495         * modules/canonicalize-tests (Files): Likewise.
58496         * modules/carray-list-tests (Files): Likewise.
58497         * modules/ceilf-tests (Files): Likewise.
58498         * modules/ceill-tests (Files): Likewise.
58499         * modules/chown-tests (Files): Likewise.
58500         * modules/cloexec-tests (Files): Likewise.
58501         * modules/copy-file-tests (Files): Likewise.
58502         * modules/count-one-bits-tests (Files): Likewise.
58503         * modules/dprintf-posix-tests (Files): Likewise.
58504         * modules/dup2-tests (Files): Likewise.
58505         * modules/dup3-tests (Files): Likewise.
58506         * modules/duplocale-tests (Files): Likewise.
58507         * modules/fbufmode-tests (Files): Likewise.
58508         * modules/fchdir-tests (Files): Likewise.
58509         * modules/fcntl-safer-tests (Files): Likewise.
58510         * modules/fcntl-tests (Files): Likewise.
58511         * modules/fdopendir-tests (Files): Likewise.
58512         * modules/fdutimensat-tests (Files): Likewise.
58513         * modules/fflush-tests (Files): Likewise.
58514         * modules/filevercmp-tests (Files): Likewise.
58515         * modules/flock-tests (Files): Likewise.
58516         * modules/floorf-tests (Files): Likewise.
58517         * modules/floorl-tests (Files): Likewise.
58518         * modules/fnmatch-tests (Files): Likewise.
58519         * modules/fopen-safer-tests (Files): Likewise.
58520         * modules/fopen-tests (Files): Likewise.
58521         * modules/fpending-tests (Files): Likewise.
58522         * modules/fprintf-posix-tests (Files): Likewise.
58523         * modules/fpurge-tests (Files): Likewise.
58524         * modules/freadable-tests (Files): Likewise.
58525         * modules/freadahead-tests (Files): Likewise.
58526         * modules/freading-tests (Files): Likewise.
58527         * modules/freadptr-tests (Files): Likewise.
58528         * modules/freadseek-tests (Files): Likewise.
58529         * modules/freopen-tests (Files): Likewise.
58530         * modules/frexp-nolibm-tests (Files): Likewise.
58531         * modules/frexp-tests (Files): Likewise.
58532         * modules/frexpl-nolibm-tests (Files): Likewise.
58533         * modules/frexpl-tests (Files): Likewise.
58534         * modules/fseek-tests (Files): Likewise.
58535         * modules/fseeko-tests (Files): Likewise.
58536         * modules/fstrcmp-tests (Files): Likewise.
58537         * modules/fsync-tests (Files): Likewise.
58538         * modules/ftell-tests (Files): Likewise.
58539         * modules/ftello-tests (Files): Likewise.
58540         * modules/func-tests (Files): Likewise.
58541         * modules/futimens-tests (Files): Likewise.
58542         * modules/fwritable-tests (Files): Likewise.
58543         * modules/fwriting-tests (Files): Likewise.
58544         * modules/getcwd-tests (Files): Likewise.
58545         * modules/getdate-tests (Files): Likewise.
58546         * modules/getdelim-tests (Files): Likewise.
58547         * modules/getdtablesize-tests (Files): Likewise.
58548         * modules/getgroups-tests (Files): Likewise.
58549         * modules/getline-tests (Files): Likewise.
58550         * modules/getndelim2-tests (Files): Likewise.
58551         * modules/glob-tests (Files): Likewise.
58552         * modules/hash-tests (Files): Likewise.
58553         * modules/i-ring-tests (Files): Likewise.
58554         * modules/iconv-tests (Files): Likewise.
58555         * modules/iconv_open-utf-tests (Files): Likewise.
58556         * modules/idpriv-drop-tests (Files): Likewise.
58557         * modules/idpriv-droptemp-tests (Files): Likewise.
58558         * modules/inet_ntop-tests (Files): Likewise.
58559         * modules/inet_pton-tests (Files): Likewise.
58560         * modules/isblank-tests (Files): Likewise.
58561         * modules/isfinite-tests (Files): Likewise.
58562         * modules/isinf-tests (Files): Likewise.
58563         * modules/isnan-tests (Files): Likewise.
58564         * modules/isnand-nolibm-tests (Files): Likewise.
58565         * modules/isnand-tests (Files): Likewise.
58566         * modules/isnanf-nolibm-tests (Files): Likewise.
58567         * modules/isnanf-tests (Files): Likewise.
58568         * modules/isnanl-nolibm-tests (Files): Likewise.
58569         * modules/isnanl-tests (Files): Likewise.
58570         * modules/lchown-tests (Files): Likewise.
58571         * modules/ldexpl-tests (Files): Likewise.
58572         * modules/link-tests (Files): Likewise.
58573         * modules/linkat-tests (Files): Likewise.
58574         * modules/linked-list-tests (Files): Likewise.
58575         * modules/linkedhash-list-tests (Files): Likewise.
58576         * modules/localename-tests (Files): Likewise.
58577         * modules/lseek-tests (Files): Likewise.
58578         * modules/lstat-tests (Files): Likewise.
58579         * modules/mbmemcasecmp-tests (Files): Likewise.
58580         * modules/mbmemcasecoll-tests (Files): Likewise.
58581         * modules/mbrtowc-tests (Files): Likewise.
58582         * modules/mbscasecmp-tests (Files): Likewise.
58583         * modules/mbscasestr-tests (Files): Likewise.
58584         * modules/mbschr-tests (Files): Likewise.
58585         * modules/mbscspn-tests (Files): Likewise.
58586         * modules/mbsinit-tests (Files): Likewise.
58587         * modules/mbsncasecmp-tests (Files): Likewise.
58588         * modules/mbsnrtowcs-tests (Files): Likewise.
58589         * modules/mbspbrk-tests (Files): Likewise.
58590         * modules/mbspcasecmp-tests (Files): Likewise.
58591         * modules/mbsrchr-tests (Files): Likewise.
58592         * modules/mbsrtowcs-tests (Files): Likewise.
58593         * modules/mbsspn-tests (Files): Likewise.
58594         * modules/mbsstr-tests (Files): Likewise.
58595         * modules/memchr-tests (Files): Likewise.
58596         * modules/memchr2-tests (Files): Likewise.
58597         * modules/memcmp-tests (Files): Likewise.
58598         * modules/memmem-tests (Files): Likewise.
58599         * modules/memrchr-tests (Files): Likewise.
58600         * modules/mkdir-tests (Files): Likewise.
58601         * modules/mkfifo-tests (Files): Likewise.
58602         * modules/mkfifoat-tests (Files): Likewise.
58603         * modules/mknod-tests (Files): Likewise.
58604         * modules/nanosleep-tests (Files): Likewise.
58605         * modules/nl_langinfo-tests (Files): Likewise.
58606         * modules/obstack-printf-tests (Files): Likewise.
58607         * modules/open-tests (Files): Likewise.
58608         * modules/openat-tests (Files): Likewise.
58609         * modules/pipe-filter-gi-tests (Files): Likewise.
58610         * modules/pipe-filter-ii-tests (Files): Likewise.
58611         * modules/pipe2-tests (Files): Likewise.
58612         * modules/popen-safer-tests (Files): Likewise.
58613         * modules/popen-tests (Files): Likewise.
58614         * modules/posixtm-tests (Files): Likewise.
58615         * modules/pread-tests (Files): Likewise.
58616         * modules/printf-frexp-tests (Files): Likewise.
58617         * modules/printf-frexpl-tests (Files): Likewise.
58618         * modules/printf-posix-tests (Files): Likewise.
58619         * modules/priv-set-tests (Files): Likewise.
58620         * modules/quotearg-tests (Files): Likewise.
58621         * modules/random_r-tests (Files): Likewise.
58622         * modules/rawmemchr-tests (Files): Likewise.
58623         * modules/rbtree-list-tests (Files): Likewise.
58624         * modules/rbtree-oset-tests (Files): Likewise.
58625         * modules/rbtreehash-list-tests (Files): Likewise.
58626         * modules/readlink-tests (Files): Likewise.
58627         * modules/remove-tests (Files): Likewise.
58628         * modules/rename-tests (Files): Likewise.
58629         * modules/renameat-tests (Files): Likewise.
58630         * modules/rmdir-tests (Files): Likewise.
58631         * modules/round-tests (Files): Likewise.
58632         * modules/roundf-tests (Files): Likewise.
58633         * modules/roundl-tests (Files): Likewise.
58634         * modules/safe-alloc-tests (Files): Likewise.
58635         * modules/setenv-tests (Files): Likewise.
58636         * modules/sigaction-tests (Files): Likewise.
58637         * modules/signbit-tests (Files): Likewise.
58638         * modules/sleep-tests (Files): Likewise.
58639         * modules/snprintf-posix-tests (Files): Likewise.
58640         * modules/snprintf-tests (Files): Likewise.
58641         * modules/sprintf-posix-tests (Files): Likewise.
58642         * modules/stat-tests (Files): Likewise.
58643         * modules/stat-time-tests (Files): Likewise.
58644         * modules/strcasestr-tests (Files): Likewise.
58645         * modules/strchrnul-tests (Files): Likewise.
58646         * modules/strerror-tests (Files): Likewise.
58647         * modules/striconv-tests (Files): Likewise.
58648         * modules/striconveh-tests (Files): Likewise.
58649         * modules/striconveha-tests (Files): Likewise.
58650         * modules/strsignal-tests (Files): Likewise.
58651         * modules/strstr-tests (Files): Likewise.
58652         * modules/strtod-tests (Files): Likewise.
58653         * modules/strverscmp-tests (Files): Likewise.
58654         * modules/symlink-tests (Files): Likewise.
58655         * modules/symlinkat-tests (Files): Likewise.
58656         * modules/trunc-tests (Files): Likewise.
58657         * modules/truncf-tests (Files): Likewise.
58658         * modules/truncl-tests (Files): Likewise.
58659         * modules/uname-tests (Files): Likewise.
58660         * modules/unicase/cased-tests (Files): Likewise.
58661         * modules/unicase/ignorable-tests (Files): Likewise.
58662         * modules/unicase/locale-language-tests (Files): Likewise.
58663         * modules/unicase/tolower-tests (Files): Likewise.
58664         * modules/unicase/totitle-tests (Files): Likewise.
58665         * modules/unicase/toupper-tests (Files): Likewise.
58666         * modules/unicase/u8-casecmp-tests (Files): Likewise.
58667         * modules/unicase/u8-casecoll-tests (Files): Likewise.
58668         * modules/unicase/u8-casefold-tests (Files): Likewise.
58669         * modules/unicase/u8-is-cased-tests (Files): Likewise.
58670         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
58671         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
58672         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
58673         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
58674         * modules/unicase/u8-tolower-tests (Files): Likewise.
58675         * modules/unicase/u8-totitle-tests (Files): Likewise.
58676         * modules/unicase/u8-toupper-tests (Files): Likewise.
58677         * modules/unicase/u16-casecmp-tests (Files): Likewise.
58678         * modules/unicase/u16-casecoll-tests (Files): Likewise.
58679         * modules/unicase/u16-casefold-tests (Files): Likewise.
58680         * modules/unicase/u16-is-cased-tests (Files): Likewise.
58681         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
58682         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
58683         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
58684         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
58685         * modules/unicase/u16-tolower-tests (Files): Likewise.
58686         * modules/unicase/u16-totitle-tests (Files): Likewise.
58687         * modules/unicase/u16-toupper-tests (Files): Likewise.
58688         * modules/unicase/u32-casecmp-tests (Files): Likewise.
58689         * modules/unicase/u32-casecoll-tests (Files): Likewise.
58690         * modules/unicase/u32-casefold-tests (Files): Likewise.
58691         * modules/unicase/u32-is-cased-tests (Files): Likewise.
58692         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
58693         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
58694         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
58695         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
58696         * modules/unicase/u32-tolower-tests (Files): Likewise.
58697         * modules/unicase/u32-totitle-tests (Files): Likewise.
58698         * modules/unicase/u32-toupper-tests (Files): Likewise.
58699         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
58700         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
58701         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
58702         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
58703         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
58704         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
58705         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
58706         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
58707         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
58708         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
58709         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
58710         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
58711         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
58712         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
58713         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
58714         * modules/unictype/bidicategory-name-tests (Files): Likewise.
58715         * modules/unictype/bidicategory-of-tests (Files): Likewise.
58716         * modules/unictype/bidicategory-test-tests (Files): Likewise.
58717         * modules/unictype/block-list-tests (Files): Likewise.
58718         * modules/unictype/block-of-tests (Files): Likewise.
58719         * modules/unictype/block-test-tests (Files): Likewise.
58720         * modules/unictype/category-C-tests (Files): Likewise.
58721         * modules/unictype/category-Cc-tests (Files): Likewise.
58722         * modules/unictype/category-Cf-tests (Files): Likewise.
58723         * modules/unictype/category-Cn-tests (Files): Likewise.
58724         * modules/unictype/category-Co-tests (Files): Likewise.
58725         * modules/unictype/category-Cs-tests (Files): Likewise.
58726         * modules/unictype/category-L-tests (Files): Likewise.
58727         * modules/unictype/category-Ll-tests (Files): Likewise.
58728         * modules/unictype/category-Lm-tests (Files): Likewise.
58729         * modules/unictype/category-Lo-tests (Files): Likewise.
58730         * modules/unictype/category-Lt-tests (Files): Likewise.
58731         * modules/unictype/category-Lu-tests (Files): Likewise.
58732         * modules/unictype/category-M-tests (Files): Likewise.
58733         * modules/unictype/category-Mc-tests (Files): Likewise.
58734         * modules/unictype/category-Me-tests (Files): Likewise.
58735         * modules/unictype/category-Mn-tests (Files): Likewise.
58736         * modules/unictype/category-N-tests (Files): Likewise.
58737         * modules/unictype/category-Nd-tests (Files): Likewise.
58738         * modules/unictype/category-Nl-tests (Files): Likewise.
58739         * modules/unictype/category-No-tests (Files): Likewise.
58740         * modules/unictype/category-P-tests (Files): Likewise.
58741         * modules/unictype/category-Pc-tests (Files): Likewise.
58742         * modules/unictype/category-Pd-tests (Files): Likewise.
58743         * modules/unictype/category-Pe-tests (Files): Likewise.
58744         * modules/unictype/category-Pf-tests (Files): Likewise.
58745         * modules/unictype/category-Pi-tests (Files): Likewise.
58746         * modules/unictype/category-Po-tests (Files): Likewise.
58747         * modules/unictype/category-Ps-tests (Files): Likewise.
58748         * modules/unictype/category-S-tests (Files): Likewise.
58749         * modules/unictype/category-Sc-tests (Files): Likewise.
58750         * modules/unictype/category-Sk-tests (Files): Likewise.
58751         * modules/unictype/category-Sm-tests (Files): Likewise.
58752         * modules/unictype/category-So-tests (Files): Likewise.
58753         * modules/unictype/category-Z-tests (Files): Likewise.
58754         * modules/unictype/category-Zl-tests (Files): Likewise.
58755         * modules/unictype/category-Zp-tests (Files): Likewise.
58756         * modules/unictype/category-Zs-tests (Files): Likewise.
58757         * modules/unictype/category-and-not-tests (Files): Likewise.
58758         * modules/unictype/category-and-tests (Files): Likewise.
58759         * modules/unictype/category-byname-tests (Files): Likewise.
58760         * modules/unictype/category-name-tests (Files): Likewise.
58761         * modules/unictype/category-none-tests (Files): Likewise.
58762         * modules/unictype/category-of-tests (Files): Likewise.
58763         * modules/unictype/category-or-tests (Files): Likewise.
58764         * modules/unictype/category-test-withtable-tests (Files): Likewise.
58765         * modules/unictype/combining-class-tests (Files): Likewise.
58766         * modules/unictype/ctype-alnum-tests (Files): Likewise.
58767         * modules/unictype/ctype-alpha-tests (Files): Likewise.
58768         * modules/unictype/ctype-blank-tests (Files): Likewise.
58769         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
58770         * modules/unictype/ctype-digit-tests (Files): Likewise.
58771         * modules/unictype/ctype-graph-tests (Files): Likewise.
58772         * modules/unictype/ctype-lower-tests (Files): Likewise.
58773         * modules/unictype/ctype-print-tests (Files): Likewise.
58774         * modules/unictype/ctype-punct-tests (Files): Likewise.
58775         * modules/unictype/ctype-space-tests (Files): Likewise.
58776         * modules/unictype/ctype-upper-tests (Files): Likewise.
58777         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
58778         * modules/unictype/decimal-digit-tests (Files): Likewise.
58779         * modules/unictype/digit-tests (Files): Likewise.
58780         * modules/unictype/mirror-tests (Files): Likewise.
58781         * modules/unictype/numeric-tests (Files): Likewise.
58782         * modules/unictype/property-alphabetic-tests (Files): Likewise.
58783         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
58784         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
58785         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
58786         Likewise.
58787         * modules/unictype/property-bidi-block-separator-tests (Files):
58788         Likewise.
58789         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
58790         Likewise.
58791         * modules/unictype/property-bidi-common-separator-tests (Files):
58792         Likewise.
58793         * modules/unictype/property-bidi-control-tests (Files): Likewise.
58794         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
58795         Likewise.
58796         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
58797         Likewise.
58798         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
58799         Likewise.
58800         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
58801         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
58802         Likewise.
58803         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
58804         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
58805         Likewise.
58806         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
58807         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
58808         * modules/unictype/property-bidi-segment-separator-tests (Files):
58809         Likewise.
58810         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
58811         * modules/unictype/property-byname-tests (Files): Likewise.
58812         * modules/unictype/property-combining-tests (Files): Likewise.
58813         * modules/unictype/property-composite-tests (Files): Likewise.
58814         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
58815         * modules/unictype/property-dash-tests (Files): Likewise.
58816         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
58817         * modules/unictype/property-default-ignorable-code-point-tests (Files):
58818         Likewise.
58819         * modules/unictype/property-deprecated-tests (Files): Likewise.
58820         * modules/unictype/property-diacritic-tests (Files): Likewise.
58821         * modules/unictype/property-extender-tests (Files): Likewise.
58822         * modules/unictype/property-format-control-tests (Files): Likewise.
58823         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
58824         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
58825         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
58826         * modules/unictype/property-hex-digit-tests (Files): Likewise.
58827         * modules/unictype/property-hyphen-tests (Files): Likewise.
58828         * modules/unictype/property-id-continue-tests (Files): Likewise.
58829         * modules/unictype/property-id-start-tests (Files): Likewise.
58830         * modules/unictype/property-ideographic-tests (Files): Likewise.
58831         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
58832         * modules/unictype/property-ids-trinary-operator-tests (Files):
58833         Likewise.
58834         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
58835         * modules/unictype/property-iso-control-tests (Files): Likewise.
58836         * modules/unictype/property-join-control-tests (Files): Likewise.
58837         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
58838         * modules/unictype/property-line-separator-tests (Files): Likewise.
58839         * modules/unictype/property-logical-order-exception-tests (Files):
58840         Likewise.
58841         * modules/unictype/property-lowercase-tests (Files): Likewise.
58842         * modules/unictype/property-math-tests (Files): Likewise.
58843         * modules/unictype/property-non-break-tests (Files): Likewise.
58844         * modules/unictype/property-not-a-character-tests (Files): Likewise.
58845         * modules/unictype/property-numeric-tests (Files): Likewise.
58846         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
58847         * modules/unictype/property-other-default-ignorable-code-point-tests
58848         (Files): Likewise.
58849         * modules/unictype/property-other-grapheme-extend-tests (Files):
58850         Likewise.
58851         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
58852         * modules/unictype/property-other-id-start-tests (Files): Likewise.
58853         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
58854         * modules/unictype/property-other-math-tests (Files): Likewise.
58855         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
58856         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
58857         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
58858         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
58859         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
58860         * modules/unictype/property-private-use-tests (Files): Likewise.
58861         * modules/unictype/property-punctuation-tests (Files): Likewise.
58862         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
58863         * modules/unictype/property-radical-tests (Files): Likewise.
58864         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
58865         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
58866         * modules/unictype/property-space-tests (Files): Likewise.
58867         * modules/unictype/property-terminal-punctuation-tests (Files):
58868         Likewise.
58869         * modules/unictype/property-test-tests (Files): Likewise.
58870         * modules/unictype/property-titlecase-tests (Files): Likewise.
58871         * modules/unictype/property-unassigned-code-value-tests (Files):
58872         Likewise.
58873         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
58874         * modules/unictype/property-uppercase-tests (Files): Likewise.
58875         * modules/unictype/property-variation-selector-tests (Files): Likewise.
58876         * modules/unictype/property-white-space-tests (Files): Likewise.
58877         * modules/unictype/property-xid-continue-tests (Files): Likewise.
58878         * modules/unictype/property-xid-start-tests (Files): Likewise.
58879         * modules/unictype/property-zero-width-tests (Files): Likewise.
58880         * modules/unictype/scripts-tests (Files): Likewise.
58881         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
58882         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
58883         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
58884         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
58885         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
58886         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
58887         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
58888         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
58889         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
58890         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
58891         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
58892         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
58893         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
58894         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
58895         * modules/uninorm/composition-tests (Files): Likewise.
58896         * modules/uninorm/decomposing-form-tests (Files): Likewise.
58897         * modules/uninorm/decomposition-tests (Files): Likewise.
58898         * modules/uninorm/filter-tests (Files): Likewise.
58899         * modules/uninorm/nfc-tests (Files): Likewise.
58900         * modules/uninorm/nfd-tests (Files): Likewise.
58901         * modules/uninorm/nfkc-tests (Files): Likewise.
58902         * modules/uninorm/nfkd-tests (Files): Likewise.
58903         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
58904         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
58905         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
58906         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
58907         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
58908         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
58909         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
58910         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
58911         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
58912         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
58913         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
58914         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
58915         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
58916         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
58917         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
58918         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
58919         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
58920         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
58921         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
58922         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
58923         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
58924         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
58925         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
58926         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
58927         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
58928         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
58929         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
58930         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
58931         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
58932         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
58933         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
58934         * modules/uniwidth/u8-width-tests (Files): Likewise.
58935         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
58936         * modules/uniwidth/u16-width-tests (Files): Likewise.
58937         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
58938         * modules/uniwidth/u32-width-tests (Files): Likewise.
58939         * modules/uniwidth/width-tests (Files): Likewise.
58940         * modules/unlink-tests (Files): Likewise.
58941         * modules/unsetenv-tests (Files): Likewise.
58942         * modules/usleep-tests (Files): Likewise.
58943         * modules/utimens-tests (Files): Likewise.
58944         * modules/utimensat-tests (Files): Likewise.
58945         * modules/vasnprintf-posix-tests (Files): Likewise.
58946         * modules/vasnprintf-tests (Files): Likewise.
58947         * modules/vasprintf-posix-tests (Files): Likewise.
58948         * modules/vasprintf-tests (Files): Likewise.
58949         * modules/vdprintf-posix-tests (Files): Likewise.
58950         * modules/vfprintf-posix-tests (Files): Likewise.
58951         * modules/vprintf-posix-tests (Files): Likewise.
58952         * modules/vsnprintf-posix-tests (Files): Likewise.
58953         * modules/vsnprintf-tests (Files): Likewise.
58954         * modules/vsprintf-posix-tests (Files): Likewise.
58955         * modules/wcrtomb-tests (Files): Likewise.
58956         * modules/wcsnrtombs-tests (Files): Likewise.
58957         * modules/wcsrtombs-tests (Files): Likewise.
58958         * modules/wctype-tests (Files): Likewise.
58959         * modules/wcwidth-tests (Files): Likewise.
58960         * modules/xmemdup0-tests (Files): Likewise.
58961         * modules/xprintf-posix-tests (Files): Likewise.
58962         * modules/xvasprintf-tests (Files): Likewise.
58964 2009-12-24  Eric Blake  <ebb9@byu.net>
58966         test-nanosleep: fix typo
58967         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
58968         patch.
58969         Reported by Bruno Haible.
58971 2009-12-24  Bruno Haible  <bruno@clisp.org>
58973         Reduce namespace pollution on glibc systems.
58974         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
58975         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
58976         systems.
58977         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
58978         <getopt.h> on glibc systems.
58979         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
58980         systems.
58981         * lib/fcntl.c: Include <unistd.h> here instead.
58983 2009-12-24  Bruno Haible  <bruno@clisp.org>
58985         * lib/stdlib.in.h (includes): Fix typo in today's commit.
58987 2009-12-24  Eric Blake  <ebb9@byu.net>
58989         tests: add signature checks
58990         * tests/signature.h (SIGNATURE_CHECK): New file.
58991         * modules/atexit-tests (Files): Use it.
58992         * modules/btowc-tests (Files): Likewise.
58993         * modules/canonicalize-lgpl-tests (Files): Likewise.
58994         * modules/ceilf-tests (Files): Likewise.
58995         * modules/ceill-tests (Files): Likewise.
58996         * modules/chown-tests (Files): Likewise.
58997         * modules/dprintf-posix-tests (Files): Likewise.
58998         * modules/dup2-tests (Files): Likewise.
58999         * modules/dup3-tests (Files): Likewise.
59000         * modules/duplocale-tests (Files): Likewise.
59001         * modules/fchdir-tests (Files): Likewise.
59002         * modules/fcntl-tests (Files): Likewise.
59003         * modules/fdopendir-tests (Files): Likewise.
59004         * modules/fflush-tests (Files): Likewise.
59005         * modules/flock-tests (Files): Likewise.
59006         * modules/floorf-tests (Files): Likewise.
59007         * modules/floorl-tests (Files): Likewise.
59008         * modules/fnmatch-tests (Files): Likewise.
59009         * modules/fopen-tests (Files): Likewise.
59010         * modules/fprintf-posix-tests (Files): Likewise.
59011         * modules/freopen-tests (Files): Likewise.
59012         * modules/frexp-nolibm-tests (Files): Likewise.
59013         * modules/frexp-tests (Files): Likewise.
59014         * modules/frexpl-nolibm-tests (Files): Likewise.
59015         * modules/frexpl-tests (Files): Likewise.
59016         * modules/fseek-tests (Files): Likewise.
59017         * modules/fseeko-tests (Files): Likewise.
59018         * modules/fsync-tests (Files): Likewise.
59019         * modules/ftell-tests (Files): Likewise.
59020         * modules/ftello-tests (Files): Likewise.
59021         * modules/futimens-tests (Files): Likewise.
59022         * modules/getaddrinfo-tests (Files): Likewise.
59023         * modules/getcwd-tests (Files): Likewise.
59024         * modules/getdelim-tests (Files): Likewise.
59025         * modules/getdtablesize-tests (Files): Likewise.
59026         * modules/getgroups-tests (Files): Likewise.
59027         * modules/gethostname-tests (Files): Likewise.
59028         * modules/getline-tests (Files): Likewise.
59029         * modules/getopt-posix-tests (Files): Likewise.
59030         * modules/gettimeofday-tests (Files): Likewise.
59031         * modules/glob-tests (Files): Likewise.
59032         * modules/iconv-tests (Files): Likewise.
59033         * modules/inet_ntop-tests (Files): Likewise.
59034         * modules/inet_pton-tests (Files): Likewise.
59035         * modules/isblank-tests (Files): Likewise.
59036         * modules/lchown-tests (Files): Likewise.
59037         * modules/ldexpl-tests (Files): Likewise.
59038         * modules/link-tests (Files): Likewise.
59039         * modules/linkat-tests (Files): Likewise.
59040         * modules/lseek-tests (Files): Likewise.
59041         * modules/lstat-tests (Files): Likewise.
59042         * modules/mbrtowc-tests (Files): Likewise.
59043         * modules/mbsinit-tests (Files): Likewise.
59044         * modules/mbsnrtowcs-tests (Files): Likewise.
59045         * modules/mbsrtowcs-tests (Files): Likewise.
59046         * modules/memchr-tests (Files): Likewise.
59047         * modules/memcmp-tests (Files): Likewise.
59048         * modules/memmem-tests (Files): Likewise.
59049         * modules/memrchr-tests (Files): Likewise.
59050         * modules/mkdir-tests (Files): Likewise.
59051         * modules/mkfifo-tests (Files): Likewise.
59052         * modules/mkfifoat-tests (Files): Likewise.
59053         * modules/mknod-tests (Files): Likewise.
59054         * modules/nanosleep-tests (Files): Likewise.
59055         * modules/nl_langinfo-tests (Files): Likewise.
59056         * modules/obstack-printf-tests (Files): Likewise.
59057         * modules/open-tests (Files): Likewise.
59058         * modules/openat-tests (Files): Likewise.
59059         * modules/perror-tests (Files): Likewise.
59060         * modules/pipe2-tests (Files): Likewise.
59061         * modules/poll-tests (Files): Likewise.
59062         * modules/popen-tests (Files): Likewise.
59063         * modules/posix_spawn-tests (Files): Likewise.
59064         * modules/posix_spawnp-tests (Files): Likewise.
59065         * modules/pread-tests (Files): Likewise.
59066         * modules/printf-posix-tests (Files): Likewise.
59067         * modules/pty-tests (Files): Likewise.
59068         * modules/random_r-tests (Files): Likewise.
59069         * modules/rawmemchr-tests (Files): Likewise.
59070         * modules/readlink-tests (Files): Likewise.
59071         * modules/remove-tests (Files): Likewise.
59072         * modules/rename-tests (Files): Likewise.
59073         * modules/renameat-tests (Files): Likewise.
59074         * modules/rmdir-tests (Files): Likewise.
59075         * modules/round-tests (Files): Likewise.
59076         * modules/roundf-tests (Files): Likewise.
59077         * modules/roundl-tests (Files): Likewise.
59078         * modules/select-tests (Files): Likewise.
59079         * modules/setenv-tests (Files): Likewise.
59080         * modules/sigaction-tests (Files): Likewise.
59081         * modules/sleep-tests (Files): Likewise.
59082         * modules/snprintf-posix-tests (Files): Likewise.
59083         * modules/snprintf-tests (Files): Likewise.
59084         * modules/sprintf-posix-tests (Files): Likewise.
59085         * modules/stat-tests (Files): Likewise.
59086         * modules/strcasestr-tests (Files): Likewise.
59087         * modules/strchrnul-tests (Files): Likewise.
59088         * modules/strerror-tests (Files): Likewise.
59089         * modules/strsignal-tests (Files): Likewise.
59090         * modules/strstr-tests (Files): Likewise.
59091         * modules/strtod-tests (Files): Likewise.
59092         * modules/strverscmp-tests (Files): Likewise.
59093         * modules/symlink-tests (Files): Likewise.
59094         * modules/symlinkat-tests (Files): Likewise.
59095         * modules/times-tests (Files): Likewise.
59096         * modules/trunc-tests (Files): Likewise.
59097         * modules/truncf-tests (Files): Likewise.
59098         * modules/truncl-tests (Files): Likewise.
59099         * modules/tsearch-tests (Files): Likewise.
59100         * modules/uname-tests (Files): Likewise.
59101         * modules/unlink-tests (Files): Likewise.
59102         * modules/unsetenv-tests (Files): Likewise.
59103         * modules/usleep-tests (Files): Likewise.
59104         * modules/utimensat-tests (Files): Likewise.
59105         * modules/vasprintf-tests (Files): Likewise.
59106         * modules/vdprintf-posix-tests (Files): Likewise.
59107         * modules/vfprintf-posix-tests (Files): Likewise.
59108         * modules/vprintf-posix-tests (Files): Likewise.
59109         * modules/vsnprintf-posix-tests (Files): Likewise.
59110         * modules/vsnprintf-tests (Files): Likewise.
59111         * modules/vsprintf-posix-tests (Files): Likewise.
59112         * modules/wcrtomb-tests (Files): Likewise.
59113         * modules/wcsnrtombs-tests (Files): Likewise.
59114         * modules/wcsrtombs-tests (Files): Likewise.
59115         * modules/wcwidth-tests (Files): Likewise.
59116         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
59117         * tests/test-isinf.c (isinf): Likewise.
59118         * tests/test-isnan.c (isnan): Likewise.
59119         * tests/test-signbit.c (signbit): Likewise.
59120         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
59121         declaration, either as macro or with correct signature.
59122         (select): Ensure function under test is declared with correct
59123         signature in correct header.
59124         * tests/test-atexit.c (atexit): Likewise.
59125         * tests/test-btowc.c (btowc): Likewise.
59126         * tests/test-canonicalize-lgpl.c (realpath)
59127         (canonicalize_file_name): Likewise.
59128         * tests/test-ceilf1.c (ceilf): Likewise.
59129         * tests/test-ceill.c (ceill): Likewise.
59130         * tests/test-chown.c (chown): Likewise.
59131         * tests/test-dprintf-posix.c (dprintf): Likewise.
59132         * tests/test-dup2.c (dup2): Likewise.
59133         * tests/test-dup3.c (dup3): Likewise.
59134         * tests/test-duplocale.c (duplocale): Likewise.
59135         * tests/test-fchdir.c (fchdir): Likewise.
59136         * tests/test-fchownat.c (fchownat): Likewise.
59137         * tests/test-fcntl.c (fcntl): Likewise.
59138         * tests/test-fdopendir.c (fdopendir): Likewise.
59139         * tests/test-fflush.c (fflush): Likewise.
59140         * tests/test-flock.c (flock): Likewise.
59141         * tests/test-floorf1.c (floorf): Likewise.
59142         * tests/test-floorl.c (floorl): Likewise.
59143         * tests/test-fnmatch.c (fnmatch): Likewise.
59144         * tests/test-fopen.c (fopen): Likewise.
59145         * tests/test-fprintf-posix.c (fprintf): Likewise.
59146         * tests/test-freopen.c (freopen): Likewise.
59147         * tests/test-frexp.c (frexp): Likewise.
59148         * tests/test-frexpl.c (frexpl): Likewise.
59149         * tests/test-fseek.c (fseek): Likewise.
59150         * tests/test-fseeko.c (fseeko): Likewise.
59151         * tests/test-fstatat.c (fstatat): Likewise.
59152         * tests/test-fsync.c (fsync): Likewise.
59153         * tests/test-ftell.c (ftell): Likewise.
59154         * tests/test-ftello.c (ftello): Likewise.
59155         * tests/test-futimens.c (futimens): Likewise.
59156         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
59157         (gai_strerror): Likewise.
59158         * tests/test-getcwd.c (getcwd): Likewise.
59159         * tests/test-getdelim.c (getdelim): Likewise.
59160         * tests/test-getdtablesize.c (getdtablesize): Likewise.
59161         * tests/test-getgroups.c (getgroups): Likewise.
59162         * tests/test-gethostname.c (gethostname): Likewise.
59163         * tests/test-getline.c (getline): Likewise.
59164         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
59165         Likewise.
59166         * tests/test-gettimeofday.c (gettimeofday): Likewise.
59167         * tests/test-glob.c (glob, globfree): Likewise.
59168         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
59169         * tests/test-inet_ntop.c (inet_ntop): Likewise.
59170         * tests/test-inet_pton.c (inet_pton): Likewise.
59171         * tests/test-isblank.c (isblank): Likewise.
59172         * tests/test-lchown.c (lchown): Likewise.
59173         * tests/test-ldexpl.c (ldexpl): Likewise.
59174         * tests/test-link.c (link): Likewise.
59175         * tests/test-linkat.c (linkat): Likewise.
59176         * tests/test-lseek.c (lseek): Likewise.
59177         * tests/test-lstat.c (lstat): Likewise.
59178         * tests/test-mbrtowc.c (mbrtowc): Likewise.
59179         * tests/test-mbsinit.c (mbsinit): Likewise.
59180         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
59181         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
59182         * tests/test-memchr.c (memchr): Likewise.
59183         * tests/test-memcmp.c (memcmp): Likewise.
59184         * tests/test-memmem.c (memmem): Likewise.
59185         * tests/test-memrchr.c (memrchr): Likewise.
59186         * tests/test-mkdir.c (mkdir): Likewise.
59187         * tests/test-mkdirat.c (mkdirat): Likewise.
59188         * tests/test-mkfifo.c (mkfifo): Likewise.
59189         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
59190         * tests/test-mknod.c (mknod): Likewise.
59191         * tests/test-nanosleep.c (nanosleep): Likewise.
59192         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
59193         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
59194         Likewise.
59195         * tests/test-open.c (open): Likewise.
59196         * tests/test-openat.c (openat): Likewise.
59197         * tests/test-perror.c (perror): Likewise.
59198         * tests/test-pipe2.c (pipe2): Likewise.
59199         * tests/test-poll.c (poll): Likewise.
59200         * tests/test-popen.c (popen, pclose): Likewise.
59201         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
59202         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
59203         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
59204         (posix_spawn_file_actions_destroy)
59205         (posix_spawn_file_actions_addclose)
59206         (posix_spawn_file_actions_addopen)
59207         (posix_spawn_file_actions_adddup2): Likewise.
59208         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
59209         * tests/test-pread.c (pread): Likewise.
59210         * tests/test-printf-posix.c (printf): Likewise.
59211         * tests/test-pty.c (openpty, forkpty): Likewise.
59212         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
59213         (random_r): Likewise.
59214         * tests/test-rawmemchr.c (rawmemchr): Likewise.
59215         * tests/test-readlink.c (readlink): Likewise.
59216         * tests/test-remove.c (remove): Likewise.
59217         * tests/test-rename.c (rename): Likewise.
59218         * tests/test-renameat.c (renameat): Likewise.
59219         * tests/test-rmdir.c (rmdir): Likewise.
59220         * tests/test-round1.c (round): Likewise.
59221         * tests/test-roundf1.c (roundf): Likewise.
59222         * tests/test-roundl.c (roundl): Likewise.
59223         * tests/test-setenv.c (setenv): Likewise.
59224         * tests/test-sigaction.c (sigaction): Likewise.
59225         * tests/test-sleep.c (sleep): Likewise.
59226         * tests/test-snprintf.c (snprintf): Likewise.
59227         * tests/test-sprintf-posix.c (sprintf): Likewise.
59228         * tests/test-stat.c (stat): Likewise.
59229         * tests/test-stpncpy.c (stpncpy): Likewise.
59230         * tests/test-strcasestr.c (strcasestr): Likewise.
59231         * tests/test-strchrnul.c (strchrnul): Likewise.
59232         * tests/test-strerror.c (strerror): Likewise.
59233         * tests/test-strsignal.c (strsignal): Likewise.
59234         * tests/test-strstr.c (strstr): Likewise.
59235         * tests/test-strtod.c (strtod): Likewise.
59236         * tests/test-strverscmp.c (strverscmp): Likewise.
59237         * tests/test-symlink.c (symlink): Likewise.
59238         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
59239         * tests/test-times.c (times): Likewise.
59240         * tests/test-trunc1.c (trunc): Likewise.
59241         * tests/test-truncf1.c (truncf): Likewise.
59242         * tests/test-truncl.c (truncl): Likewise.
59243         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
59244         Likewise.
59245         * tests/test-uname.c (uname): Likewise.
59246         * tests/test-unlink.c (unlink): Likewise.
59247         * tests/test-unlinkat.c (unlinkat): Likewise.
59248         * tests/test-unsetenv.c (unsetenv): Likewise.
59249         * tests/test-usleep.c (usleep): Likewise.
59250         * tests/test-utimensat.c (utimensat): Likewise.
59251         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
59252         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
59253         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
59254         * tests/test-vprintf-posix.c (vprintf): Likewise.
59255         * tests/test-vsnprintf.c (vsnprintf): Likewise.
59256         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
59257         * tests/test-wcrtomb.c (wcrtomb): Likewise.
59258         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
59259         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
59260         * tests/test-wcwidth.c (wcwidth): Likewise.
59262         build: pull in conditional headers during GNULIB_POSIXCHECK
59263         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
59264         definitions from any conditionally-included headers.
59265         * lib/stdlib.in.h (includes): Likewise.
59266         * lib/unistd.in.h (includes): Likewise.
59268 2009-12-24  Bruno Haible  <bruno@clisp.org>
59270         * tests/test-argv-iter.c: Include header file being tested immediately
59271         after config.h.
59272         * tests/test-base64.c: Likewise.
59273         * tests/test-flock.c: Likewise.
59274         * tests/test-fsync.c: Likewise.
59275         * tests/test-getdate.c: Likewise.
59276         * tests/test-getndelim2.c: Likewise.
59277         * tests/test-isfinite.c: Likewise.
59278         * tests/test-isinf.c: Likewise.
59279         * tests/test-strerror.c: Likewise.
59280         * tests/test-strsignal.c: Likewise.
59282 2009-12-23  Eric Blake  <ebb9@byu.net>
59284         unistd: work around cygwin bug
59285         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
59286         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
59287         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
59289 2009-12-23  Bruno Haible  <bruno@clisp.org>
59291         localename: More tests.
59292         * tests/test-localename.c (SIZEOF): New macro.
59293         (categories): New variable.
59294         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
59295         test_locale_name_default): Add test w.r.t. thread locale.
59296         (test_locale_name_thread): New function.
59297         (main): Invoke it.
59299         localename: Make aware of thread locale.
59300         * lib/localename.h (gl_locale_name_thread): New declaration.
59301         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
59302         behaviour with respect to thread locale.
59303         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
59304         <langinfo.h>, glthread/lock.h.
59305         (SIZE_BITS): New macro.
59306         (string_hash): New function.
59307         (struct hash_node): New type.
59308         (HASH_TABLE_SIZE): New macro.
59309         (struniq_hash_table, struniq_lock): New variables.
59310         (struniq): New function.
59311         (gl_locale_name_thread): New function.
59312         (gl_locale_name): Invoke it.
59313         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
59314         * modules/localename (Depends-on): Add lock.
59315         Reported by Mike Gran <spk121@yahoo.com>.
59317 2009-12-23  Eric Blake  <ebb9@byu.net>
59319         va-args: new module
59320         * modules/va-args: New file.
59321         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
59322         * MODULES.html.sh (Core language properties): Mention it.
59324         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
59325         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
59326         named alias for __attribute__((__unused__)).
59327         * lib/chown.c: Update client.
59328         * lib/fchmodat.c: Likewise.
59329         * lib/fts.c: Likewise.
59330         * lib/getdate.y: Likewise.
59331         * lib/getgroups.c: Likewise.
59332         * lib/getopt.c: Likewise.
59333         * lib/getugroups.c: Likewise.
59334         * lib/mkdir.c: Likewise.
59335         * lib/mkfifo.c: Likewise.
59336         * lib/mkfifoat.c: Likewise.
59337         * lib/mknod.c: Likewise.
59338         * lib/mknodat.c: Likewise.
59339         * lib/readlink.c: Likewise.
59340         * lib/se-context.in.h: Likewise.
59341         * lib/se-selinux.in.h: Likewise.
59342         * lib/sockets.c: Likewise.
59343         * lib/symlink.c: Likewise.
59344         * lib/symlinkat.c: Likewise.
59345         * lib/unicodeio.c: Likewise.
59346         * lib/unistr.h: Likewise.
59347         * tests/test-areadlink.c: Likewise.
59348         * tests/test-areadlinkat.c: Likewise.
59349         * tests/test-filenamecat.c: Likewise.
59350         * tests/test-fseeko.c: Likewise.
59351         * tests/test-ftello.c: Likewise.
59352         * tests/test-getdate.c: Likewise.
59353         * tests/test-getgroups.c: Likewise.
59354         * tests/test-gethostname.c: Likewise.
59355         * tests/test-quotearg.c: Likewise.
59356         * tests/test-version-etc.c: Likewise.
59357         * tests/test-xalloc-die.c: Likewise.
59358         * tests/test-xfprintf-posix.c: Likewise.
59359         * tests/test-xprintf-posix.c: Likewise.
59360         * tests/test-xvasprintf.c: Likewise.
59362         tests: avoid compiler warnings
59363         * tests/test-fcntl.c (main): Delete unused parameters.
59364         * tests/test-freopen-safer.c (main): Likewise.
59365         * tests/test-xalloc-die.c (main): Mark unused parameters.
59366         * tests/test-fseeko.c (main): Likewise.
59367         * tests/test-ftello.c (main): Likewise.
59368         * tests/test-nanosleep.c (main): Avoid declaration warning.
59369         * tests/test-sleep.c (main): Likewise.
59370         * tests/test-unsetenv.c (main): Silence warning about string
59371         literal.
59372         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
59374 2009-12-23  Bruno Haible  <bruno@clisp.org>
59376         * tests/test-localename.c (test_locale_name): New function, extracted
59377         from main. Also test mixed situations.
59378         (test_locale_name_posix, test_locale_name_environ,
59379         test_locale_name_default): New functions.
59380         (main): Invoke them all.
59381         * modules/localename-tests (configure.ac): Test for newlocale.
59383 2009-12-23  Bruno Haible  <bruno@clisp.org>
59385         unistd: Ensure getcwd gets declared before being overridden.
59386         * lib/unistd.in.h: Conditionally include <io.h>.
59388 2009-12-22  Bruno Haible  <bruno@clisp.org>
59390         wchar: Diagnose broken combination of glibc and gcc versions and flags.
59391         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
59392         (gl_WCHAR_H): Invoke it.
59393         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
59394         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
59395         Reported by Karl Berry <karl@freefriends.org>.
59397 2009-12-22  Eric Blake  <ebb9@byu.net>
59399         math, unistd: avoid redundant includes
59400         * lib/math.in.h (isnan): No need to re-include <math.h>.
59401         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
59403         getsubopt: work around cygwin bug
59404         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
59405         avoid conflicting with system getsubopt.
59406         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
59407         bug.
59409         getopt: synchronize from glibc
59410         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
59411         parameter order.  Adjust all callers.
59412         (_getopt_internal_r, main): Adjust quoting in error messages.
59413         Drop considerations for outdated POSIX 1003.2 error message.
59414         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
59415         callers.
59416         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
59418         test-getopt: test stderr behavior
59419         * modules/getopt-posix-tests (Depends-on): Add dup2.
59420         * tests/test-getopt.c (ASSERT): Avoid stderr.
59421         (main): Move stderr to a temporary file.
59422         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
59423         Instead, add parameter to inform caller if output occurred.
59424         (test_getopt): Adjust all existing tests to expect silence, and
59425         add new tests of leading ":".
59426         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
59427         glibc shortcomings with leading "-:" or "+:" in optstring.
59428         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59429         Likewise.
59430         * doc/posix-functions/getopt.texi (getopt): Likewise.
59432         test-getopt: enhance test
59433         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
59434         supports optind=0.
59435         * tests/test-getopt.c (OPTIND_MIN): Move...
59436         * tests/test-getopt.h (OPTIND_MIN): ...here.
59437         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
59438         Require that optind=0 works, since modern BSD supports it in
59439         addition to optreset, and since coreutils expects it.
59440         (test_getopt_long_only): New test.
59441         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
59442         glibc shortcomings with 'W;', and enforcement of optind=0.
59443         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59444         Likewise.
59446 2009-12-21  Bruno Haible  <bruno@clisp.org>
59448         localename: Improvements for MacOS X and Cygwin.
59449         * lib/localename.h (gl_locale_name_environ): New declaration.
59450         * lib/localename.c (gl_locale_name_environ): New function, extracted from
59451         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
59452         (gl_locale_name_posix): Invoke it.
59453         (gl_locale_name_default): Add comments. Use Windows native API also on
59454         Cygwin.
59456 2009-12-21  Bruno Haible  <bruno@clisp.org>
59458         Update list of Win32 locale ids.
59459         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
59460         (LANG_SAMI): Renamed from LANG_SAAMI.
59461         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
59462         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
59463         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
59464         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
59465         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
59466         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
59467         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
59468         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
59469         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
59470         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
59471         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
59472         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
59473         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
59474         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
59475         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
59476         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
59477         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
59478         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
59479         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
59480         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
59481         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
59482         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
59483         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
59484         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
59485         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
59486         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
59487         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
59488         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
59489         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
59490         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
59491         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
59492         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
59493         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
59494         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
59495         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
59496         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
59497         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
59498         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
59499         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
59500         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
59501         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
59502         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
59503         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
59504         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
59505         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
59506         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
59507         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
59508         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
59509         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
59510         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
59511         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
59512         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
59513         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
59514         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
59515         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
59516         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
59517         Add more languages and countries for Sami, Sorbian. Add more countries
59518         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
59519         for Pashto. Change country for Syriac, Tswana.
59521 2009-12-21  Eric Blake  <ebb9@byu.net>
59523         test-utimens: avoid spurious failure
59524         * tests/test-chown.h (nap): Factor...
59525         * tests/nap.h: ...into new file.
59526         * tests/test-lchown.h (nap): Avoid duplication.
59527         * tests/test-utimens-common.h (nap): Use shared implementation,
59528         necessary on file systems with 1-second resolution.
59529         * modules/chown-tests (Files): Include new file.
59530         * modules/fdutimensat-tests (Files): Likewise.
59531         * modules/futimens-tests (Files): Likewise.
59532         * modules/lchown-tests (Files): Likewise.
59533         * modules/openat-tests (Files): Likewise.
59534         * modules/utimens-tests (Files): Likewise.
59535         * modules/utimensat-tests (Files): Likewise.
59537 2009-12-19  Eric Blake  <ebb9@byu.net>
59539         futimens, utimensat: work around Linux bug
59540         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
59541         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
59542         * lib/utimensat.c (rpl_utimensat): Work around it.
59543         * lib/futimens.c (rpl_futimens): Adjust comment.
59545         utimens: work around Linux ctime bug
59546         * lib/utimens.c (detect_ctime_bug): New helper function.
59547         (update_timespec): Differentiate between workaround needed for
59548         this bug vs. what is needed for systems that lack utimensat.
59549         (fdutimens, lutimens): Work around bug.
59551         utimens: check for ctime update
59552         * tests/test-utimens-common.h (check_ctime): Define.
59553         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
59554         * tests/test-futimens.h (test_futimens): Likewise.
59555         * tests/test-lutimens.h (test_lutimens): Likewise.
59556         * doc/posix-functions/futimens.texi (futimens): Document the bug.
59557         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
59559 2009-12-19  Bruno Haible  <bruno@clisp.org>
59561         dprintf-posix: Check against memory leak fixed on 2009-12-15.
59562         * tests/test-dprintf-posix2.sh: New file.
59563         * tests/test-dprintf-posix2.c: New file.
59564         * modules/dprintf-posix-tests (Files): Add them.
59565         (configure.ac): Check for getrlimit and setrlimit.
59566         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
59568 2009-12-19  Bruno Haible  <bruno@clisp.org>
59570         fprintf-posix: Check against memory leak fixed on 2009-12-15.
59571         * tests/test-fprintf-posix3.sh: New file.
59572         * tests/test-fprintf-posix3.c: New file.
59573         * modules/fprintf-posix-tests (Files): Add them.
59574         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
59576 2009-12-19  Eric Blake  <ebb9@byu.net>
59578         dirfd: fix prototype
59579         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
59580         * lib/dirfd.c (dirfd): Likewise.
59582         canonicalize: reduce memory usage
59583         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
59584         allocation to size.
59585         Reported by Solar Designer <solar@openwall.com>.
59587 2009-12-19  Bruno Haible  <bruno@clisp.org>
59589         New module attribute 'Applicability'.
59590         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
59591         * gnulib-tool: New option --extract-applicability.
59592         (func_usage): Document it.
59593         (sed_extract_prog): Recognize it.
59594         (func_get_applicability): New function.
59595         (func_import): Generalize handling of 'link-warning' module.
59596         * modules/link-warning (Applicability): New section.
59597         * modules/arg-nonnull (Applicability): New section.
59598         Repoted by Simon Josefsson <simon@josefsson.org>.
59600 2009-12-19  Bruno Haible  <bruno@clisp.org>
59602         fflush: tweak
59603         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
59604         * lib/fseeko.c (rpl_fseeko): Likewise.
59606 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
59608         * lib/gl_list.h: Fix typo in comment.
59610 2009-12-16  Eric Blake  <ebb9@byu.net>
59612         fcntl: use to simplify other modules
59613         * modules/cloexec (Depends-on): Add fcntl.
59614         * modules/fchdir (Depends-on): Likewise.
59615         * modules/fd-safer-flag (Depends-on): Likewise.
59616         * modules/unistd-safer (Depends-on): Likewise.
59617         * modules/dup3 (configure.ac): Set module indicator.
59618         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
59619         missing.
59620         * lib/fchdir.c (_gl_register_dup): Fix comment.
59621         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
59622         * lib/dup-safer.c (dup_safer): Likewise.
59623         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
59624         * lib/dup3.c (dup3): Likewise.
59625         * tests/test-fchdir.c (main): Enhance test.
59626         Fixes a dup_cloexec bug reported by Ondřej Vašík.
59628         fcntl: port portions of fcntl to mingw
59629         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
59630         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
59631         replacement for mingw.
59632         * modules/fcntl (Description): Update.
59633         (Depends-on): Add dup2.
59634         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
59635         * modules/fcntl-h (Makefile.am): Substitute it.
59636         * lib/fcntl.in.h (fcntl): Update declaration.
59637         (F_DUPFD, F_GETFD): New macros, when needed.
59638         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
59639         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
59640         * tests/test-fcntl.c (check_flags, main): Enhance test for items
59641         we now guarantee.
59643         fcntl: work around cygwin bug in F_DUPFD
59644         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
59645         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
59646         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
59647         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
59648         * doc/posix-functions/fcntl.texi (fcntl): Document it.
59650         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
59651         * modules/fcntl (Files): List new files.
59652         (configure.ac): Run a test.
59653         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
59654         * lib/fcntl.c (rpl_fcntl): Likewise.
59655         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
59656         (gl_FCNTL_H): Always replace fcntl.h.
59657         * modules/fcntl-h (Makefile.am): Substitute witnesses.
59658         * lib/fcntl.in.h (fcntl): Declare replacement.
59659         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
59660         needed, plus a witness.
59661         * doc/posix-functions/fcntl.texi (fcntl): Document this.
59662         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
59663         * tests/test-fcntl.c: New file.
59664         * modules/fcntl-tests: Likewise.
59666         binary-io: avoid potential compilation warning
59667         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
59668         directives.
59670         fflush: avoid compilation error on NetBSD
59671         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
59672         between off_t and fpos_t, since the latter is sometimes a struct.
59673         * lib/fseeko.c (rpl_fseeko): Likewise.
59674         Reported by Alexander Nasonov <alnsn@yandex.ru>.
59676 2009-12-15  Eric Blake  <ebb9@byu.net>
59678         fcntl-h, stdio, sys_ioctl: fix declarations
59679         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
59680         function must not take arguments.
59681         * lib/sys_ioctl.in.h (ioctl): Likewise.
59682         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
59683         (open): Add a link warning.
59685 2009-12-15  Jim Meyering  <meyering@redhat.com>
59687         areadlink, areadlink-with-size: relax license to LGPLv2+
59688         * modules/areadlink (License): Relax to LGPLv2+.
59689         * modules/areadlink-with-size (License): Likewise.
59691 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
59692             Bruno Haible  <bruno@clisp.org>
59694         *printf: Fix memory leak.
59695         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
59696         * lib/vfprintf.c (vfprintf): Likewise.
59697         * lib/dprintf.c (dprintf): Likewise.
59698         * lib/vdprintf.c (vdprintf): Likewise.
59700 2009-12-14  Eric Blake  <ebb9@byu.net>
59702         accept4: adjust module dependencies
59703         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
59705         utimens: one more try at avoiding compiler warning
59706         * lib/utimens.c (lutimens): Lower scope of result.
59708 2009-12-13  Bruno Haible  <bruno@clisp.org>
59710         Move the malloc checking from module 'list' to new module 'xlist'.
59711         * modules/xlist: New file.
59712         * lib/gl_xlist.h: New file.
59713         * lib/gl_xlist.c: New file.
59714         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
59715         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
59716         gl_list_add_last, gl_list_add_before, gl_list_add_after,
59717         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
59718         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
59719         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
59720         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
59721         gl_sortedlist_nx_add): New declarations.
59722         (struct gl_list_implementation): Rename and change methods accordingly.
59723         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
59724         (gl_list_nx_create): Renamed from gl_list_create.
59725         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
59726         (gl_list_nx_set_at): Renamed from gl_list_set_at.
59727         (gl_list_nx_add_first): Renamed from gl_list_add_first.
59728         (gl_list_nx_add_last): Renamed from gl_list_add_last.
59729         (gl_list_nx_add_before): Renamed from gl_list_add_before.
59730         (gl_list_nx_add_after): Renamed from gl_list_add_after.
59731         (gl_list_nx_add_at): Renamed from gl_list_add_at.
59732         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
59733         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
59734         gl_list_create_empty.
59735         (gl_list_nx_create): Renamed from gl_list_create.
59736         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
59737         (gl_list_nx_set_at): Renamed from gl_list_set_at.
59738         (gl_list_nx_add_first): Renamed from gl_list_add_first.
59739         (gl_list_nx_add_last): Renamed from gl_list_add_last.
59740         (gl_list_nx_add_before): Renamed from gl_list_add_before.
59741         (gl_list_nx_add_after): Renamed from gl_list_add_after.
59742         (gl_list_nx_add_at): Renamed from gl_list_add_at.
59743         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
59744         * lib/gl_array_list.c: Don't include xalloc.h.
59745         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
59746         NULL upon out-of-memory.
59747         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
59748         out-of-memory.
59749         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
59750         Change return type to 'int'.
59751         (gl_array_nx_set_at): Renamed from gl_array_set_at.
59752         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
59753         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
59754         upon out-of-memory.
59755         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
59756         upon out-of-memory.
59757         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
59758         upon out-of-memory.
59759         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
59760         upon out-of-memory.
59761         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
59762         out-of-memory.
59763         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
59764         Update.
59765         (gl_array_list_implementation): Update.
59766         * lib/gl_carray_list.c: Don't include xalloc.h.
59767         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
59768         Return NULL upon out-of-memory.
59769         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
59770         out-of-memory.
59771         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
59772         Change return type to 'int'.
59773         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
59774         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
59775         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
59776         upon out-of-memory.
59777         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
59778         upon out-of-memory.
59779         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
59780         out-of-memory.
59781         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
59782         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
59783         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
59784         Update.
59785         (gl_carray_list_implementation): Update.
59786         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
59787         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
59788         gl_linked_create_empty. Return NULL upon out-of-memory.
59789         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
59790         out-of-memory.
59791         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
59792         Change return type to 'int'. Return -1 upon out-of-memory.
59793         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
59794         out-of-memory.
59795         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
59796         upon out-of-memory.
59797         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
59798         upon out-of-memory.
59799         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
59800         NULL upon out-of-memory.
59801         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
59802         upon out-of-memory.
59803         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
59804         out-of-memory.
59805         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
59806         Update.
59807         * lib/gl_linked_list.c: Don't include xalloc.h.
59808         (gl_linked_list_implementation): Update.
59809         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
59810         (add_to_bucket): Change return type to 'int'.
59811         (gl_linkedhash_list_implementation): Update.
59812         * lib/gl_anytree_list1.h (free_subtree): New function.
59813         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
59814         gl_tree_create_empty. Return NULL upon out-of-memory.
59815         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
59816         Change return type to 'int'. Return -1 upon out-of-memory.
59817         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
59818         out-of-memory.
59819         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
59820         (gl_tree_remove_node): New function, moved here from
59821         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
59822         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
59823         Update.
59824         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
59825         malloc, not xmalloc. Return NULL upon out-of-memory.
59826         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
59827         out-of-memory.
59828         (gl_tree_remove_node_from_tree): New function, extracted from
59829         gl_tree_remove_node.
59830         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
59831         upon out-of-memory.
59832         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
59833         out-of-memory.
59834         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
59835         upon out-of-memory.
59836         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
59837         upon out-of-memory.
59838         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
59839         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
59840         not xmalloc. Return NULL upon out-of-memory.
59841         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
59842         out-of-memory.
59843         (gl_tree_remove_node_from_tree): New function, extracted from
59844         gl_tree_remove_node.
59845         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
59846         upon out-of-memory.
59847         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
59848         out-of-memory.
59849         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
59850         upon out-of-memory.
59851         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
59852         upon out-of-memory.
59853         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
59854         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
59855         gl_anytree_list1.h before gl_anyavltree_list2.h.
59856         (gl_avltree_list_implementation): Update.
59857         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
59858         gl_anytree_list1.h before gl_anyavltree_list2.h.
59859         (gl_rbtree_list_implementation): Update.
59860         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
59861         Change return type to 'int'. Return -1 upon out-of-memory. Use
59862         __builtin_expect.
59863         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
59864         (gl_avltreehash_list_implementation): Update.
59865         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
59866         (gl_rbtreehash_list_implementation): Update.
59867         * modules/array-list (Depends-on): Remove xalloc.
59868         * modules/carray-list (Depends-on): Likewise.
59869         * modules/linked-list (Depends-on): Likewise.
59870         * modules/linkedhash-list (Depends-on): Likewise.
59871         * modules/avltree-list (Depends-on): Likewise.
59872         * modules/rbtree-list (Depends-on): Likewise.
59873         * modules/avltreehash-list (Depends-on): Likewise.
59874         * modules/rbtreehash-list (Depends-on): Likewise.
59876         * modules/xsublist: New file.
59877         * lib/gl_xsublist.h: New file.
59878         * lib/gl_xsublist.c: New file.
59879         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
59880         (gl_sublist_nx_create): New declaration.
59881         * lib/gl_sublist.c: Don't include xalloc.h.
59882         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
59883         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
59884         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
59885         Change return type to 'int'. Return -1 upon out-of-memory.
59886         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
59887         upon out-of-memory.
59888         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
59889         NULL upon out-of-memory.
59890         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
59891         upon out-of-memory.
59892         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
59893         NULL upon out-of-memory.
59894         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
59895         NULL upon out-of-memory.
59896         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
59897         upon out-of-memory.
59898         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
59899         (gl_sublist_list_implementation): Update.
59900         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
59901         upon out-of-memory.
59902         * modules/sublist (Depends-on): Remove xalloc.
59904         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
59905         * tests/test-carray_list.c: Likewise.
59906         * tests/test-linked_list.c: Likewise.
59907         * tests/test-linkedhash_list.c: Likewise.
59908         * tests/test-avltree_list.c: Likewise.
59909         * tests/test-rbtree_list.c: Likewise.
59910         * tests/test-avltreehash_list.c: Likewise.
59911         * tests/test-rbtreehash_list.c: Likewise.
59912         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
59913         * modules/carray-list-tests (Makefile.am): Likewise.
59914         * modules/linked-list-tests (Makefile.am): Likewise.
59915         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59916         * modules/avltree-list-tests (Makefile.am): Likewise.
59917         * modules/rbtree-list-tests (Makefile.am): Likewise.
59918         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59919         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59921         * NEWS: Mention the changes.
59923         * lib/clean-temp.c: Include gl_xlist.h.
59924         * modules/clean-temp (Depends-on): Add xlist.
59926         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
59927         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
59929         * tests/test-array_oset.c: Include gl_xlist.h.
59930         * modules/array-oset-tests (Depends-on): Add xlist.
59932         Reported by José E. Marchesi <jemarch@gnu.org>.
59934 2009-12-13  Bruno Haible  <bruno@clisp.org>
59936         Move the malloc checking from module 'oset' to new module 'xoset'.
59937         * modules/xoset: New file.
59938         * lib/gl_xoset.h: New file.
59939         * lib/gl_xoset.c: New file.
59940         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
59941         declarations.
59942         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
59943         (struct gl_oset_implementation): Rename and change methods accordingly.
59944         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
59945         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
59946         'int'. Mark as __warn_unused_result__.
59947         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
59948         gl_oset_create_empty.
59949         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
59950         'int'.
59951         * lib/gl_array_oset.c: Don't include xalloc.h.
59952         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
59953         malloc, not xmalloc.
59954         (grow): Change return type to 'int'. Don't call xalloc_die.
59955         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
59956         to 'int'.
59957         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
59958         'int'.
59959         (gl_array_oset_implementation): Update.
59960         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
59961         gl_tree_create_empty.
59962         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
59963         'int'.
59964         * lib/gl_avltree_oset.c: Don't include xalloc.h.
59965         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
59966         xmalloc.
59967         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
59968         not xmalloc.
59969         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
59970         xmalloc.
59971         (gl_avltree_oset_implementation): Update.
59972         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
59973         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
59974         xmalloc.
59975         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
59976         not xmalloc.
59977         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
59978         xmalloc.
59979         (gl_rbtree_oset_implementation): Update.
59980         * modules/array-oset (Depends-on): Remove xalloc.
59981         * modules/avltree-oset (Depends-on): Likewise.
59982         * modules/rbtree-oset (Depends-on): Likewise.
59983         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
59984         * tests/test-avltree_oset.c: Likewise.
59985         * tests/test-rbtree_oset.c: Likewise.
59986         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
59987         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
59988         * modules/rbtree-oset-tests (Makefile.am): Likewise.
59989         * NEWS: Mention the change.
59991 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
59993         maint.mk: allow a project to override release-prep commands
59994         * top/maint.mk (alpha, beta, stable): Move release-preparatory
59995         commands into a new rule.
59996         (release-prep): New rule.
59997         (release-prep-hook): New overridable variable.
59999 2009-12-13  Bruno Haible  <bruno@clisp.org>
60001         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
60003 2009-12-13  Jim Meyering  <meyering@redhat.com>
60005         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
60006         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
60008 2009-12-12  Bruno Haible  <bruno@clisp.org>
60010         duplocale: Tweak.
60011         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
60013 2009-12-12  Karl Berry  <karl@gnu.org>
60015         * config/srclist.txt (strtoll.c): tab changes, no more sync.
60017 2009-12-12  Bruno Haible  <bruno@clisp.org>
60019         * m4/po.m4: Undo incorrect untabification.
60021 2009-12-12  Bruno Haible  <bruno@clisp.org>
60023         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
60024         * modules/c-strtod (Depends-on): Add locale.
60025         * modules/c-strtold (Depends-on): Likewise.
60027 2009-12-12  Bruno Haible  <bruno@clisp.org>
60029         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
60031 2009-12-11  Eric Blake  <ebb9@byu.net>
60033         setenv: relax requirement in light of POSIX ruling
60034         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
60035         not NULL.
60036         * tests/test-setenv.c (main): Relax test.
60037         * tests/test-unsetenv.c (main): Likewise.
60038         * doc/posix-functions/setenv.texi (setenv): Document this.
60039         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
60041 2009-12-11  Bruno Haible  <bruno@clisp.org>
60043         New module 'fd-safer-flag'.
60044         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
60045         * lib/dup-safer.c (dup_safer_flag): Remove function.
60046         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
60047         * lib/fd-safer.c (fd_safer_flag): Remove function.
60048         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
60049         * modules/cloexec (configure.ac): Drop indicator macro.
60050         * modules/fd-safer-flag: New file.
60051         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
60052         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
60053         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
60055 2009-12-11  Bruno Haible  <bruno@clisp.org>
60057         Tests for module 'nl_langinfo'.
60058         * modules/nl_langinfo-tests: New file.
60059         * tests/test-nl_langinfo.sh: New file.
60060         * tests/test-nl_langinfo.c: New file.
60062         New module 'nl_langinfo'.
60063         * lib/nl_langinfo.c: New file.
60064         * m4/nl_langinfo.m4: New file.
60065         * modules/nl_langinfo: New file.
60066         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
60068 2009-12-11  Bruno Haible  <bruno@clisp.org>
60070         Tests for module 'langinfo'.
60071         * modules/langinfo-tests: New file.
60072         * tests/test-langinfo.c: New file.
60074         New module 'langinfo'.
60075         * lib/langinfo.in.h: New file.
60076         * m4/langinfo_h.m4: New file.
60077         * modules/langinfo: New file.
60078         * doc/posix-headers/langinfo.texi: Mention the new module.
60080 2009-12-11  Bruno Haible  <bruno@clisp.org>
60082         * lib/config.charset: Untabify.
60084 2009-12-11  Bruno Haible  <bruno@clisp.org>
60086         * modules/unistd-safer (configure.ac): Drop indicator macro.
60088 2009-12-11  Bruno Haible  <bruno@clisp.org>
60090         Move pipe2-safer code to its own file.
60091         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
60092         * lib/pipe-safer.c (pipe2_safer): Remove function.
60093         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
60094         (Makefile.am): Add it to lib_SOURCES.
60096 2009-12-10  Bruno Haible  <bruno@clisp.org>
60098         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
60100 2009-12-10  Bruno Haible  <bruno@clisp.org>
60102         Declare which arguments expect non-NULL values, for GCC and clang.
60103         * build-aux/arg-nonnull.h: New file.
60104         * modules/arg-nonnull: New file.
60105         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
60106         (inet_ntop, inet_pton): Use it.
60107         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
60108         (closedir, dirfd, opendir, scandir, alphasort): Use it.
60109         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
60110         (open, openat): Use it.
60111         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
60112         (fnmatch): Use it.
60113         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
60114         (getopt, getopt_long, getopt_long_only): Use it.
60115         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
60116         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
60117         Use it.
60118         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
60119         (iconv_open): Use it.
60120         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
60121         (strtoimax, strtoumax): Use it.
60122         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
60123         (duplocale): Use it.
60124         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
60125         (frexp, frexpl): Use it.
60126         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
60127         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
60128         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
60129         (tsearch, tfind, tdelete, twalk): Use it.
60130         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
60131         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
60132         sigpending): Use it.
60133         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
60134         (posix_spawn, posix_spawnp, posix_spawnattr_init,
60135         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
60136         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
60137         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
60138         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
60139         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
60140         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
60141         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
60142         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
60143         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
60144         Use it.
60145         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
60146         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
60147         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
60148         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
60149         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
60150         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
60151         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
60152         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
60153         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
60154         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
60155         strtoull, unsetenv): Use it.
60156         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
60157         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
60158         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
60159         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
60160         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
60161         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
60162         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
60163         (strcasecmp, strncasecmp): Use it.
60164         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
60165         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
60166         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
60167         rpl_setsockopt): Use it.
60168         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
60169         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
60170         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
60171         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
60172         (gettimeofday): Use it.
60173         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
60174         (times): Use it.
60175         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
60176         (uname): Use it.
60177         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
60178         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
60179         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
60180         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
60181         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
60182         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
60183         unlinkat, write): Use it.
60184         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
60185         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
60186         * lib/argv-iter.h: Include arg-nonnull.h.
60187         (_ATTRIBUTE_NONNULL_): Remove macro.
60188         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
60189         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
60190         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
60191         optimization.
60192         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
60193         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
60194         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
60195         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
60196         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
60197         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
60198         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
60199         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
60200         * modules/arpa_inet (Depends-on): Add arg-nonnull.
60201         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
60202         * modules/dirent (Depends-on): Add arg-nonnull.
60203         (Makefile.am): Insert arg-nonnull.h into dirent.h.
60204         * modules/fcntl-h (Depends-on): Add arg-nonnull.
60205         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
60206         * modules/fnmatch (Depends-on): Add arg-nonnull.
60207         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
60208         * modules/getopt-posix (Depends-on): Add arg-nonnull.
60209         (Makefile.am): Insert arg-nonnull.h into getopt.h.
60210         * modules/glob (Depends-on): Add arg-nonnull.
60211         (Makefile.am): Insert arg-nonnull.h into glob.h.
60212         * modules/iconv_open (Depends-on): Add arg-nonnull.
60213         (Makefile.am): Insert arg-nonnull.h into iconv.h.
60214         * modules/inttypes (Depends-on): Add arg-nonnull.
60215         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
60216         * modules/locale (Depends-on): Add arg-nonnull.
60217         (Makefile.am): Insert arg-nonnull.h into locale.h.
60218         * modules/math (Depends-on): Add arg-nonnull.
60219         (Makefile.am): Insert arg-nonnull.h into math.h.
60220         * modules/netdb (Depends-on): Add arg-nonnull.
60221         (Makefile.am): Insert arg-nonnull.h into netdb.h.
60222         * modules/search (Depends-on): Add arg-nonnull.
60223         (Makefile.am): Insert arg-nonnull.h into search.h.
60224         * modules/signal (Depends-on): Add arg-nonnull.
60225         (Makefile.am): Insert arg-nonnull.h into signal.h.
60226         * modules/spawn (Depends-on): Add arg-nonnull.
60227         (Makefile.am): Insert arg-nonnull.h into spawn.h.
60228         * modules/stdio (Depends-on): Add arg-nonnull.
60229         (Makefile.am): Insert arg-nonnull.h into stdio.h.
60230         * modules/stdlib (Depends-on): Add arg-nonnull.
60231         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
60232         * modules/string (Depends-on): Add arg-nonnull.
60233         (Makefile.am): Insert arg-nonnull.h into string.h.
60234         * modules/strings (Depends-on): Add arg-nonnull.
60235         (Makefile.am): Insert arg-nonnull.h into strings.h.
60236         * modules/sys_socket (Depends-on): Add arg-nonnull.
60237         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
60238         * modules/sys_stat (Depends-on): Add arg-nonnull.
60239         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
60240         * modules/sys_time (Depends-on): Add arg-nonnull.
60241         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
60242         * modules/sys_times (Depends-on): Add arg-nonnull.
60243         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
60244         * modules/sys_utsname (Depends-on): Add arg-nonnull.
60245         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
60246         * modules/time (Depends-on): Add arg-nonnull.
60247         (Makefile.am): Insert arg-nonnull.h into time.h.
60248         * modules/unistd (Depends-on): Add arg-nonnull.
60249         (Makefile.am): Insert arg-nonnull.h into unistd.h.
60250         * modules/wchar (Depends-on): Add arg-nonnull.
60251         (Makefile.am): Insert arg-nonnull.h into wchar.h.
60252         * modules/argv-iter (Depends-on): Add arg-nonnull.
60253         * tests/test-canonicalize.c (null_ptr): New function.
60254         (main): Use it.
60255         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
60256         (main): Use it.
60257         * tests/test-memmem.c (null_ptr): New function.
60258         (main): Use it.
60259         Reported by Jim Meyering.
60261 2009-12-10  Bruno Haible  <bruno@clisp.org>
60263         Use spaces for indentation, not tabs.
60264         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
60265         * m4/*.m4: Untabify.
60266         * build-aux/*.h: Untabify.
60267         * tests/**/*.[hc]: Untabify.
60268         * README: New section "Indent with spaces, not TABs", based on
60269         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
60270         * NEWS: Mention the change.
60272 2009-12-10  Bruno Haible  <bruno@clisp.org>
60274         pty test: Fix link error.
60275         * modules/pty-tests (Makefile.am): Add the default LDADD value to
60276         test_pty_LDADD.
60278 2009-12-07  Simon Josefsson  <simon@josefsson.org>
60280         * modules/pty: New file.
60281         * modules/pty-tests: New file.
60282         * m4/pty.m4: New file.
60283         * tests/test-pty.c: New file.
60284         * doc/glibc-headers/pty.texi: Modified.
60285         * doc/glibc-functions/forkpty.texi: Modified.
60286         * doc/glibc-functions/openpty.texi: Modified.
60288 2009-12-10  Bruno Haible  <bruno@clisp.org>
60290         Avoid syntax error in C++ mode.
60291         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
60293 2009-12-10  Bruno Haible  <bruno@clisp.org>
60295         Use sed with option -e.
60296         * gnulib-tool (func_version, func_emit_copyright_notice,
60297         func_emit_initmacro_end, func_import, func_create_testdir): Pass
60298         option -e to sed.
60299         * modules/link-warning (Makefile.am): Likewise.
60301 2009-12-10  Jim Meyering  <meyering@redhat.com>
60303         mgetgroups: do not write bytes beyond end of malloc'd buffer
60304         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
60305         username, we call getgroups with a one-element-shorter buffer,
60306         but still told it the length was original, max_n_groups.
60308 2009-12-09  Eric Blake  <ebb9@byu.net>
60310         cloexec: relax license
60311         * modules/cloexec (Maintainer): Add myself.
60312         (License): Use LGPL, not GPL.
60314         link-warning: optimize generation
60315         * modules/link-warning (Makefile.am): Reduce process usage.
60317 2009-12-09  Bruno Haible  <bruno@clisp.org>
60319         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
60320         workaround was added on 2009-11-17.
60322 2009-12-09  Jim Meyering  <meyering@redhat.com>
60323             Bruno Haible  <bruno@clisp.org>
60325         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
60326         * modules/link-warning (Makefile.am): Make the comment-removing sed
60327         command more robust in the face of bootstrap-prepended comment lines.
60329 2009-12-09  Bruno Haible  <bruno@clisp.org>
60331         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
60332         most one group.
60334 2009-12-09  Simon Josefsson  <simon@josefsson.org>
60335             Bruno Haible  <bruno@clisp.org>
60337         * build-aux/link-warning.h: Add copyright notice.
60338         * modules/link-warning (Makefile.am): Generate link-warning.h from
60339         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
60340         * NEWS: Mention change in link-warning module.
60341         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
60342         * modules/dirent (Makefile.am): Add dependency to dirent.h.
60343         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
60344         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
60345         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
60346         * modules/math (Makefile.am): Add dependency to math.h.
60347         * modules/search (Makefile.am): Add dependency to search.h.
60348         * modules/signal (Makefile.am): Add dependency to signal.h.
60349         * modules/spawn (Makefile.am): Add dependency to spawn.h.
60350         * modules/stdio (Makefile.am): Add dependency to stdio.h.
60351         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
60352         * modules/string (Makefile.am): Add dependency to string.h.
60353         * modules/strings (Makefile.am): Add dependency to strings.h.
60354         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
60355         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
60356         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
60357         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
60358         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
60359         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
60360         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
60361         * modules/unistd (Makefile.am): Add dependency to unistd.h.
60362         * modules/wchar (Makefile.am): Add dependency to wchar.h.
60364 2009-12-09  Bruno Haible  <bruno@clisp.org>
60366         fchdir: Optimize away rpl_fstat when possible.
60367         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
60368         REPLACE_OPEN_DIRECTORY.
60369         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
60371 2009-12-09  Bruno Haible  <bruno@clisp.org>
60373         * lib/fchdir.c: Update comment.
60375 2009-12-09  Bruno Haible  <bruno@clisp.org>
60377         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
60379 2009-12-08  Eric Blake  <ebb9@byu.net>
60381         fchdir: avoid memory leak on re-registration.
60382         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
60384 2009-12-08  Jim Meyering  <meyering@redhat.com>
60386         init.sh: avoid Solaris 10 /bin/sh portability problem
60387         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
60388         sourced script:
60389           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
60390           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
60391           bar
60392         tests/init.sh relied on that, accepting a --set-path=DIR argument,
60393         and two tests used that idiom.
60394         * tests/init.sh: Update suggested usage comments.
60395         (path_prepend_): New function, to be used in place
60396         of the --src-path=DIR option.
60397         (setup_): Move PATH-prepending code into path_prepend_.
60398         * tests/test-pread.sh: Adapt to new usage.
60399         * tests/test-xalloc-die.sh: Likewise.
60401 2009-12-08  Simon Josefsson  <simon@josefsson.org>
60403         * doc/gnulib.texi (Glibc pty.h): Add.
60404         * doc/glibc-functions/forkpty.texi: Add.
60405         * doc/glibc-functions/openpty.texi: Add.
60406         Suggested by Bruno Haible.
60408 2009-12-08  Eric Blake  <ebb9@byu.net>
60410         fchdir: fix logic bugs
60411         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
60412         * tests/test-fchdir.c (main): Enhance test.
60413         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
60414         is in use.
60416         dup2: fix logic bugs
60417         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
60418         REPLACE_DUP2 to decide when rpl_dup2 is needed.
60419         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
60420         exists.
60421         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
60423 2009-12-07  Eric Blake  <ebb9@byu.net>
60425         unlink: fix m4 detection
60426         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
60428         unistd-safer: add unit test
60429         * modules/unistd-safer-tests: New file.
60430         * tests/test-dup-safer.c: Likewise.
60431         * tests/test-cloexec.c (setmode): Avoid compiler warning.
60432         * tests/test-dup2.c (setmode): Likewise.
60433         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
60435         cloexec: preserve text vs. binary across dup_cloexec
60436         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
60437         mode.
60438         * modules/dup2-tests (Depends-on): Add binary-io.
60439         * modules/cloexec-tests (Depends-on): Likewise.
60440         * tests/test-dup2.c (setmode, is_mode): New helpers.
60441         (main): Add tests that translation mode is preserved.
60442         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
60443         Reported by Bruno Haible.
60445         mgetgroups: reduce duplicate listings
60446         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
60447         resulting array.
60448         * tests/test-chown.h (test_chown): Simplify client.
60449         * tests/test-lchown.h (test_lchown): Likewise.
60451 2009-12-06  Bruno Haible  <bruno@clisp.org>
60453         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
60454         value.
60456 2009-12-06  Bruno Haible  <bruno@clisp.org>
60458         * lib/progname.c: Include stdio.h, stdlib.h.
60459         (set_program_name): Reject a NULL argument.
60461 2009-12-05  Eric Blake  <ebb9@byu.net>
60463         pipe2-safer: new module
60464         * modules/pipe2-safer: New file.
60465         * lib/unistd-safer.h (pipe2_safer): New prototype.
60466         * lib/unistd--.h (pipe2): New wrapper.
60467         * lib/pipe-safer.c (pipe2_safer): New function.
60468         * modules/pipe (Depends-on): Add pipe2-safer.
60469         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
60471         stdlib-safer: preserve cloexec flag for mkostemp[s]
60472         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
60473         fd_safer_flag.
60475         unistd-safer: allow preservation of cloexec status via flag
60476         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
60477         prototypes.
60478         * lib/dup-safer.c (dup_safer_flag): New function.
60479         * lib/fd-safer.c (fd_safer_flag): Likewise.
60480         * modules/cloexec (configure.ac): Set witness.
60482         test-dup2: enhance test
60483         * modules/dup2-tests (Depends-on): Add cloexec.
60484         * tests/test-dup2.c (main): Enhance test.
60486         cloexec: add dup_cloexec
60487         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
60488         header and comments.
60489         * lib/cloexec.c (set_cloexec_flag): Add comments.
60490         (dup_cloexec): New function, with mingw implementation borrowed
60491         from...
60492         * lib/w32spawn.h (dup_noinherit): ...here.
60493         * modules/execute (Depends-on): Add cloexec.
60494         * modules/pipe (Depends-on): Likewise.
60495         * modules/cloexec (Depends-on): Add dup2.
60496         * modules/cloexec-tests (Files): New file.
60497         * tests/test-cloexec.c: Likewise.
60499         test-xalloc-die: fix test for mingw
60500         * modules/xalloc-die-tests (Files): Add tests/init.sh.
60501         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
60502         directory and .exe suffix off argv[0] output.
60504         test-fseeko: fix test for mingw
60505         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
60506         than undefining fseek, so test will pass on mingw.
60508 2009-12-05  Bruno Haible  <bruno@clisp.org>
60510         * lib/progname.h (set_program_name): Clarify specification.
60511         * lib/progname.c (set_program_name): Likewise.
60512         Reported by Jim Meyering.
60514 2009-12-05  Jim Meyering  <meyering@redhat.com>
60516         maint.mk: backslash-escape parens in default regexp
60517         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
60518         backslash-escape the literal parentheses.
60520         maint.mk: news-date-check: use grep -E
60521         * top/maint.mk (today): Define a Make variable, not a...
60522         (news-date-check): ...shell variable.
60523         (news-date-regexp): Use the Make variable.
60524         Use grep's -E option.  Change the failing diagnostic to mention
60525         the variable, $(news-date-regexp).
60527 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
60529         maintainer-makefile: allow customization of NEWS entry format
60530         * top/maint.mk (news-date-regexp): New overridable variable.
60531         (news-date-check): Use it.
60533 2009-12-04  Eric Blake  <ebb9@byu.net>
60535         mgetgroups: add xgetgroups, and avoid ENOSYS failures
60536         * lib/mgetgroups.h (xgetgroups): New prototype.
60537         * lib/mgetgroups.c (xgetgroups): New wrapper.
60538         (mgetgroups): Handle ENOSYS.
60539         * modules/mgetgroups (Depends-on): Add realloc.
60540         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
60542         mgetgroups: avoid argument promotion issues with -1
60543         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
60544         for invalid gid_t.
60545         * tests/test-chown.h (getegid, test_chown): Likewise.
60546         * tests/test-lchown.h (getegid, test_lchown): Likewise.
60548 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
60550         exclude: Fix header file problems.
60551         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
60553 2009-12-01  Jim Meyering  <meyering@redhat.com>
60555         fts: fts_open: do not let an empty string cause immediate failure
60556         This is required in support of GNU rm, for which the command
60557         "rm A '' B" must process and remove both A and B, in spite of
60558         the empty string argument.
60559         * lib/fts.c (fts_open): Do not let the presence of an empty string
60560         cause fts_open to fail immediately.  Most fts-using tools must be
60561         able to process all arguments, in order, and can be expected to
60562         diagnose such arguments themselves.
60564 2009-11-30  Eric Blake  <ebb9@byu.net>
60566         utimens: fix compilation error
60567         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
60568         Declare variable at right scope.
60570 2009-11-29  Jim Meyering  <meyering@redhat.com>
60572         bootstrap: handle perl-5.11's changed --version output
60573         * build-aux/bootstrap (get_version): Handle perl separately,
60574         since perl-5.11's --version output is different.
60576 2009-11-28  Jim Meyering  <meyering@redhat.com>
60578         userspec: depend on the inttostr module, too
60579         * modules/userspec (Depends-on): Add inttostr.
60581         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
60582         * lib/userspec.c (parse_with_separator): Do not accept a user ID
60583         number of MAXUID when it evaluates to (uid_t) -1.
60584         Likewise for group ID.  Reported by Matt McCutchen in
60585         <http://savannah.gnu.org/bugs/?28113>
60587         userspec: reformat to use spaces, not TABs
60588         * lib/userspec.c: Expand TABs to spaces.
60589         Add Emacs' "indent-tabs-mode: nil" hint.
60591 2009-11-27  Eric Blake  <ebb9@byu.net>
60593         getopt-gnu: flush out another BSD bug
60594         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
60595         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
60596         flush out BSD bug.
60597         * tests/test-getopt.h (test_getopt): End lists with NULL.
60598         * tests/test-getopt_long.h (test_getopt_long): Likewise.
60599         (test_getopt_long_posix): Enhance test.
60600         * modules/getopt-posix-tests (Depends-on): Add stdbool.
60601         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
60602         getopt-gnu.
60603         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
60604         Likewise.
60606 2009-11-27  Simon Josefsson  <simon@josefsson.org>
60608         * modules/idpriv-droptemp-tests (Notice): Fix text.
60610 2009-11-27  Jim Meyering  <meyering@redhat.com>
60612         test-xalloc-die: avoid spurious failure due to libtool argv difference
60613         In a libtool-enabled project, this test would fail due to a difference
60614         in the emitted program name, e.g.,
60615         -test-xalloc-die: memory exhausted
60616         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
60617         Use program to avoid that.
60618         * modules/xalloc-die-tests (Depends-on): Add progname.
60619         * tests/test-xalloc-die.c: Include progname.h".
60620         (program_name): Remove decl.
60621         (main): Call set_program_name.
60622         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
60624 2009-11-26  Richard Jones  <rjones@redhat.com>
60626         w32sock: leave win32 error in place.
60627         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
60629 2009-11-26  Eric Blake  <ebb9@byu.net>
60631         init.sh: suggest to use skip_ and fail_ functions in comments
60632         * tests/init.sh: Add a sentence.
60634 2009-11-25  Bruno Haible  <bruno@clisp.org>
60636         init.sh: add documentation in comments
60637         * tests/init.sh: Add some developer and user documentation.
60639 2009-11-26  Jim Meyering  <meyering@redhat.com>
60641         init.sh: accommodate even those who specify bogus srcdir manually
60642         * tests/init.sh: Normally, srcdir is guaranteed by automake and
60643         configure-time tests to be sanitized, so that there is no need to
60644         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
60645         (with no double quotes) suffices.  However, since tests may be
60646         invoked manually, and since you may explicitly set srcdir to the
60647         name of a directory containing spaces, do quote its uses here.
60648         * tests/test-pread.sh: Likewise.
60649         Suggested by Bruno Haible.
60651         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
60652         * tests/test-pread.sh: Write no data into the pipe, because
60653         test-pread actually reads none.  This avoids a diagnostic,
60654         "bash: echo: write error: Broken pipe", that arises in the unusual
60655         event something is ignoring SIGPIPE, and might be interpreted
60656         as some sort of failure.  Reported by Bruno Haible.
60658 2009-11-25  Jim Meyering  <meyering@redhat.com>
60660         test-pread: cover failure with ESPIPE and EINVAL
60661         * tests/test-pread.c (main): Test for failure, too.
60662         * tests/test-pread.sh: Invoke with stdin on a pipe.
60663         Suggested by Eric Blake.
60665         pread: improvement and fix
60666         * modules/pread (Depends-on): Depend on lseek, for portability to
60667         e.g., mingw.  Suggested by Eric Blake.
60668         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
60670         unistd.in.h: correct declaration of pread
60671         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
60672         Reported by Richard W.M. Jones.
60674         test-pread.sh: distribute the test script
60675         * modules/pread-tests (Files): Include test-pread.sh.
60677         test-pread.sh: clean up
60678         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
60679         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
60680         That is unnecessary, since it's always ".".
60681         Suggestion from Eric Blake.
60683         test-pread.sh: make executable
60684         * tests/test-pread.sh: Set executable bit.
60685         Reported by Eric Blake.
60687         correct typo in test-pread.sh
60688         * tests/test-pread.sh: Add #! line.
60690         test pread
60691         * tests/test-pread.c: New file.
60692         * tests/test-pread.sh: Likewise.
60693         * modules/pread-tests: Likewise.
60695         pread: new module
60696         * modules/pread: New file.
60697         * lib/unistd.in.h (pread): Define/declare.
60698         * lib/pread.c (pread): New file.
60699         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
60700         * modules/unistd (Makefile.am): Substitute witnesses.
60701         * doc/posix-functions/pread.texi (pread): Update.
60702         * MODULES.html.sh: Add pread.
60704 2009-11-25  Jim Meyering  <meyering@redhat.com>
60706         tests/init.sh: new file to be used via most *.sh tests
60707         * tests/init.sh: New file.
60709 2009-11-25  Eric Blake  <ebb9@byu.net>
60711         utimens: work around older Linux failure with symlinks
60712         * lib/utimens.c (lutimensat_works_really): New variable.
60713         (fdutimens, lutimens): Use it to manage kernels that support
60714         nanosecond times on files, but not on symlinks.
60715         Reported by Ondřej Vašík.
60717         utimes: fix configure grammar
60718         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
60720 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
60722         regex: Fix fastmap for multibyte character ranges.
60723         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
60724         characters when a multibyte character range is included.
60726 2009-11-22  Andy Wingo  <wingo@pobox.com>
60728         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
60729         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
60731 2009-11-24  Bruno Haible  <bruno@clisp.org>
60733         doc: Most *_l functions exist in MacOS X 10.5.
60734         * doc/posix-functions/duplocale.texi: Update platforms list.
60735         * doc/posix-functions/freelocale.texi: Likewise.
60736         * doc/posix-functions/newlocale.texi: Likewise.
60737         * doc/posix-functions/uselocale.texi: Likewise.
60738         * doc/posix-functions/isalnum_l.texi: Likewise.
60739         * doc/posix-functions/isalpha_l.texi: Likewise.
60740         * doc/posix-functions/isblank_l.texi: Likewise.
60741         * doc/posix-functions/iscntrl_l.texi: Likewise.
60742         * doc/posix-functions/isdigit_l.texi: Likewise.
60743         * doc/posix-functions/isgraph_l.texi: Likewise.
60744         * doc/posix-functions/islower_l.texi: Likewise.
60745         * doc/posix-functions/isprint_l.texi: Likewise.
60746         * doc/posix-functions/ispunct_l.texi: Likewise.
60747         * doc/posix-functions/isspace_l.texi: Likewise.
60748         * doc/posix-functions/isupper_l.texi: Likewise.
60749         * doc/posix-functions/iswalnum_l.texi: Likewise.
60750         * doc/posix-functions/iswalpha_l.texi: Likewise.
60751         * doc/posix-functions/iswblank_l.texi: Likewise.
60752         * doc/posix-functions/iswcntrl_l.texi: Likewise.
60753         * doc/posix-functions/iswctype_l.texi: Likewise.
60754         * doc/posix-functions/iswdigit_l.texi: Likewise.
60755         * doc/posix-functions/iswgraph_l.texi: Likewise.
60756         * doc/posix-functions/iswlower_l.texi: Likewise.
60757         * doc/posix-functions/iswprint_l.texi: Likewise.
60758         * doc/posix-functions/iswpunct_l.texi: Likewise.
60759         * doc/posix-functions/iswspace_l.texi: Likewise.
60760         * doc/posix-functions/iswupper_l.texi: Likewise.
60761         * doc/posix-functions/iswxdigit_l.texi: Likewise.
60762         * doc/posix-functions/isxdigit_l.texi: Likewise.
60763         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
60764         * doc/posix-functions/strcasecmp_l.texi: Likewise.
60765         * doc/posix-functions/strcoll_l.texi: Likewise.
60766         * doc/posix-functions/strfmon_l.texi: Likewise.
60767         * doc/posix-functions/strftime_l.texi: Likewise.
60768         * doc/posix-functions/strncasecmp_l.texi: Likewise.
60769         * doc/posix-functions/strxfrm_l.texi: Likewise.
60770         * doc/posix-functions/tolower_l.texi: Likewise.
60771         * doc/posix-functions/toupper_l.texi: Likewise.
60772         * doc/posix-functions/towctrans_l.texi: Likewise.
60773         * doc/posix-functions/towlower_l.texi: Likewise.
60774         * doc/posix-functions/towupper_l.texi: Likewise.
60775         * doc/posix-functions/wcscoll_l.texi: Likewise.
60776         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
60777         * doc/posix-functions/wctrans_l.texi: Likewise.
60778         * doc/posix-functions/wctype_l.texi: Likewise.
60779         * doc/glibc-functions/strptime_l.texi: Likewise.
60780         * doc/glibc-functions/strtod_l.texi: Likewise.
60781         * doc/glibc-functions/strtof_l.texi: Likewise.
60782         * doc/glibc-functions/strtol_l.texi: Likewise.
60783         * doc/glibc-functions/strtold_l.texi: Likewise.
60784         * doc/glibc-functions/strtoll_l.texi: Likewise.
60785         * doc/glibc-functions/strtoul_l.texi: Likewise.
60786         * doc/glibc-functions/strtoull_l.texi: Likewise.
60787         * doc/glibc-functions/wcsftime_l.texi: Likewise.
60788         * doc/glibc-functions/wcstod_l.texi: Likewise.
60789         * doc/glibc-functions/wcstof_l.texi: Likewise.
60790         * doc/glibc-functions/wcstol_l.texi: Likewise.
60791         * doc/glibc-functions/wcstold_l.texi: Likewise.
60792         * doc/glibc-functions/wcstoll_l.texi: Likewise.
60793         * doc/glibc-functions/wcstoul_l.texi: Likewise.
60794         * doc/glibc-functions/wcstoull_l.texi: Likewise.
60796 2009-11-24  Bruno Haible  <bruno@clisp.org>
60798         duplocale: Fix logic bug.
60799         * lib/duplocale.c: Don't include <langinfo.h>.
60800         (_NL_LOCALE_NAME): Remove macro.
60801         (rpl_duplocale): Use setlocale instead of nl_langinfo.
60802         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
60804 2009-11-23  Jim Meyering  <meyering@redhat.com>
60806         test-update-copyright: don't hard-code /usr/bin/perl
60807         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
60808         perl to print the current year.  Gilles Espinasse reported that
60809         the replaced use of perl was hard-coded as /usr/bin/perl.
60811 2009-11-23  Bruno Haible  <bruno@clisp.org>
60813         duplocale: Add support for glibc 2.3.x.
60814         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
60816 2009-11-22  Bruno Haible  <bruno@clisp.org>
60818         vasnprintf: Tiny optimization.
60819         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
60820         MacOS X.
60822 2009-11-22  Bruno Haible  <bruno@clisp.org>
60824         Tests for module 'duplocale'.
60825         * modules/duplocale-tests: New file.
60826         * tests/test-duplocale.c: New file.
60828         New module 'duplocale'.
60829         * m4/duplocale.m4: New file.
60830         * lib/locale.in.h (duplocale): New declaration.
60831         * lib/duplocale.c: New file.
60832         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
60833         gl_LOCALE_H_DEFAULTS): New macros.
60834         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
60835         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
60836         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
60837         REPLACE_DUPLOCALE.
60838         * modules/duplocale: New file.
60839         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
60841 2009-11-22  Bruno Haible  <bruno@clisp.org>
60843         * modules/locale-tests (configure.ac): Test for newlocale function.
60844         * tests/test-locale.c: When the system has extended locale functions,
60845         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
60847         locale: Make locale_t available when possible.
60848         * lib/locale.in.h: Include <xlocale.h> when it exists.
60849         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
60850         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
60851         * modules/locale (Depends-on): Add extensions.
60852         (Makefile.am): Also substitute HAVE_XLOCALE_H.
60853         * doc/posix-headers/locale.texi: Document the problem with locale_t.
60855 2009-11-22  Bruno Haible  <bruno@clisp.org>
60857         Add comments.
60858         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
60859         invocation.
60860         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
60861         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
60862         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
60864 2009-11-22  Bruno Haible  <bruno@clisp.org>
60866         error: account for the possibility of freopen (stdout).
60867         * lib/error.c: Include <unistd.h>.
60868         (flush_stdout): New function, extracted from error and error_at_line.
60869         Determine stdout's fd dynamically.
60870         (error, error_at_line): Invoke flush_stdout.
60871         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
60872         * modules/error (Depends-on): Add unistd.
60874 2009-11-22  Bruno Haible  <bruno@clisp.org>
60876         diffseq: Add comment.
60877         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
60879 2009-11-22  Jim Meyering  <meyering@redhat.com>
60881         c-stack: avoid defining an unused static function
60882         * lib/c-stack.c (find_stack_direction): Do not define this function
60883         when it will not be used.
60885         diffseq: avoid spurious gcc warnings
60886         * lib/diffseq.h (IF_LINT2): Define.
60887         (compareseq): Use it to initialize two members of "part".
60888         This avoids two used-uninitialized warnings.
60890 2009-11-21  Jim Meyering  <meyering@redhat.com>
60892         c-stack: avoid "ignoring return value of `write'" warning
60893         * lib/c-stack.c: Include "ignore-value.h".
60894         (die): Explicitly ignore each write return value.
60895         * modules/c-stack (Depends-on): Add ignore-value.
60897 2009-11-21  Bruno Haible  <bruno@clisp.org>
60899         diffseq: reduce scope of variable 'best'.
60900         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
60901         variable, earlier used for two different purposes.
60903 2009-11-21  Jim Meyering  <meyering@redhat.com>
60905         diffseq: remove useless assignment to "best"
60906         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
60907         assignment.  At that point "best" is already guaranteed to be zero.
60909 2009-11-20  Eric Blake  <ebb9@byu.net>
60911         build: mention ftp redirector in release announcements
60912         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
60913         values that used to come from cfg.mk; mention FTP redirect URL.
60914         * build-aux/announce-gen: Mention the mirror list.
60915         Suggested by Karl Berry.
60917         nanosleep: improve port to mingw
60918         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
60919         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
60920         LIB_NANOSLEEP, but only when needed.
60921         * modules/select (Link): Document LIBSOCKET.
60922         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
60923         enough.
60925         nanosleep: work around cygwin bug
60926         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
60927         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
60928         bug.
60929         (getnow): Delete, not needed.
60930         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
60931         LIB_CLOCK_GETTIME.
60932         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
60933         clock-time, gettime.
60934         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
60935         bug.
60936         * modules/nanosleep-tests: New test.
60937         * tests/test-nanosleep.c: New file.
60939         sleep: work around cygwin bug
60940         * lib/sleep.c (rpl_sleep): Work around the bug.
60941         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
60942         (gl_PREREQ_SLEEP): Delete unused macro.
60943         * modules/sleep (Depends-on): Add verify.
60944         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
60945         * modules/unistd (Makefile.am): Substitute witness.
60946         * lib/unistd.in.h (sleep): Update prototype.
60947         * doc/posix-functions/sleep.texi (sleep): Document the bug.
60948         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
60949         * modules/sleep-tests (Depends-on): Check for alarm.
60951 2009-11-20  Jim Meyering  <meyering@redhat.com>
60953         maint.mk: improve sc_prohibit_magic_number_exit
60954         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
60955         so it does not match uses like System.exit(1).
60956         Add comments showing how to correct all offenders.
60958 2009-11-19  Eric Blake  <ebb9@byu.net>
60960         xalloc-die-tests: add missing library
60961         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
60963         test-xvasprintf: silence compiler warnings
60964         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
60965         empty string from gcc.
60967 2009-11-19  Jim Meyering  <meyering@redhat.com>
60969         xfreopen: new module, from coreutils
60970         * modules/xfreopen: New module.
60971         * lib/xfreopen.c: New file.
60972         * lib/xfreopen.h: New file.
60973         * MODULES.html.sh (File stream based Input/Output"): Add it.
60975 2009-11-19  Eric Blake  <ebb9@byu.net>
60977         manywarnings: depend on warnings
60978         * modules/manywarnings (Depends-on): Add warnings.
60980         build: avoid compiler warnings
60981         * lib/select.c (rpl_select): Delete unused variable.
60982         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
60984 2009-11-18  Eric Blake  <ebb9@byu.net>
60986         tests: avoid false negative with --with-packager
60987         * tests/test-version-etc.sh: Discard packager information.
60988         * tests/test-argp-version-etc-1.sh: Likewise.
60989         Reported by Mike Frysinger.
60991         utimens: fix regression on Solaris
60992         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
60993         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
60994         can only change fd timestamps via futimesat.  Instead, use an
60995         additional witness macro to avoid BSD bug.
60996         Reported by Jim Meyering.
60998 2009-11-17  Eric Blake  <ebb9@byu.net>
61000         usleep: use it to simplify tests
61001         * modules/stat-time-tests (Depends-on): Add usleep.
61002         (configure.ac): Drop usleep check.
61003         * modules/chown-tests (Depends-on, configure.ac): Likewise.
61004         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
61005         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
61006         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
61007         * modules/openat-tests (Depends-on, configure.ac): Likewise.
61008         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
61009         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
61010         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
61011         Likewise.
61012         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
61013         * tests/test-lchown.h (nap): Likewise.
61014         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
61015         * tests/test-stat-time.c (nap): Likewise.
61016         * tests/test-utimens-common.h (nap): Update comments.
61018         usleep: new module
61019         * modules/usleep: New file.
61020         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
61021         * lib/usleep.c (usleep): Likewise.
61022         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
61023         * modules/unistd (Makefile.am): Substitute witnesses.
61024         * lib/unistd.in.h (usleep): Add declaration.
61025         * doc/pastposix-functions/usleep.texi (usleep): Document this.
61026         * MODULES.html.sh (Date and time): Likewise.
61027         * modules/usleep-tests (Depends-on): New test.
61028         * tests/test-usleep.c: New file.
61030         chown: work around OpenBSD bug
61031         * lib/chown.c (rpl_chown): Work around the bug.
61032         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
61033         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
61034         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
61035         * modules/chown (Depends-on): Add stdbool.
61036         * modules/lchown (Depends-on): Likewise.
61037         * doc/posix-functions/chown.texi (chown): Document the bug.
61038         * doc/posix-functions/lchown.texi (lchown): Likewise.
61039         * tests/test-lchown.h (test_chown): Relax test.
61041         mkstemp: avoid conflict with C++ keyword template
61042         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
61043         * lib/mkostemp.c (mkostemp): Likewise.
61044         * lib/mkostemps.c (mkostemps): Likewise.
61045         * lib/mkstemp.c (mkstemp): Likewise.
61046         * lib/mkstemps.c (mkstemps): Likewise.
61048         xalloc-die-tests: optimize
61049         * tests/test-xalloc-die.sh: Reduce number of processes.
61051 2009-11-17  Simon Josefsson  <simon@josefsson.org>
61053         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
61054         patch from ludo@gnu.org (Ludovic Courtès).
61056 2009-11-17  Jim Meyering  <meyering@redhat.com>
61058         version-etc: use proper license string
61059         * modules/version-etc (License): Use LGPL, not LGPLv3+.
61060         * modules/version-etc-fsf: Likewise.
61062 2009-11-17  Simon Josefsson  <simon@josefsson.org>
61064         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
61065         printed to stdout.  Deal with EOL differences.
61067 2009-11-17  Eric Blake  <ebb9@byu.net>
61069         unsetenv: work around Solaris bug
61070         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
61071         * lib/unsetenv.c (rpl_unsetenv): Work around it.
61072         Reported by Jim Meyering.
61074         vasnprintf: avoid compiler warnings
61075         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
61076         variables.
61077         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
61079 2009-11-17  Simon Josefsson  <simon@josefsson.org>
61081         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
61082         settings since xalloc-die is no longer the self test,
61083         xalloc-die.sh is.
61085 2009-11-17  Jim Meyering  <meyering@redhat.com>
61087         test-xalloc-die.sh: make the code agree with the commit log
61088         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
61089         at the end, just in case you happen to have a test-xalloc-die
61090         program in some other PATH directory.
61092         test-xalloc-die.sh: fix a portability bug
61093         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
61094         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
61095         Otherwise, argv[0] (as often seen in diagnostics) would be too
61096         system-dependent, sometimes with, and sometimes without the leading "./".
61098         version-etc-fsf: relax license to LGPLv3+
61099         * modules/version-etc-fsf (License): Relax license.
61101 2009-11-16  Eric Blake  <ebb9@byu.net>
61103         xalloc-die-tests: avoid printing null pointer
61104         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
61105         shell script.
61106         * tests/test-xalloc-die.c (program_name): Declare.
61107         * tests/test-xalloc-die.sh (tmpfiles): New file.
61109         setenv, unsetenv: work around various bugs
61110         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
61111         (setenv) [HAVE_SETENV]: Work around bugs.
61112         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
61113         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
61114         for bugs.
61115         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
61116         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
61117         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
61118         * modules/stdlib (Makefile.am): Update substitutions.
61119         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
61120         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
61121         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
61122         * modules/setenv-tests: New test.
61123         * modules/unsetenv-tests: Likewise.
61124         * tests/test-setenv.c: New file.
61125         * tests/test-unsetenv.c: Likewise.
61127 2009-11-16  Jim Meyering  <meyering@redhat.com>
61129         version-etc: relax license to LGPLv3+
61130         * modules/version-etc (License): Relax license.
61132         better AC_REQUIRE expanded-before-required-warning avoidance
61133         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
61134         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
61135         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
61136         which is no longer needed.
61138 2009-11-16  Eric Blake  <ebb9@byu.net>
61140         test-freading: clean up temporary file
61141         * tests/test-freading.c (main): Remove file on success, and use
61142         ASSERT more liberally.
61143         Reported by Jim Meyering.
61145 2009-11-16  Jim Meyering  <meyering@redhat.com>
61147         avoid new AC_REQUIRE expanded-before-required warnings
61148         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
61149         merely using it.
61150         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
61151         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
61153 2009-11-15  Simon Josefsson  <simon@josefsson.org>
61155         * tests/test-xalloc-die.c: New file.
61156         * modules/xalloc-die-tests: New file.
61157         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
61158         XFAIL_TESTS so it can be appended by modules.
61160 2009-11-15  Simon Josefsson  <simon@josefsson.org>
61162         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
61163         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
61165 2009-11-14  Eric Blake  <ebb9@byu.net>
61167         fnmatch: avoid compiler warning
61168         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
61169         to silence compiler warning about mismatch signedness in ?:.
61170         Reported by Robert Millan.
61172         intprops: add double-inclusion guard
61173         * lib/intprops.h: Allow idempotent includes.
61174         Suggested by Bruce Korb.
61176         openat: detect Solaris fchownat bug
61177         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
61178         penalizing glibc chownat when only lchownat is broken.
61179         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
61180         trailing slash bugs.
61181         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
61182         * modules/openat-tests (Files): Include more files.
61183         (Depends-on): Add mgetgroups, sleep, stat-time.
61184         (configure.ac): Add additional checks.
61185         (Makefile.am): Build new test.
61186         * tests/test-fchownat.c: New file.
61188         lchown: detect Solaris and FreeBSD bug
61189         * lib/lchown.c (rpl_lchown): Work around bug.
61190         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
61191         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
61192         * modules/unistd (Makefile.am): Populate it.
61193         * lib/unistd.in.h (lchown): Update declaration.
61194         * doc/posix-functions/lchown.texi (lchown): Document the bug.
61195         * modules/lchown-tests: New file.
61196         * tests/test-lchown.h (test_lchown): Likewise.
61197         * tests/test-lchown.c (main): Likewise.
61199         chown: detect Solaris and FreeBSD bug
61200         * lib/chown.c (rpl_chown): Work around bug.
61201         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
61202         (gl_PREREQ_CHOWN): Delete.
61203         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
61204         * modules/unistd (Makefile.am): Populate it.
61205         * lib/unistd.in.h (chown): Update declaration.
61206         * lib/lchown.c (chown): Update client.
61207         * modules/lchown (Depends-on): Add lstat.
61208         * doc/posix-functions/chown.texi (chown): Document the bug.
61209         * doc/posix-functions/getgroups.texi (getgroups): Document
61210         getgroups pitfall.
61211         * modules/chown-tests: New file.
61212         * tests/test-chown.h (test_chown): Likewise.
61213         * tests/test-chown.c (main): Likewise.
61215 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
61217         gnulib-tool: correctly detect absence of m4 directories
61218         * gnulib-tool: Avoid extra newline on data passed to wc -l.
61220 2009-11-14  Jim Meyering  <meyering@redhat.com>
61222         maint.mk: Prohibit inclusion of "xalloc.h" without use.
61223         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
61225 2009-11-14  John W. Eaton  <jwe@gnu.org>
61227         strftime.h: wrap function declaration in extern "C" block
61228         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
61230 2009-11-13  Eric Blake  <ebb9@byu.net>
61232         getgroups: avoid compiler warning
61233         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
61235         getgroups: work around FreeBSD bug
61236         * lib/getgroups.c (rpl_getgroups): Work around the bug.
61237         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
61238         * doc/posix-functions/getgroups.texi (getgroups): Document it.
61239         * tests/test-getgroups.c (main): Fix buffer overrun.
61241         getgroups: avoid compilation failure
61242         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
61243         * modules/getgroups (Depends-on): Add stdint.
61245 2009-11-13  Jim Meyering  <meyering@redhat.com>
61247         test-getgroups: avoid compilation failure
61248         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
61250 2009-11-13  Eric Blake  <ebb9@byu.net>
61252         mgetgroups: new module, taken from coreutils
61253         * modules/mgetgroups: New file.
61254         * lib/mgetgroups.h: Likewise.
61255         * lib/mgetgroups.c (mgetgroups): Likewise.
61256         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
61257         * MODULES.html.sh (Users and groups): Mention it.
61259         getgroups: don't expose GETGROUPS_T to user
61260         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
61261         an element at a time if GETGROUPS_T is wrong size.
61262         * lib/getugroups.h (getugroups): Change signature.
61263         * lib/unistd.in.h (getgroups): Likewise.
61264         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
61265         signature needs fixing.
61266         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
61267         AC_TYPE_GETGROUPS.
61268         * modules/group-member (Depends-on): Add getgroups.
61269         * lib/group-member.c (group_info, get_group_info): Use gid_t.
61270         (group_member): Rely on getgroups replacement.
61271         * lib/getugroups.c (getugroups): Use gid_t.
61272         * tests/test-getgroups.c (main): Likewise.
61273         * NEWS: Mention the signature change.
61274         * doc/posix-functions/getgroups.texi (getgroups): Mention the
61275         problem with signature.
61276         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
61277         GETGROUPS_T is still useful for setgroups.
61279         getgroups, getugroups: provide stubs for mingw
61280         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
61281         * lib/getugroups.c (getugroups): Likewise.
61282         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
61283         function.  Modernize replacement scheme.
61284         (gl_PREREQ_GETGROUPS): Delete.
61285         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
61286         * modules/getgroups (configure.ac): Declare witness.
61287         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
61288         * modules/unistd (Depends-on): Substitute witness.
61289         * lib/unistd.in.h (getgroups): Declare replacement.
61291         getgroups: avoid calling exit
61292         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
61293         drop xalloc.
61294         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
61295         dependencies.
61296         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
61297         exiting, in the rare case of malloc failure.
61299         getgroups: fix logic error
61300         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
61301         has more than 20 groups.
61302         * modules/getgroups-tests: New test.
61303         * tests/test-getgroups.c: New file.
61305 2009-11-13  Simon Josefsson  <simon@josefsson.org>
61307         * tests/test-base64.c: Improve.
61309 2009-11-13  Simon Josefsson  <simon@josefsson.org>
61311         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
61312         Blake <ebb9@byu.net>.
61314 2009-11-13  Simon Josefsson  <simon@josefsson.org>
61316         * tests/test-xvasprintf.c: Add %s%s related checks.
61318 2009-11-12  Eric Blake  <ebb9@byu.net>
61320         version-etc: match standards.texi style
61321         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
61322         and use <> only for URLs.
61324 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
61326         fts: do not fail on a submount during traversal
61327         * lib/fts.c (fts_build): Read the stat info again after opening
61328         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
61329         Original report at http://bugzilla.redhat.com/501848.
61331 2009-11-12  Jim Meyering  <meyering@redhat.com>
61333         bootstrap: sync from coreutils
61334         * build-aux/bootstrap (bootstrap_epilogue): New function.
61335         Use git_modules_config in one more place.  This make bootstrap's
61336         --gnulib-srcdir option more useful for testing.
61338         bootstrap: generalize autoheader check
61339         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
61340         AC_CONFIG_HEADERS.
61342 2009-11-11  Eric Blake  <ebb9@byu.net>
61344         mkfifoat: use new modules for Solaris and BSD bugs
61345         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
61346         * lib/mkfifoat.c (mknodat): Split...
61347         * lib/mknodat.c (mknodat): ...into new file.
61348         * modules/mkfifoat (Files): Ship new file.
61349         (Depends-on): Add mkfifo, mknod.
61350         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
61351         (Depends-on): Add symlink.
61352         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
61353         redundant with test_mkfifo.h.
61354         (do_mkfifoat, do_mknodat): New helpers.
61356         mknod: new module
61357         * modules/mknod: New file.
61358         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
61359         * lib/mknod.c (mknod): Likewise.
61360         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
61361         defaults.
61362         * modules/sys_stat (Makefile.am): Substitute them.
61363         * lib/sys_stat.in.h (mknod): Declare replacement.
61364         * MODULES.html.sh (Support for systems lacking POSIX:2008):
61365         Document it.
61366         * doc/posix-functions/mknod.texi (mknod): Likewise.
61367         * modules/mknod-tests: New test.
61368         * tests/test-mknod.c: Likewise.
61370         mkfifo: new module
61371         * modules/mkfifo: New file.
61372         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
61373         * lib/mkfifo.c (mkfifo): Likewise.
61374         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
61375         defaults.
61376         * modules/sys_stat (Makefile.am): Substitute them.
61377         * lib/sys_stat.in.h (mkfifo): Declare replacement.
61378         * MODULES.html.sh (Support for systems lacking POSIX:2008):
61379         Document it.
61380         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
61381         * modules/mkfifo-tests: New test.
61382         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
61383         from test-mkfifoat.c.
61384         * tests/test-mkfifo.c: New file.
61386         readlink: detect FreeBSD bug
61387         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
61388         slash on symlink.
61389         * doc/posix-functions/readlink.texi (readlink): Document the bug.
61390         * tests/test-readlink.h (test_readlink): Enhance test.
61392         symlink: detect FreeBSD bug
61393         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
61394         slash on symlink.
61395         * doc/posix-functions/symlink.texi (symlink): Document the bug.
61396         * tests/test-symlink.h (test_symlink): Enhance test.
61398 2009-11-10  Eric Blake  <ebb9@byu.net>
61400         link: detect FreeBSD bug
61401         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
61402         symlink.
61403         * doc/posix-functions/link.texi (link): Document the bug.
61404         * tests/test-link.h (test_link): Enhance test.
61405         * tests/test-linkat.c (main): Update caller.
61407         unlink, remove: detect FreeBSD bug
61408         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
61409         slash on symlink.
61410         * doc/posix-functions/unlink.texi (unlink): Document the bug.
61411         * doc/posix-functions/remove.texi (remove): Likewise.
61412         * tests/test-unlink.h (test_unlink): Enhance test.
61413         * tests/test-remove.c (main): Likewise.
61415 2009-11-09  Eric Blake  <ebb9@byu.net>
61417         rename: detect FreeBSD bug
61418         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
61419         slash on symlink.
61420         * modules/renameat-tests (Depends-on): Add filenamecat.
61421         * tests/test-rename.h (test_rename): Allow one more errno.
61422         * tests/test-renameat.c (main): Likewise.
61423         * doc/posix-functions/rename.texi (rename): Document the bug.
61425         open: detect FreeBSD bug
61426         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
61427         symlink.
61428         * doc/posix-functions/open.texi (open): Document the bug.
61429         * doc/posix-functions/utimes.texi (utimes): Likewise.
61430         * tests/test-open.h (test_open): Add parameters, and test symlink
61431         handling.
61432         * tests/test-open.c (main): Adjust caller.
61433         * tests/test-fcntl-safer.c (main): Likewise.
61434         * modules/open-tests (Depends-on): Add stdbool, symlink.
61435         * modules/fcntl-safer-tests (Depends-on): Likewise.
61436         * tests/test-openat.c (main): Add test-open tests.
61438         stat: detect FreeBSD bug
61439         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
61440         symlink.
61441         * doc/posix-functions/stat.texi (stat): Document the bug.
61442         * tests/test-stat.h (test_stat_func): Add argument.
61443         * tests/test-stat.c (main): Adjust caller.
61444         * tests/test-fstatat.c (main): Likewise.
61445         * modules/stat-tests (Depends-on): Add stdbool, symlink.
61446         Reported by Jim Meyering.
61448 2009-11-09  James Youngman  <jay@gnu.org>
61450         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
61451         * lib/strftime.c: Correct placement of #include "ignore-value.h".
61453 2009-11-08  Jim Meyering  <meyering@redhat.com>
61455         utimens: remove invalid futimesat call
61456         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
61457         It used the file descriptor of the target file as the DIR_FD
61458         parameter and NULL as the file name.  That caused failure with
61459         errno == EFAULT on FreeBSD-8.0-rc2
61461 2009-11-07  Eric Blake  <ebb9@byu.net>
61463         fflush, freadseek: use fseeko, not fseek
61464         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
61465         (clear_ungetc_buffer): Avoid potential problems on large files.
61466         * lib/freadseek.c (freadseek): Likewise.
61467         * modules/freadseek (Depends-on): Add fseeko.
61468         * modules/fseek (configure.ac): Set a witness.
61469         * tests/test-fflush.c (main): Use fseeko.
61470         * tests/test-fpurge.c (fseek): Disable link warning.
61471         * tests/test-freadable.c (fseek): Likewise.
61472         * tests/test-freading.c (fseek): Likewise.
61473         * tests/test-fseeko.c (fseek): Likewise.
61474         * tests/test-ftell.c (fseek): Likewise.
61475         * tests/test-ftello.c (fseek): Likewise.
61476         * tests/test-fwritable.c (fseek): Likewise.
61477         * tests/test-fwriting.c (fseek): Likewise.
61479 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61481         * modules/memchr (Depends-on): Drop getpagesize dependency.
61483 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61485         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
61486         Reported by Ludovic Courtès.
61487         * build-aux/pmccabe2html: Improve example usage.
61488         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
61490 2009-11-06  Jim Meyering  <meyering@redhat.com>
61492         do-release-commit-and-tag: New module.
61493         Automate the release-commit and tag process.
61494         * build-aux/do-release-commit-and-tag: New script, from coreutils.
61495         * modules/do-release-commit-and-tag: New file.
61496         * MODULES.html.sh (Support for maintaining and releasing): Add it.
61498 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61500         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
61501         because test-select.c uses inet_pton.
61503 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61505         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
61506         GETADDRINFO_LIB.  Bump serial number.
61507         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
61508         Suggested by Eric Blake <ebb9@byu.net>.
61510 2009-11-05  Eric Blake  <ebb9@byu.net>
61512         strtod: detect darwin bug
61513         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
61514         Reported by Leo Davis.
61516         freopen-safer: new module
61517         * modules/freopen-safer: New module.
61518         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
61519         * lib/freopen-safer.c (freopen_safer): New file.
61520         * lib/stdio-safer.h (freopen_safer): New declaration.
61521         * lib/stdio--.h (freopen): New override.
61522         * MODULES.html.sh (File stream based Input/Output): Mention it.
61523         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
61524         freopen-safer module.
61525         * doc/posix-functions/stderr.texi (stderr): Likewise.
61526         * doc/posix-functions/stdin.texi (stdin): Likewise.
61527         * doc/posix-functions/stdout.texi (stdout): Likewise.
61528         * modules/freopen-safer-tests: New test.
61529         * tests/test-reopen-safer.c: New file.
61531 2009-11-05  Jim Meyering  <meyering@redhat.com>
61533         maint.mk: Prohibit inclusion of "close-stream.h" without use.
61534         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
61536 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61538         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
61540 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61542         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
61544 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61546         Fix link error.
61547         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
61548         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
61550 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61552         * tests/test-func.c: Also test value of __func__.
61554 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61556         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
61557         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
61559 2009-11-05  Bruno Haible  <bruno@clisp.org>
61561         Fix link error.
61562         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
61563         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
61564         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
61566 2009-11-05  Bruno Haible  <bruno@clisp.org>
61568         Tests for module 'inet_pton'.
61569         * modules/inet_pton-tests: New file.
61570         * tests/test-inet_pton.c: New file.
61572 2009-11-05  Bruno Haible  <bruno@clisp.org>
61574         Tests for module 'inet_ntop'.
61575         * modules/inet_ntop-tests: New file.
61576         * tests/test-inet_ntop.c: New file.
61578 2009-11-04  Eric Blake  <ebb9@byu.net>
61580         stdlib-safer: wrap all mkstemp variants
61581         * modules/mkostemp (configure.ac): Set witness.
61582         * modules/mkostemps (configure.ac): Likewise.
61583         * modules/mkstemps (configure.ac): Likewise.
61584         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
61585         (mkstemps_safer): Wrap more functions.
61586         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
61587         wrapping.
61588         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
61589         (mkstemps_safer): Implement the wrappers.
61591         mkstemps, mkostemps: new modules
61592         * modules/mkostemps: New module.
61593         * modules/mkstemps: Likewise.
61594         * lib/mkostemps.c (mkostemps): New file.
61595         * lib/mkstemps.c (mkstemps): Likewise.
61596         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
61597         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
61598         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
61599         * modules/stdlib (Makefile.am): Substitute them.
61600         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
61601         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
61602         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
61603         * doc/gnulib.texi (Glibc stdlib.h): Include them.
61604         * MODULES.html.sh (File system functions): Mention them.
61606         tempname: resync from glibc
61607         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
61608         same values for __GT_FILE as glibc.  Abort even when assertions
61609         are disabled.
61610         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
61611         match its value otherwise.  Allow idempotent inclusion.
61612         * lib/mkdtemp.c (mkdtemp): Adjust caller.
61613         * lib/mkostemp.c (mkostemp): Likewise.
61614         * lib/mkstemp.c (mkstemp): Likewise.
61615         * lib/tmpfile.c (tmpfile): Likewise.
61616         * NEWS: Document this.
61618         utimens: fix use of futimens on older Linux
61619         * lib/utimens.c (fdutimens): Use updated, rather than original,
61620         timespec to avoid bug in older Linux kernel.
61621         Reported by Simon Josefsson.
61623 2009-11-04  Bruno Haible  <bruno@clisp.org>
61625         Make num_processors more flexible and consistent.
61626         * lib/nproc.h (enum nproc_query): New type.
61627         (num_processors): Add a 'query' argument.
61628         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
61629         (num_processors): Add a 'query' argument. Test the value of the
61630         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
61631         mingw, count the number of CPUs available for the current process.
61632         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
61633         Check for sched_getaffinity and sched_getaffinity_np.
61634         * modules/nproc (Depends-on): Add c-ctype, extensions.
61635         * NEWS: Mention the change.
61637 2009-11-03  Bruno Haible  <bruno@clisp.org>
61639         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
61641 2009-11-03  Jim Meyering  <meyering@redhat.com>
61643         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
61644         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
61645         if it is defined.
61647 2009-11-02  Eric Blake  <ebb9@byu.net>
61649         mktime, timegm: share common declaration
61650         * lib/mktime-internal.h: New file.
61651         * lib/mktime.c: Use it rather than open-coding a declaration.
61652         * lib/timegm.c: Likewise.
61653         * modules/mktime (Files): Ship it.
61654         * modules/timegm (Files): Likewise.
61655         Suggested by Bruno Haible.
61657         test-update-copyright: update test to match script changes
61658         * tests/test-update-copyright.sh: Avoid hard-coding perl
61659         location.  Don't update *.bak created by earlier runs.
61661 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
61662             Simon Josefsson  <simon@josefsson.org>
61663             Bruno Haible  <bruno@clisp.org>
61665         Fix link error on Solaris 8.
61666         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
61667         also in libnsl. Define also INET_PTON_LIB.
61668         * modules/inet_pton (Link): New section.
61670 2009-11-02  Simon Josefsson  <simon@josefsson.org>
61671             Bruno Haible  <bruno@clisp.org>
61673         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
61674         * modules/inet_ntop (Link): New section.
61675         Reported by Boyan Kasarov <bkasarov@gmail.com>.
61677 2009-11-02  Eric Blake  <ebb9@byu.net>
61679         maint: avoid compiler warnings in m4 macros
61680         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
61681         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
61683 2009-11-02  Simon Josefsson  <simon@josefsson.org>
61685         * m4/pmccabe2html.m4: Remove file.
61686         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
61687         function.  Change maintainer.
61688         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
61689         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
61690         Courtès).
61692 2009-10-31  Eric Blake  <ebb9@byu.net>
61694         fseeko: fix m4 regression
61695         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
61696         regression from 2009-10-27.
61697         Reported by Ralf Wildenhues.
61699 2009-10-31  Jim Meyering  <meyering@redhat.com>
61701         inttostr: aesthetics and improved (compile-time) safety
61702         Define inttype_is_signed rather than inttype_is_unsigned,
61703         since the sole use is via "#if inttype_is_signed".
61704         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
61705         inttype_is_unsigned.
61706         * lib/offtostr.c (inttype_is_signed): Likewise.
61707         * lib/uinttostr.c (inttype_is_signed): Likewise.
61708         * lib/umaxtostr.c (inttype_is_signed): Likewise.
61709         * lib/inttostr.c (inttostr): Use verify to cross-check the
61710         inttype_is_signed value and the signedness of the actual type.
61711         * modules/inttostr (Depends-on): Add verify.
61713 2009-10-30  Eric Blake  <ebb9@byu.net>
61715         build: avoid compiler warnings
61716         * lib/fchmodat.c (lchmod): Mark unused variables.
61717         * lib/getopt.c (_getopt_initialize): Likewise.
61718         * lib/mktime.c (__mktime_internal): Provide prototype.
61719         * lib/inttostr.c (inttostr): Avoid compiler warning even with
61720         older gcc that do not understand #pragma GCC diagnostic.
61721         * lib/uinttostr.c (inttype_is_unsigned): Define.
61722         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
61724 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
61726         stat: fix compilation on AIX
61727         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
61728         only see struct stat64.
61730 2009-10-30  Eric Blake  <ebb9@byu.net>
61732         exclude: make more robust
61733         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
61734         rather than masking a coding bug.
61735         Suggested by Bruno Haible.
61737 2009-10-30  Jim Meyering  <meyering@redhat.com>
61739         perl scripts: remove #!/usr/bin/perl in favor of more portable...
61740         Rather than putting #!/usr/bin/perl on the first line,
61741         start with a variant of what's recommended by "man perlrun" that
61742         invokes the first "perl" program from your shell's search path.
61743         * build-aux/gitlog-to-changelog: Replace #!... as above.
61744         Add a "Local Variables" perl mode setting.
61745         Prompted by a patch from Ludovic Courtès.
61746         Improved by Eric Blake.
61747         * build-aux/useless-if-before-free: Likewise.
61748         * build-aux/announce-gen: Likewise.
61749         * build-aux/update-copyright: Likewise.
61751 2009-10-29  Eric Blake  <ebb9@byu.net>
61753         filenamecat-lgpl: adjust clients
61754         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
61755         filenamecat.
61756         * modules/renameat (Depends-on): Likewise.
61758         filenamecat: split into filenamecat-lgpl
61759         * modules/filenamecat-lgpl: New module.
61760         * modules/filenamecat (Files): Move library-safe files into
61761         filenamecat-lgpl.
61762         (Depends-on): Add filenamecat-lgpl.
61763         (configure.ac): Declare witness.
61764         * lib/filenamecat.h (file_name_concat): Only declare when using
61765         GPL module.
61766         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
61767         Move...
61768         * lib/filenamecat-lgpl.c: ...into new file.
61769         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
61770         (gl_FILE_NAME_CONCAT): Use it.
61771         * MODULES.html.sh (File system functions): Mention new module.
61773         argp: avoid memory leak
61774         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
61775         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
61776         base_name, since the latter malloc()s and can call exit().
61777         Leak introduced 2006-07-03.
61779         dirname-lgpl: adjust clients that don't need full dirname
61780         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
61781         * modules/filenamecat (Depends-on): Likewise.
61782         * modules/linkat (Depends-on): Likewise.
61783         * modules/mkancesdirs (Depends-on): Likewise.
61784         * modules/mkdir (Depends-on): Likewise.
61785         * modules/openat (Depends-on): Likewise.
61786         * modules/savewd (Depends-on): Likewise.
61787         * modules/rename (Depends-on): Likewise.
61788         (License): Relax license.
61789         * modules/mkdir-tests (Depends-on): Drop progname.
61790         (Makefile.am): Delete unneeded LDADD.
61791         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
61793         dirname: split into dirname-lgpl
61794         * modules/dirname-lgpl: New module.
61795         * modules/dirname (Files): Move library-safe files into
61796         dirname-lgpl.
61797         (Depends-on): Add dirname-lgpl.
61798         (configure.ac): Declare witness.
61799         * modules/double-slash-root (License): Relax license.
61800         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
61801         module.
61802         * lib/dirname.c (dir_len, mdir_name): Move...
61803         * lib/dirname-lgpl.c: ...into new file.
61804         * lib/basename.c (last_component, base_len): Move...
61805         * lib/basename-lgpl.c: ...into new file.
61806         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
61807         (gl_DIRNAME): Use it.
61808         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
61809         Mention new module.
61810         * modules/dirname-tests (Depends-on): Add progname.
61811         * tests/test-dirname.c (program_name): Delete.
61813         mkdir: make safe for libraries
61814         * modules/mkdir (Depends-on): Drop xalloc.
61815         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
61816         exit.
61818         tests: avoid some compiler warnings
61819         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
61820         literals.
61821         * tests/test-memchr.c (main): Avoid type mismatch.
61822         * tests/test-arpa_inet.c (main): Avoid unused parameters.
61823         * tests/test-base64.c (main): Likewise.
61824         * tests/test-getdelim.c (main): Likewise.
61825         * tests/test-gethostname.c (main): Likewise.
61826         * tests/test-getline.c (main): Likewise.
61827         * tests/test-netinet_in.c (main): Likewise.
61828         * tests/test-select.c (open_server_socket, main): Likewise.
61829         * tests/test-select-stdin.c (main): Likewise.
61830         * tests/test-sockets.c (main): Likewise.
61831         * tests/test-strsignal.c (main): Likewise.
61832         * tests/test-sys_select.c (main): Likewise.
61833         * tests/test-sys_socket.c (main): Likewise.
61834         * tests/test-u64.c (main): Likewise.
61835         * tests/test-xfprintf-posix.c (main): Likewise.
61836         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
61838         sockets: avoid compiler warning
61839         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
61841         maint: detect usage(1) and other suspicious exits
61842         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
61844 2009-10-29  Jim Meyering  <meyering@redhat.com>
61846         timespec: long-to-int truncation could make timespec_cmp malfunction
61847         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
61848         a multiple of 2^32 nanoseconds as no difference.
61850 2009-10-28  Jim Meyering  <meyering@redhat.com>
61852         fprintftime: wrap macro code argument in "do {...} while(0)"
61853         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
61854         cpy macro must be a statement that can be followed by a semicolon.
61855         Now that the else clause contains a comment and is hence longer
61856         than one line, I require curly braces.  That in turn requires
61857         that we wrap this code block in the standard do...while(0).
61859         fprintftime: remove stray semicolon from previous change
61860         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
61862         fprintftime: avoid a warning about ignored fwrite return value
61863         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
61864         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
61865         that is unsafe.
61866         * modules/fprintftime (Depends-on): Add ignore-value.
61868         exclude: avoid an unwarranted warning
61869         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
61871 2009-10-27  Eric Blake  <ebb9@byu.net>
61873         fseek: avoid compilation failure when fflush is replaced
61874         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
61875         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
61876         module is in use.
61877         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
61878         module is not in use; since REPLACE_FSEEK worked otherwise.
61879         (GNULIB_FTELLO): Likewise for ftell.
61880         Reported by Ian Beckwith and others.
61882 2009-10-27  Bruno Haible  <bruno@clisp.org>
61884         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
61885         Reported by Jim Meyering.
61887 2009-10-27  Jim Meyering  <jim@meyering.net>
61888             Bruno Haible  <bruno@clisp.org>
61890         Avoid warning despite dropping the return value of fwrite.
61891         * lib/unicodeio.c: Include ignore-value.h.
61892         (fwrite_success_callback): Explicitly ignore fwrite's return value.
61893         * modules/unicodeio (Depends-on): Add ignore-value.
61895 2009-10-26  Eric Blake  <ebb9@byu.net>
61897         areadlinkat: fix fallback path
61898         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
61899         pointer and zero.
61901 2009-10-22  Pádraig Brady  <P@draigBrady.com>
61903         Use a better IO block size for modern systems
61904         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
61905         * lib/md2.c: Likewise.
61906         * lib/md4.c: Likewise.
61907         * lib/md5.c: Likewise.
61908         * lib/sha1.c: Likewise.
61909         * lib/sha256.c: Likewise.
61910         * lib/sha512.c: Likewise.
61912 2009-10-22  Eric Blake  <ebb9@byu.net>
61914         tests: avoid several compiler warnings
61915         * tests/test-getcwd.c (main): Avoid buffer underflow.
61916         * tests/test-getdate.c (main): String literals are not safe with
61917         putenv, so use setenv.  Declare unused argument.
61918         * modules/getdate-tests (Depends-on): Add setenv.
61919         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
61920         problems with string literals in char *.
61921         * tests/test-hash.c (main): Avoid shadowing declaration.
61922         (insert_new): Treat string literals as char const *.
61923         * tests/test-getopt.h (test_getopt): Likewise.
61924         (getopt_loop): Alter types to minimize casting elsewhere.
61925         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
61926         (test_getopt_long_posix): Likewise.
61927         (do_getopt_long): Add wrapper to minimize casting.
61928         * tests/test-atexit.c (clear_temp_file): Use void.
61929         * tests/test-areadlink-with-size.c (main): Declare unused
61930         arguments.
61931         * tests/test-areadlink.c (main): Likewise.
61932         * tests/test-areadlinkat-with-size.c (main): Likewise.
61933         * tests/test-areadlinkat.c (main): Likewise.
61934         * tests/test-canonicalize-lgpl.c (main): Likewise.
61935         * tests/test-canonicalize.c (main): Likewise.
61936         * tests/test-dirent-safer.c (main): Likewise.
61937         * tests/test-dirname.c (main): Likewise.
61938         * tests/test-dup2.c (main): Likewise.
61939         * tests/test-fchdir.c (main): Likewise.
61940         * tests/test-fcntl-h.c (main): Likewise.
61941         * tests/test-fcntl-safer.c (main): Likewise.
61942         * tests/test-fdopendir.c (main): Likewise.
61943         * tests/test-fdutimensat.c (main): Likewise.
61944         * tests/test-fflush.c (main): Likewise.
61945         * tests/test-filenamecat.c (main): Likewise.
61946         * tests/test-filevercmp.c (main): Likewise.
61947         * tests/test-fopen-safer.c (main): Likewise.
61948         * tests/test-fopen.c (main): Likewise.
61949         * tests/test-fpending.c (main): Likewise.
61950         * tests/test-fpurge.c (main): Likewise.
61951         * tests/test-freading.c (main): Likewise.
61952         * tests/test-fstatat.c (main): Likewise.
61953         * tests/test-fsync.c (main): Likewise.
61954         * tests/test-futimens.c (main): Likewise.
61955         * tests/test-getndelim2.c (main): Likewise.
61956         * tests/test-gettimeofday.c (main): Likewise.
61957         * tests/test-getopt.c (main): Likewise.
61958         * tests/test-i-ring.c (main): Likewise.
61959         * tests/test-inttypes.c (main): Likewise.
61960         * tests/test-link.c (main): Likewise.
61961         * tests/test-lstat.c (main): Likewise.
61962         * tests/test-math.c (main): Likewise.
61963         * tests/test-md5.c (main): Likewise.
61964         * tests/test-memchr2.c (main): Likewise.
61965         * tests/test-memrchr.c (main): Likewise.
61966         * tests/test-mkdir.c (main): Likewise.
61967         * tests/test-mkdirat.c (main): Likewise.
61968         * tests/test-mkfifoat.c (main): Likewise.
61969         * tests/test-open.c (main): Likewise.
61970         * tests/test-openat-safer.c (main): Likewise.
61971         * tests/test-openat.c (main): Likewise.
61972         * tests/test-quotearg.c (main): Likewise.
61973         * tests/test-rawmemchr.c (main): Likewise.
61974         * tests/test-readlink.c (main): Likewise.
61975         * tests/test-remove.c (main): Likewise.
61976         * tests/test-rename.c (main): Likewise.
61977         * tests/test-renameat.c (main): Likewise.
61978         * tests/test-rmdir.c (main): Likewise.
61979         * tests/test-sha1.c (main): Likewise.
61980         * tests/test-signal.c (main): Likewise.
61981         * tests/test-sigaction.c (main): Likewise.
61982         * tests/test-stat.c (main): Likewise.
61983         * tests/test-stat-time.c (main): Likewise.
61984         * tests/test-stddef.c (main): Likewise.
61985         * tests/test-stdint.c (main): Likewise.
61986         * tests/test-stdio.c (main): Likewise.
61987         * tests/test-stdlib.c (main): Likewise.
61988         * tests/test-strchrnul.c (main): Likewise.
61989         * tests/test-strerror.c (main): Likewise.
61990         * tests/test-string.c (main): Likewise.
61991         * tests/test-strtod.c (main): Likewise.
61992         * tests/test-strverscmp.c (main): Likewise.
61993         * tests/test-symlink.c (main): Likewise.
61994         * tests/test-symlinkat.c (main): Likewise.
61995         * tests/test-sys_stat.c (main): Likewise.
61996         * tests/test-sys_time.c (main): Likewise.
61997         * tests/test-time.c (main): Likewise.
61998         * tests/test-unistd.c (main): Likewise.
61999         * tests/test-unlink.c (main): Likewise.
62000         * tests/test-unlinkat.c (main): Likewise.
62001         * tests/test-utimens.c (main): Likewise.
62002         * tests/test-utimensat.c (main): Likewise.
62003         * tests/test-version-etc.c (main): Likewise.
62004         * tests/test-wchar.c (main): Likewise.
62005         * tests/test-wctype.c (main): Likewise.
62006         * tests/test-xprintf-posix.c (main): Likewise.
62007         * tests/test-posixtm.c (main): Likewise.
62008         (STREQ): Delete unused macro.
62009         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
62010         shadowed variables.
62011         * tests/test-memchr.c (main): Likewise.
62013 2009-10-21  Eric Blake  <ebb9@byu.net>
62015         areadlinkat: avoid failure on older glibc
62016         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
62017         rather than mis-comparing 0 against FUNC_RESULT of char*.
62019 2009-10-21  Bruno Haible  <bruno@clisp.org>
62021         * modules/stpncpy (License): Relicense under LGPLv2+.
62022         Reported by David Lutterkort <lutter@redhat.com>.
62024 2009-10-20  Eric Blake  <ebb9@byu.net>
62026         utimensat: work around Solaris 9 bug
62027         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
62028         has trailing slash bugs.
62029         * tests/test-lutimens.h (test_lutimens): Enhance test.
62030         * tests/test-utimens.h (test_utimens): Likewise.
62031         * doc/posix-functions/utime.texi (utime): Enhance documentation.
62032         * doc/posix-functions/utimes.texi (utimes): Likewise.
62033         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
62034         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
62035         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
62036         * doc/posix-functions/futimens.texi (futimens): Likewise.
62038         fdutimensat: new module
62039         * modules/fdutimensat: New file.
62040         * lib/fdutimensat.c (fdutimensat): Likewise.
62041         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
62042         * MODULES.html.sh (File system functions): Mention module.
62043         * modules/fdutimensat-tests: New test.
62044         * tests/test-fdutimensat.c: Likewise.
62046         doc: regenerate INSTALL
62047         * doc/INSTALL: Reflect recent autoconf update.
62048         * doc/INSTALL.ISO: Likewise.
62049         * doc/INSTALL.UTF-8: Likewise.
62051 2009-10-20  Pádraig Brady  <P@draigBrady.com>
62053         acl: warn if ACL support is not detected
62054         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
62056 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
62058         * lib/nproc.h: Add extern "C" block for C++.
62060 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
62061             Bruno Haible  <bruno@clisp.org>
62063         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
62064         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
62065         * doc/posix-functions/isalpha.texi: Likewise.
62066         * doc/posix-functions/isblank.texi: Likewise.
62067         * doc/posix-functions/iscntrl.texi: Likewise.
62068         * doc/posix-functions/isdigit.texi: Likewise.
62069         * doc/posix-functions/isgraph.texi: Likewise.
62070         * doc/posix-functions/islower.texi: Likewise.
62071         * doc/posix-functions/isprint.texi: Likewise.
62072         * doc/posix-functions/ispunct.texi: Likewise.
62073         * doc/posix-functions/isspace.texi: Likewise.
62074         * doc/posix-functions/isupper.texi: Likewise.
62075         * doc/posix-functions/isxdigit.texi: Likewise.
62077 2009-10-18  Bruno Haible  <bruno@clisp.org>
62079         Tests for module 'isblank'.
62080         * modules/isblank-tests: New file.
62081         * tests/test-isblank.c: New file.
62083         New module 'isblank'.
62084         * lib/isblank.c: New file.
62085         * m4/isblank.m4: New file.
62086         * modules/isblank: New file.
62087         * doc/posix-functions/isblank.texi: Mention the new module.
62089 2009-10-18  Bruno Haible  <bruno@clisp.org>
62091         New module 'ctype'.
62092         * lib/ctype.in.h: New file.
62093         * m4/ctype.m4: New file.
62094         * modules/ctype: New file.
62095         * doc/posix-headers/ctype.texi: Mention the new module.
62097 2009-10-18  Jim Meyering  <meyering@redhat.com>
62099         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
62100         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
62101         right after its initialization, rather than farther down.
62102         Keeping these in close proximity makes it easier to ensure
62103         that each such variable is initialized.  E.g.,
62105             LIB_CLOCK_GETTIME=
62106             AC_SUBST([LIB_CLOCK_GETTIME])
62108         This change also increments these serial numbers.
62109         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
62110         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
62111         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62113 2009-10-18  Bruno Haible  <bruno@clisp.org>
62115         Don't let environment variables perturb build.
62116         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
62117         (gl_PREREQ_GETHRXTIME): ... not here.
62119 2009-10-18  Bruno Haible  <bruno@clisp.org>
62121         Avoid symlink attack in localcharset module.
62122         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
62123         (O_NOFOLLOW): Define fallback.
62124         (get_charset_aliases): Don't open the file if it is a symbolic link.
62125         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
62126         gl_FCNTL_H.
62127         (gl_FCNTL_H): Require it.
62128         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
62129         * modules/localcharset (Files): Add m4/fcntl_h.m4.
62130         Reported by Fergal Glynn <fglynn@veracode.com>.
62132 2009-10-18  Bruno Haible  <bruno@clisp.org>
62134         Implement nproc for mingw.
62135         * lib/nproc.c: Include <windows.h>
62136         (num_processors): On native Windows platforms, try GetSystemInfo.
62138 2009-10-18  Bruno Haible  <bruno@clisp.org>
62140         Implement nproc for IRIX.
62141         * lib/nproc.c: Include <sys/sysmp.h>.
62142         (num_processors): On IRIX systems, try sysmp.
62143         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
62145 2009-10-18  Bruno Haible  <bruno@clisp.org>
62147         Implement nproc for HP-UX.
62148         * lib/nproc.c: Include <sys/pstat.h>
62149         (num_processors): On HP-UX systems, try pstat_getdynamic.
62150         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
62151         pstat_getdynamic.
62153 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
62154             Bruno Haible  <bruno@clisp.org>
62156         Implement nproc for NetBSD, OpenBSD.
62157         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
62158         (ARRAY_SIZE): New macro.
62159         (num_processors): On BSD systems, try sysctl of HW_NCPU.
62160         * m4/nproc.m4: New file.
62161         * modules/nproc (Files): Add m4/nproc.m4.
62162         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
62163         (Makefile.am): Instead, augment lib_SOURCES.
62165 2009-10-18  Bruno Haible  <bruno@clisp.org>
62167         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
62168         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
62169         sys/param.h.
62171 2009-10-16  Eric Blake  <ebb9@byu.net>
62173         utimensat: new module
62174         * modules/utimensat: New file.
62175         * lib/utimensat.c (utimensat): Likewise.
62176         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
62177         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
62178         so we can work around Linux bugs.
62179         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
62180         * modules/sys_stat (Makefile.am): Substitute them.
62181         * lib/sys_stat.in.h (utimensat): Declare it.
62182         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62183         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
62184         * modules/utimensat-tests: New test.
62185         * tests/test-utimensat.c: Likewise.
62187         utimens: let lutimens work on non-symlinks
62188         * lib/utimens.c (lutimens): Fall back to utimens rather than
62189         failing with ENOSYS, when file is not a symlink.
62190         (utimens): Reduce redirection.
62191         * tests/test-lutimens.h (test_lutimens): Update test to cover
62192         non-symlinks.
62193         * tests/test-utimens.h (test_utimens): Update test to cover
62194         symlinks.
62195         * tests/test-utimens.c (main): Update caller.
62197         utimens: cache whether utimensat syscall works
62198         * lib/utimens.c (utimensat_works_really): New cache variable.
62199         (fdutimens, lutimens): Use it to avoid failing syscall.
62201         test-stat-time, test-utimens: improve portability
62202         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
62203         ext4 on alpha, and for cygwin.
62204         * tests/test-utimens-common.h: New file.
62205         (nap): Factor delays into single function.
62206         * tests/test-lutimens.h (test_lutimens): Use new header.
62207         * tests/test-futimens.h (test_futimens): Likewise.
62208         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
62209         timestamps to occur from same machine, as was done previously for
62210         test_utimens.
62211         * modules/utimens-tests (Files): Ship new file.
62212         * modules/futimens-tests (Files): Likewise.
62213         Reported in part by Jim Meyering.
62215         sys_stat: sort replacement declarations
62216         * lib/sys_stat.in.h: Sort declarations.
62217         * lib/futimens.c (futimens): Fix typo.
62219 2009-10-15  Jim Meyering  <meyering@redhat.com>
62221         don't let environment settings perturb build
62222         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
62223         could cause a configure-time and/or build-time malfunction.
62224         Typically, a configure-time function-in-library test is performed
62225         via code like this:
62227           LIB_VAR=
62228           AC_SUBST([LIB_VAR])
62229           prefix_saved_LIBS=$LIBS
62230             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
62231                        [test "$ac_cv_search_FUNC" = "none required" ||
62232                         LIB_VAR=$ac_cv_search_FUNC])
62233           LIBS=$prefix_saved_LIBS
62235         However, in each of the files affected by this change, the LIB_VAR=
62236         initialization was omitted.  Thus, when set in the environment, its
62237         value would propagate into generated Makefiles when FUNC is not found
62238         in LIB_NAME.
62239         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
62240         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
62241         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62243 2009-10-14  Eric Blake  <ebb9@byu.net>
62245         fchdir: avoid infinite recursion in mingw
62246         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
62247         recursing.
62249         test-stat-time: port to mingw
62250         * tests/test-stat-time.c (force_unlink): Return a value.
62251         (test_ctime) [W32]: Fix compilation error.
62252         (nap): Don't call usleep with too large an argument.  Use
62253         force_unlink.
62254         * doc/pastposix-functions/usleep.texi (usleep): Document the
62255         portability issue.
62257 2009-10-13  Jim Meyering  <meyering@redhat.com>
62259         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
62260         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
62261         * modules/pipe-filter-ii: Likewise.
62262         * modules/sys_socket-tests: Likewise.
62263         * modules/tsearch-tests: Likewise.
62264         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
62265         (check): Depend on it.
62267 2009-10-12  Eric Blake  <ebb9@byu.net>
62269         utimens-tests: port to NFS file systems
62270         * tests/test-utimens.h (test_utimens): Refactor utimecmp
62271         comparisons to avoid spurious failures from timestamp drift
62272         between NFS machines.
62274 2009-10-12  Eric Blake  <ebb9@byu.net>
62276         stat-time-tests: minor cleanups
62277         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
62278         * tests/test-stat-time.c (nap): Separate assignment from call.
62279         Suggested by Paolo Bonzini and Bruno Haible.
62281         sys_stat: guarantee struct timespec
62282         * lib/sys_stat.in.h (includes): Always include <time.h>
62283         * modules/sys_stat (Depends-on): Add time.
62284         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
62285         mode_t permission values.
62286         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
62287         get at subsecond timestamps.
62289 2009-10-10  Eric Blake  <ebb9@byu.net>
62291         futimens: new module
62292         * modules/futimens: New file.
62293         * lib/futimens.c (futimens): Likewise.
62294         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
62295         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
62296         we can work around Linux bugs.
62297         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
62298         * modules/sys_stat (Makefile.am): Substitute them.
62299         * lib/sys_stat.in.h (futimens): Declare it.
62300         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62301         * doc/posix-functions/futimens.texi (futimens): Likewise.
62302         * modules/futimens-tests: New test.
62303         * tests/test-futimens.c: Likewise.
62305         utimens: introduce fdutimens
62306         * lib/utimens.h (fdutimens): New prototype.
62307         * lib/utimens.c (gl_futimens): Move guts...
62308         (fdutimens): ...to new interface.
62309         * tests/test-utimens.c (do_fdutimens): Use it.
62311         utimens: add UTIME_NOW and UTIME_OMIT support
62312         * lib/utimens.c (validate_timespec, update_timespec): New helper
62313         functions.
62314         (gl_futimens, lutimens): Use them.
62315         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
62316         stdbool, sys_stat.
62317         (Link): Mention resulting library dependency.
62318         * modules/utimecmp (Link): Likewise.
62319         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
62320         (Makefile.am): Pick up library dependency.
62321         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
62322         definition.
62323         * tests/test-sys_stat.c: Test the definitions.
62324         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
62325         * NEWS: Document library dependency.
62327         utimecmp: support symlink timestamps
62328         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
62329         hashing when possible.  Use pathconf when available.
62330         (SYSCALL_RESOLUTION): Recognize tighter resolution.
62331         * modules/utimecmp (Depends-on): Add lstat.
62333         utimens: add lutimens interface
62334         * lib/utimens.c (lutimens): New function.
62335         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
62336         * lib/utimens.h (lutimens): Declare new interface.
62337         * tests/test-utimens.c (main): Enhance test.
62338         * tests/test-lutimens.h (test_lutimens): New file.
62339         * modules/utimens-tests (Files): Distribute it.
62340         (Depends-on): Add symlink.
62341         (configure.ac): Check for usleep.
62343         utimens: validate futimens usage
62344         * lib/utimens.c (gl_futimens): Require valid fd up front, using
62345         fewer syscalls on failure later on.  Avoid compiler warning on
62346         mingw.
62347         * modules/utimens (Depends-on): Add dup2.
62349         utimens: add test
62350         * modules/utimens-tests: New test.
62351         * tests/test-utimens.h: New file.
62352         * tests/test-futimens.h: Likewise.
62353         * tests/test-utimens.c: Likewise.
62355         doc: mention timestamp portability issues
62356         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
62357         instead.
62358         * doc/posix-functions/utime.texi (utime): Likewise.
62359         * doc/posix-functions/utimes.texi (utimes): Likewise.
62360         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
62361         instead.
62362         * doc/posix-functions/futimens.texi (futimens): Mention utimens
62363         module.
62364         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
62365         Mention weakness with symlink timestamps.
62366         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
62367         to utimensat/futimens instead.
62368         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
62370         test-dup2: enhance test
62371         * tests/test-dup2.c (main): Also check AT_FDCWD.
62373         test-stat-time: avoid more spurious failures
62374         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
62375         xfs; and avoid race if the two timestamps cross quantization edge.
62377         relocatable: prefer 'file system' over 'filesystem'
62378         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
62379         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
62380         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
62381         * doc/relocatable.texi (Enabling Relocatability): Likewise.
62382         * lib/relocatable.c (compute_curr_prefix): Likewise.
62384 2009-10-10  Jim Meyering  <meyering@redhat.com>
62386         stat-time-tests: check for the usleep function
62387         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
62389 2009-10-10  Bruno Haible  <bruno@clisp.org>
62391         * modules/xnanosleep: Put the Link section after the Include section.
62393 2009-10-09  Eric Blake  <ebb9@byu.net>
62395         dup2: work around FreeBSD 6.1 bug
62396         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
62397         * doc/posix-functions/dup2.texi (dup2): Document it.
62398         Reported by Nelson H. F. Beebe and Jim Meyering.
62400         test-stat-time: port to buggy NFS clients
62401         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
62402         (test_ctime): Also skip test if mtime and ctime are skewed.
62404         maint: prefer 'file system' over 'filesystem'
62405         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
62406         * doc/posix-functions/lstat.texi (lstat): Likewise.
62407         * lib/file-has-acl.c (file_has_acl): Likewise.
62408         * lib/fwriteerror.c [TEST]: Likewise.
62409         * tests/test-areadlink.h (test_areadlink): Likewise.
62410         * tests/test-areadlinkat-with-size.c (main): Likewise.
62411         * tests/test-areadlinkat.c (main): Likewise.
62412         * tests/test-canonicalize-lgpl.c (main): Likewise.
62413         * tests/test-canonicalize.c (main): Likewise.
62414         * tests/test-fstatat.c (main): Likewise.
62415         * tests/test-linkat.c (main): Likewise.
62416         * tests/test-lstat.h (test_lstat_func): Likewise.
62417         * tests/test-mkdir.h (test_mkdir): Likewise.
62418         * tests/test-readlink.h (test_readlink): Likewise.
62419         * tests/test-remove.c (main): Likewise.
62420         * tests/test-rename.h (test_rename): Likewise.
62421         * tests/test-renameat.c (main): Likewise.
62422         * tests/test-rmdir.h (test_rmdir_func): Likewise.
62423         * tests/test-symlink.h (test_symlink): Likewise.
62424         * tests/test-symlinkat.c (main): Likewise.
62425         * tests/test-unlink.h (test_unlink_func): Likewise.
62426         * tests/test-unlinkat.c (main): Likewise.
62428         maint: make realtime library usage explicit
62429         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
62430         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
62431         * modules/settime (Link): Likewise.
62432         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
62434         test-stat-time: speed up execution
62435         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
62436         warning on mingw.
62437         (nap): New helper function.
62438         (prepare_test): Use it to reduce sleep time.
62439         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
62440         execution.
62441         * modules/stat-time-tests (configure.ac): Check for usleep.
62443 2009-10-09  Jim Meyering  <meyering@redhat.com>
62445         selinux-h: always use getfilecon wrappers
62446         * lib/getfilecon.c: New file.
62447         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
62448         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
62449         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
62450         (fgetfilecon): Provide a stub.
62451         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
62452         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
62453         file unconditionally.
62454         When <selinux/selinux.h> is found, arrange to use wrappers.
62455         * modules/selinux-h (Files): Add getfilecon.c.
62456         (Makefile.am): Substitute include-next-related bits
62457         into the now-always-generated selinux/selinux.h file.
62458         * doc/glibc-functions/lgetfilecon.texi: New file.
62459         * doc/glibc-functions/fgetfilecon.texi: New file.
62460         * doc/glibc-functions/getfilecon.texi: New file.
62461         * doc/glibc-functions/getfilecon-desc.texi: New file.
62462         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
62463         which to pull in the new files.
62464         * MODULES.html.sh (Misc): Add selinux-h.
62466 2009-10-08  Jim Meyering  <meyering@redhat.com>
62468         unistd: fix comment typo
62469         * lib/unistd.in.h (euidaccess): Fix a comment typo.
62471 2009-10-08  Eric Blake  <ebb9@byu.net>
62473         areadlink: use SIZE_MAX consistently
62474         * modules/areadlink (Depends-on): Add stdint.
62475         * modules/areadlink-with-size (Depends-on): Likewise.
62476         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
62477         gives NULL; drop sys/types, since unistd gives size_t; and add
62478         stdint for SIZE_MAX.
62479         (SIZE_MAX): Rely on headers.
62480         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
62481         and add stdint.
62482         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
62483         (SIZE_MAX): Likewise.
62484         (INITIAL_BUF_SIZE): Turn into enum.
62485         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
62487 2009-10-08  Jim Meyering  <meyering@redhat.com>
62489         areadlinkat: avoid compilation failure
62490         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
62491         Fix typo in comment.
62493 2009-10-07  Eric Blake  <ebb9@byu.net>
62495         areadlinkat-with-size: new module
62496         * modules/areadlinkat-with-size: New module.
62497         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
62498         * lib/areadlink.h (areadlinkat): Declare it.
62499         * MODULES.html.sh (File system functions): Mention it.
62500         * modules/areadlinkat-with-size-tests: New test.
62501         * tests/test-areadlinkat-with-size.c: New file.
62503         xreadlinkat: new module
62504         * modules/xreadlinkat: New module.
62505         * lib/xreadlinkat.c (xreadlinkat): New file.
62506         * lib/xreadlink.h (xreadlinkat): Declare it.
62507         * MODULES.html.sh (File system functions): Mention it.
62509         areadlinkat: new module
62510         * lib/at-func.c (FUNC_FAIL): New define.
62511         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
62512         * modules/areadlinkat: New module.
62513         * lib/linkat.c (areadlinkat): Move...
62514         * lib/areadlinkat.c (areadlinkat): ...to new file.
62515         * lib/areadlink.h (areadlinkat): Declare it.
62516         * modules/linkat (Depends-on): Add areadlinkat.
62517         * MODULES.html.sh (File system functions): Mention it.
62518         * modules/areadlinkat-tests: New test.
62519         * tests/test-areadlinkat.c: New file.
62521         areadlink, areadlink-with-size: add tests
62522         * modules/areadlink-tests: New test.
62523         * modules/areadlink-with-size-tests: Likewise.
62524         * tests/test-areadlink.h: New file.
62525         * tests/test-areadlink.c: Likewise.
62526         * tests/test-areadlink-with-size.c: Likewise.
62528         maint: minor cleanups
62529         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
62530         _UNUSED_PARAMETER_ instead.
62531         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
62532         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
62533         * modules/linkat-tests (Files): Distribute test-link.h.
62535         openat, utimens: whitespace cleanup
62536         * lib/openat.c: Prefer space throughout, rather than mix of 8
62537         spaces vs. tabs.
62538         * lib/at-func.c: Likewise.
62539         * lib/utimens.c: Likewise.
62541         openat: avoid using wrong fd
62542         * lib/openat.c (openat_permissive): Reject user's fd if saving the
62543         working directory chooses same fd.
62544         * lib/at-func.c (AT_FUNC_NAME): Likewise.
62546         mkdir, mkdirat: fix cygwin 1.5.x bug
62547         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
62548         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
62549         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
62550         bug.
62551         (gl_PREREQ_MKDIR): Delete unused macro.
62552         * modules/mkdir (Files): Track file rename.
62553         (configure.ac): Update macro name.
62554         * modules/openat (Depends-on): Add mkdir.
62555         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
62557         mkdir, mkdirat: add tests
62558         * modules/mkdir-tests: New test.
62559         * tests/test-mkdir.h: New file.
62560         * tests/test-mkdir.c: Likewise.
62561         * tests/test-mkdirat.c: Likewise.
62562         * modules/openat-tests (Files): Add new files.
62563         (Makefile.am): Run new test.
62565 2009-10-06  Eric Blake  <ebb9@byu.net>
62567         doc: tweak *at function documentation
62568         * doc/posix-functions/faccessat.texi (faccessat): Mention
62569         known issue with replacement.
62570         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
62571         * doc/posix-functions/linkat.texi (linkat): Likewise.
62572         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
62573         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
62574         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
62575         * doc/posix-functions/renameat.texi (renameat): Likewise.
62576         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
62578         openat: fix GNU/Hurd bug in unlinkat
62579         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
62580         broken.
62581         * doc/posix-functions/unlink.texi (unlink): Document this.
62582         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
62584         fdopendir: fix GNU/Hurd bug
62585         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
62586         allowing non-directory fds.
62587         * lib/fdopendir.c (rpl_fdopendir): Work around it.
62588         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
62589         * modules/dirent (Makefile.am): Substitute it.
62590         * lib/dirent.in.h (fdopendir): Declare replacement.
62591         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
62592         * tests/test-fdopendir.c (main): Test something other than
62593         /dev/null, since on Hurd that behaves like a directory.
62595         test-symlink: port to GNU/Hurd
62596         * tests/test-symlink.h (test_symlink): Relax expected errno.
62598         doc: tweak more cygwin information
62599         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
62600         now compatible with glibc.
62601         * doc/posix-functions/getopt.texi (getopt): Likewise.
62603         getopt-gnu: add another test
62604         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
62605         guarantee behavior relied on by m4.
62606         * tests/test-getopt.c (main): Use it.
62607         * modules/getopt-posix-tests (Depends-on): Add setenv.
62608         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
62610         getopt: fix compilation on darwin
62611         * lib/getopt.in.h (includes): Leave breadcrumbs during system
62612         include.
62613         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
62614         Reported by Ludovic Courtès.
62616 2009-10-06  Bruno Haible  <bruno@clisp.org>
62618         * modules/size_max (Description): Discourage its use.
62619         Reported by Simon Josefsson.
62621 2009-10-06  Jim Meyering  <meyering@redhat.com>
62623         linkat: avoid compilation failure
62624         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
62626 2009-10-05  Eric Blake  <ebb9@byu.net>
62628         linkat: support Linux 2.6.17
62629         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
62630         linkat on Linux, but allow cache variable override.
62631         * lib/linkat.c (rpl_linkat): Define override.
62632         * modules/linkat (Depends-on): Add symlinkat.
62633         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
62634         * modules/unistd (Makefile.am): Substitute it.
62635         * lib/unistd.in.h (linkat): Declare replacement.
62636         Reported by Pádraig Brady.
62638         quotearg: port test to systems with C.UTF-8 locale
62639         * tests/test-quotearg.c (struct result_strings): Add another
62640         member, differentiating between C.ASCII and C.UTF-8 handling.
62641         (compare_strings): Add parameter.
62642         (main): Adjust all callers.
62644         getopt: avoid clash with FreeBSD _getopt_internal
62645         * lib/getopt.in.h (_getopt_internal): Override the name.
62646         * lib/getopt_int.h (includes): Pick up any overrides.
62647         Reported by Reuben Thomas.
62649         hash: allow C89 compilation
62650         * lib/hash.c (check_tuning): Move declaration before statement.
62651         Reported by Reuben Thomas.
62653 2009-10-05  Karl Berry  <karl@gnu.org>
62655         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
62657 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
62658             Bruno Haible  <bruno@clisp.org>
62660         * lib/uname.c (uname): Use a table-driven algorithm to compute
62661         Windows NT versions.
62663 2009-10-04  Bruno Haible  <bruno@clisp.org>
62665         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
62666         program_invocation_short_name.
62667         * modules/progname (configure.ac): Test for presence of
62668         program_invocation_short_name.
62669         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
62671 2009-10-04  Bruno Haible  <bruno@clisp.org>
62673         * lib/progname.c (set_program_name): Fix comment.
62674         Reported by Jim Meyering.
62676 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
62677             Bruno Haible  <bruno@clisp.org>
62679         * lib/uname.c: Include <string.h>.
62680         (uname): Do only one call to GetVersionEx in the common case.
62682 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
62683             Bruno Haible  <bruno@clisp.org>
62685         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
62686         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
62687         (uname): Add support for Windows CE and various non-x86 CPU types.
62689 2009-10-03  Bruno Haible  <bruno@clisp.org>
62691         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
62692         invocation to tests/configure.ac.
62693         Reported by Ian Beckwith <ianb@erislabs.net>.
62695 2009-10-02  Eric Blake  <ebb9@byu.net>
62697         fchdir: avoid compiler warning
62698         * lib/fchdir.c (canonicalize_file_name)
62699         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
62701         test-open: support mingw errno values
62702         * tests/test-open.h (test_open): Relax test.
62703         * tests/test-fopen.h (test_fopen): Likewise.
62704         * tests/test-openat-safer.c (main): Likewise.
62706         open: fix opening directory on mingw
62707         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
62709         test-open: on GNU/Hurd, /dev/null is a directory
62710         * tests/test-fopen.h (main): Rename...
62711         (test_fopen): ...to this.  Use a guaranteed non-directory when
62712         confirming open behavior on trailing slash.
62713         * tests/test-openat-safer.c (main): Likewise.
62714         * tests/test-open.h (main): Likewise....
62715         (test_open): ...to this.
62716         * tests/test-fopen.c (main): Adjust caller.
62717         * tests/test-fopen-safer.c (main): Likewise.
62718         * tests/test-open.c (main): Likewise.
62719         * tests/test-fcntl-safer.c (main): Likewise.
62720         Reported by Samuel Thibault.
62722         rename, fchdir: don't ignore chdir failure
62723         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
62724         * lib/rename.c (rpl_rename) [W32]: Likewise.
62725         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
62726         an empty destination directory if source cannot be renamed,
62727         although there is still possibility for failure.
62728         * doc/posix-functions/rename.texi (rename): Document the race.
62729         Reported by Jim Meyering.
62731         maint: cleanup whitespace in recent commits
62732         * lib/rename.c (rpl_rename): Remove tabs.
62733         * tests/test-link.h (test_link): Likewise.
62734         * lib/fchdir.c (get_name): Likewise.
62735         Reported by Jim Meyering.
62737 2009-10-02  Ben Pfaff  <blp@gnu.org>
62739         relocatable-prog-wrapper: Add missing dependency on
62740         double-slash-root.
62741         * modules/relocatable-prog-wrapper: Add dependency.
62742         Reported by Ian Beckwith <ianb@erislabs.net>.
62744 2009-10-02  Eric Blake  <ebb9@byu.net>
62746         renameat: fix Solaris bugs
62747         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
62748         needed fixing.
62749         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
62750         * modules/stdio (Makefile.am): Substitute it.
62751         * lib/stdio.in.h (renameat): Declare replacement.
62752         * lib/renameat.c (rpl_renameat): Implement fix.
62754         renameat: new module
62755         * modules/renameat: New file.
62756         * lib/renameat.c (renameat): Likewise.
62757         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
62758         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
62759         * modules/stdio (Makefile.am): Substitute them.
62760         * lib/stdio.in.h (renameat): Declare it.
62761         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62762         * doc/posix-functions/renameat.texi (renameat): Likewise.
62763         * modules/renameat-tests: New test.
62764         * tests/test-renameat.c: Likewise.
62766         rename: fix mingw bugs
62767         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
62768         directory overwrite bugs.
62770         rename: fix another cygwin 1.5 bug
62771         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
62772         checks.
62773         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
62774         unnecessary cygwin workarounds.  Also work around bug with moving
62775         full directory onto an empty one.
62776         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
62778         rename-dest-slash: merge into rename module
62779         * modules/rename-dest-slash (Status): Mark obsolete.
62780         (Depends-on): Add rename.
62781         (Files): Let rename do it all.
62782         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
62783         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
62784         * m4/rename-dest-slash.m4: ...so this file can be deleted.
62785         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
62786         * lib/rename.c (rpl_rename): Update comments.
62788         rename: fix cygwin 1.5.x bugs
62789         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
62790         * lib/rename.c (rpl_rename): Work around them.
62791         * modules/rename (Depends-on): Add same-inode.
62793         rename: fix Solaris 10 bug
62794         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
62795         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
62796         was the only bug.
62798         rename: fix Solaris 9 bug
62799         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
62800         on non-directory.  Avoid calling exit.
62801         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
62802         strdup.
62803         * modules/rename-tests (Depends-on): Drop lstat.
62804         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
62805         (gl_PREREQ_RENAME): Delete unused macro.
62807         rename-dest-slash: fix NetBSD bug
62808         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
62809         links.
62810         * modules/rename-dest-slash (Depends-on): Add same-inode.
62812         rename-tests: new test, exposes several platform bugs
62813         * modules/rename-tests: New file.
62814         * tests/test-rename.h: Likewise.
62815         * tests/test-rename.c: Likewise.
62816         * doc/posix-functions/rename.texi (rename): Improve documentation,
62817         including bugs that will eventually be fixed in gnulib.
62819 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
62821         * lib/uname.c: Include <stdlib.h>
62822         (uname): Assume version info is available.
62824 2009-10-02  Jim Meyering  <meyering@redhat.com>
62826         gnu-web-doc-update: correct --help output
62827         * build-aux/gnu-web-doc-update: Make --help output relevant.
62829         gnu-web-doc-update: add standard options
62830         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
62832         gnu-web-doc-update: New module.
62833         Use this script to automatically update the on-line web documentation
62834         for your GNU project at http://www.gnu.org/software/$pkg/manual/
62835         * modules/gnu-web-doc-update: New file, from coreutils.
62836         * build-aux/gnu-web-doc-update: New script.
62838 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
62840         link: LoadLibrary is not needed.
62841         * lib/link.c: Use GetModuleHandle.
62843 2009-10-01  Eric Blake  <ebb9@byu.net>
62845         getopt: bump serial number
62846         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
62847         change.
62849         tests: tighten link, rmdir, and remove tests
62850         * tests/test-link.h (includes): No need to use <config.h> here.
62851         Clean up if directory hard link was created, otherwise test for
62852         trailing '.'.
62853         * tests/test-linkat.c (main): Simplify.
62854         * tests/test-remove.c (main): Enhance test for trailing '.'.
62855         * tests/test-rmdir.h (test_rmdir_func): Likewise.
62857 2009-10-01  Jim Meyering  <meyering@redhat.com>
62859         maint.mk: requiring "make major" was annoying, for a "minor" release.
62860         What is intended is "stable", to contrast with alpha and beta,
62861         so require "make stable", not "make major".
62862         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
62863         (get_tool_versions): Likewise.
62864         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
62866 2009-09-30  Ben Pfaff  <blp@gnu.org>
62868         Fix broken build of replacement for Windows tmpfile().
62869         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
62870         flags argument added along with the 'mkostemp' module.
62872 2009-09-28  Bruno Haible  <bruno@clisp.org>
62874         Avoid identifier clash with POSIX function 'remove' defined as a macro.
62875         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
62876         to 'remove_elt'.
62877         (gl_list_remove): Update.
62878         * lib/gl_list.c (gl_list_remove): Update.
62879         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
62880         to 'remove_elt'.
62881         (gl_oset_remove): Update.
62882         * lib/gl_list.c (gl_oset_remove): Update.
62883         Reported by Eric Blake.
62885 2009-09-28  Eric Blake  <ebb9@byu.net>
62887         doc: mention yet more cygwin 1.7 status
62888         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
62889         cygwin.
62890         * doc/glibc-functions/execvpe.texi (execvpe): New file.
62891         * doc/gnulib.texi (Glibc unistd.h): Mention it.
62893         argp: fix test failure
62894         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
62895         that are not upper-case.  Pass correct range to tolower.
62897 2009-09-27  Jim Meyering  <meyering@redhat.com>
62899         test-yesno: work around sparc-dash here-document infelicity
62900         Without this change, the literal \177 byte in a here document
62901         would make dash 0.5.5.1-3 access uninitialized memory.
62902         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
62903         Instead, use a marker, "@", and filter through tr to create the desired
62904         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
62906 2009-09-27  Bruno Haible  <bruno@clisp.org>
62908         Disable untested support for new flavours of ACLs on AIX.
62909         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
62910         progress.
62911         * lib/set-mode-acl.c (qset_acl): Likewise.
62913 2008-12-07  Bruno Haible  <bruno@clisp.org>
62915         Add support for new flavours of ACLs on AIX. (Untested.)
62916         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
62917         (file_has_acl): Add support for newer AIX.
62918         * lib/set-mode-acl.c (qset_acl): Likewise.
62919         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
62920         Rainer Tammer <tammer@tammer.net>.
62922 2009-09-26  Eric Blake  <ebb9@byu.net>
62924         argp: fix compilation of getopt
62925         * lib/getopt.in.h (includes): Use different guard than glibc.
62926         Reported by Sergey Poznyakoff.
62928         doc: mention more cygwin 1.7 status
62929         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
62930         bug.
62931         * doc/posix-functions/execl.texi (execl): Likewise.
62932         * doc/posix-functions/execle.texi (execle): Likewise.
62933         * doc/posix-functions/execlp.texi (execlp): Likewise.
62934         * doc/posix-functions/execv.texi (execv): Likewise.
62935         * doc/posix-functions/execve.texi (execve): Likewise.
62936         * doc/posix-functions/execvp.texi (execvp): Likewise.
62937         * doc/glibc-functions/canonicalize_file_name.texi
62938         (canonicalize_file_name): Cygwin 1.7 now provides this.
62939         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
62940         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
62941         on AT_SYMLINK_NOFOLLOW.
62943 2009-09-24  Eric Blake  <ebb9@byu.net>
62945         test-linkat: make test more robust
62946         * tests/test-linkat.c (main): Avoid collision with EEXIST.
62948         getopt: fix inclusion guards for cygwin
62949         * modules/getopt-posix (Depends-on): Add include-next.
62950         (Makefile.am): Substitute more items in replacement header.
62951         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
62952         <getopt.h>.
62953         * lib/getopt.in.h (includes): Use split inclusion guard, and
62954         prefer <getopt.h> over include <unistd.h> when one is present.
62955         (option): Also override name of 'struct option'.
62957         same-inode: revert prior change; it is not yet ready
62958         * NEWS: Undo mention of this change.
62959         * lib/same-inode.h (same-inode.h): Undo tri-state change.
62960         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
62961         * lib/cycle-check.c (cycle_check): Likewise.
62962         * lib/same.c (same_name): Likewise.
62963         * lib/at-func2.c (at_func2): Likewise.
62965 2009-09-23  Eric Blake  <ebb9@byu.net>
62967         linkat: new module
62968         * modules/linkat: New file.
62969         * lib/at-func2.c (at_func2): Likewise.
62970         * lib/linkat.c (linkat): Likewise.
62971         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
62972         * lib/openat-priv.h (at_func2): Add declaration.
62973         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
62974         * modules/unistd (Makefile.am): Substitute them.
62975         * lib/unistd.in.h (linkat): Declare it.
62976         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62977         * doc/posix-functions/linkat.texi (linkat): Likewise.
62978         * doc/posix-functions/link.texi (link): Tweak wording.
62979         * tests/test-link.c (main): Move guts...
62980         * tests/test-link.h (test_link): ...into new file.
62981         * modules/linkat-tests: New test.
62982         * tests/test-linkat.c: Likewise.
62983         * modules/link-tests (Files): Ship new file.
62984         (Depends-on): Add stdbool.
62986         dirname: add library-safe mdir_name
62987         * lib/dirname.h (mdir_name): New prototype.
62988         * lib/dirname.c (dir_name): Move guts...
62989         (mdir_name): ...to new function that avoids xalloc_die.
62991         fchdir: another mingw fix
62992         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
62993         * lib/fchdir.c (get_name): New helper method; skips canonicalize
62994         on mingw (where it has not yet been ported), and make it optional
62995         elsewhere.
62996         (_gl_register_fd): Use it.
62998         same-inode: make SAME_INODE tri-state, to port to mingw
62999         * NEWS: Mention this change.
63000         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
63001         st_ino always being 0.
63002         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
63003         * lib/cycle-check.c (cycle_check): Likewise.
63004         * lib/same.c (same_name): Likewise.
63006         lstat: avoid mingw compilation error
63007         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
63008         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
63009         lstat ourselves.
63010         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
63011         was adequate.
63012         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
63013         the checks for lstat.
63014         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
63016         link: fix test failure on Solaris 9
63017         * lib/link.c (rpl_link): Don't assume link will catch bogus
63018         trailing slash on source.
63020         test-symlinkat: enhance test
63021         * tests/test-readlink.c (main): Move guts...
63022         * tests/test-readlink.h (test_readlink): ...into new file.
63023         * tests/test-symlink.c (main): Move guts...
63024         * tests/test-symlink.h (test_symlink): ...into new file.
63025         * tests/test-symlinkat.c (main): Use new files for further
63026         coverage.
63027         (do_symlink, do_readlink): New helper functions.
63028         * modules/symlink-tests (Files): Ship new file.
63029         (Depends-on): Add stdbool.
63030         * modules/readlink-tests (Files): Ship new file.
63031         (Depends-on): Add stdbool.
63032         * modules/symlinkat-tests (Files): Use new files.
63034 2009-09-23  Eric Blake  <ebb9@byu.net>
63036         readlink: document portability issue with symlink length
63037         * doc/posix-functions/lstat.texi (lstat): Mention that some file
63038         systems have bogus st_size on symlinks, and mention the
63039         areadlink-with-size module.
63040         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
63041         * doc/posix-functions/readlink.texi (readlink): Mention the
63042         areadlink module, and ERANGE failure.
63043         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
63044         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
63046         readlink: fix Solaris 9 bug with trailing slash
63047         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
63048         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
63049         * doc/posix-functions/readlink.texi (readlink): Document this.
63050         * modules/readlink-tests: New test.
63051         * tests/test-readlink.c: Likewise.
63053         readlink: fix cygwin 1.5.x bug with return type
63054         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
63055         * lib/unistd.in.h (readlink): Use ssize_t.
63056         * lib/readlink.c (readlink): Likewise.
63057         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
63058         * modules/unistd (Makefile.am): Substitute it.
63059         * lib/unistd.in.h (readlink): Declare replacement.
63060         * doc/posix-functions/readlink.texi (readlink): Document this.
63062         symlink: use throughout gnulib
63063         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
63064         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
63065         symlink is not used.
63066         * modules/symlinkat (Depends-on): Add symlink.
63067         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
63068         * modules/canonicalize-tests (Depends-on): Likewise.
63069         * modules/lstat-tests (Depends-on): Likewise.
63070         * modules/openat-tests (Depends-on): Likewise.
63071         * modules/remove-tests (Depends-on): Likewise.
63072         * modules/rmdir-tests (Depends-on): Likewise.
63073         * modules/unlink-tests (Depends-on): Likewise.
63074         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
63075         * tests/test-canonicalize.c (symlink): Likewise.
63076         * tests/test-fstatat.c (symlink): Likewise.
63077         * tests/test-lstat.c (symlink): Likewise.
63078         * tests/test-remove.c (symlink): Likewise.
63079         * tests/test-rmdir.c (symlink): Likewise.
63080         * tests/test-unlink.c (symlink): Likewise.
63081         * tests/test-unlinkat.c (symlink): Likewise.
63083         symlink: new module, for Solaris 9 bug
63084         * modules/symlink: New file.
63085         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
63086         * lib/symlink.c: Likewise.
63087         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
63088         * modules/unistd (Makefile.am): Substitute them.
63089         * lib/unistd.in.h (symlink): Declare replacement.
63090         * MODULES.html.sh (File system functions): Mention it.
63091         * doc/posix-functions/symlink.texi (symlink): Likewise.
63092         * modules/symlink-tests: New test.
63093         * tests/test-symlink.c: Likewise.
63095 2009-09-23  Bruno Haible  <bruno@clisp.org>
63097         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
63098         when needed.
63099         Test case: gnulib-tool --import --with-tests atexit inttypes.
63100         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
63102 2009-09-23  Bruno Haible  <bruno@clisp.org>
63104         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
63105         subcommand, not in a subshell.
63107 2009-09-22  Eric Blake  <ebb9@byu.net>
63109         unistd: sort replacement declarations
63110         * lib/unistd.in.h: Sort declarations.
63112         open, openat: minor optimization
63113         * lib/open.c (open): If open succeeded, len is non-zero.
63114         * lib/openat.c (rpl_openat): Likewise.
63116         link-follow: ensure correct result
63117         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
63118         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
63119         distinguish between possible failures.
63121 2009-09-21  Eric Blake  <ebb9@byu.net>
63123         fts: avoid compiler warning
63124         * lib/fts.c (dirent_inode_sort_may_be_useful)
63125         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
63127 2009-09-19  Bruno Haible  <bruno@clisp.org>
63129         * lib/progreloc.c (canonicalize_file_name): New declaration.
63131 2009-09-19  Eric Blake  <ebb9@byu.net>
63133         link: fix quoting
63134         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
63136         openat: fix openat bugs on Solaris 9
63137         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
63138         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
63139         * modules/openat (Depends-on): Add open.
63140         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
63141         * modules/fcntl-h (Makefile.am): Substitute it.
63142         * lib/fcntl.in.h (openat): Declare replacement.
63143         * doc/posix-functions/openat.texi (openat): Document this.
63145         openat: move fstatat and unlinkat into correct files
63146         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
63147         compiled.
63148         * lib/openat.c (fstatat, unlinkat): Move...
63149         * lib/fstatat.c (fstatat): ...into correct files.
63150         * lib/unlinkat.c (unlinkat): Likewise.
63152         openat: fix unlinkat bugs on Solaris 9
63153         * lib/unlinkat.c (unlinkat): New file.
63154         * modules/openat (Depends-on): Add unlink.
63155         (Files): Distribute it.
63156         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
63157         trailing slash behavior is broken.
63158         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
63159         * modules/unistd (Makefile.am): Substitute it.
63160         * lib/unistd.in.h (unlinkat): Declare replacement.
63161         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
63163         openat: fix fstatat bugs on Solaris 9
63164         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
63165         stat.
63166         * doc/posix-functions/fstatat.texi (fstatat): Document this.
63168         test-unlinkat: enhance test, to expose Solaris 9 bug
63169         * tests/test-unlink.c (main): Factor guts...
63170         * tests/test-unlink.h (test_rmdir_func): ...into new file.
63171         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
63172         * tests/test-rmdir.c (main): Adjust caller.
63173         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
63174         (unlinker): New helper function.
63175         (rmdirat): Enhance check.
63176         * modules/rmdir-tests (Depends-on): Add stdbool.
63177         * modules/unlink-tests (Depends-on): Likewise.
63178         (Files): Add test-unlink.h.
63179         * modules/openat-tests (Files): Likewise.
63180         (Depends-on): Add unlinkdir.
63182         test-fstatat: new test, to expose Solaris 9 bugs
63183         * tests/test-stat.c (main): Factor guts...
63184         * tests/test-stat.h (test_stat_func): ...into new file.
63185         * tests/test-lstat.c (main): Factor guts...
63186         * tests/test-lstat.h (test_lstat_func): ...into new file.
63187         * tests/test-fstatat.c: New file.
63188         * modules/stat-tests (Files): Add test-stat.h.
63189         * modules/lstat-tests (Files): Add test-lstat.h.
63190         (Depends-on): Add stdbool.
63191         * modules/openat-tests (Depends-on): Add pathmax.
63192         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
63193         (Makefile.am): Run new test.
63195         remove: new module, for mingw and Solaris 9 bugs
63196         * modules/remove: New file.
63197         * lib/remove.c: Likewise.
63198         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
63199         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
63200         * modules/stdio (Makefile.am): Use them.
63201         * lib/stdio.in.h (remove): Declare replacement.
63202         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63203         * doc/posix-functions/remove.texi (remove): Likewise.
63204         * modules/remove-tests: New test.
63205         * tests/test-remove.c: Likewise.
63207         unlink: new module, for Solaris 9 bug
63208         * modules/unlink: New file.
63209         * lib/unlink.c: Likewise.
63210         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
63211         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
63212         * modules/unistd (Makefile.am): Use them.
63213         * lib/unistd.in.h (stat): Declare replacement.
63214         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63215         * doc/posix-functions/unlink.texi (unlink): Likewise.
63216         * modules/unlink-tests: New test.
63217         * tests/test-unlink.c: Likewise.
63219         lstat: fix Solaris 9 bug
63220         * lib/lstat.c (lstat): Also check for trailing slash on
63221         non-symlink, non-directories.  Use stat module to simplify logic.
63222         * doc/posix-functions/lstat.texi (lstat): Document it.
63223         * modules/lstat-tests (Depends-on): Add errno, same-inode.
63224         (configure.ac): Check for symlink.
63225         * tests/test-lstat.c (main): Add more tests.
63227         stat: add as dependency to other modules
63228         * modules/chown (Depends-on): Add stat.
63229         * modules/euidaccess (Depends-on): Likewise.
63230         * modules/fchdir (Depends-on): Likewise.
63231         * modules/isdir (Depends-on): Likewise.
63232         * modules/link (Depends-on): Likewise.
63233         * modules/lstat (Depends-on): Likewise.
63234         * modules/mkdir-p (Depends-on): Likewise.
63235         * modules/modechange (Depends-on): Likewise.
63236         * modules/open (Depends-on): Likewise.
63237         * modules/readlink (Depends-on): Likewise.
63238         * modules/same (Depends-on): Likewise.
63240         stat: fix Solaris 9 bug
63241         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
63242         slash.
63243         * lib/stat.c (rpl_stat): Work around it.
63244         * doc/posix-functions/stat.texi (stat): Update documentation.
63246         stat: new module, for mingw bug
63247         * modules/stat: New file.
63248         * lib/stat.c: Likewise.
63249         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
63250         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
63251         * modules/sys_stat (Makefile.am): Use them.
63252         * lib/sys_stat.in.h (stat): Declare replacement.
63253         * lib/openat.c (fstatat): Deal with lstat and stat being function
63254         macros.
63255         * modules/openat (Depends-on): Add inline.
63256         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63257         * doc/posix-functions/stat.texi (stat): Likewise.
63258         * modules/stat-tests: New test.
63259         * tests/test-stat.c: Likewise.
63261 2009-09-19  Jim Meyering  <meyering@redhat.com>
63263         syntax-check: detect unnecessary inclusion of canonicalize.h
63264         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
63266 2009-09-19  Eric Blake  <ebb9@byu.net>
63268         canonicalize-lgpl: adjust clients to use correct header
63269         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
63270         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
63271         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
63272         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
63273         * lib/progreloc.c (includes): Likewise.
63275 2009-09-19  Jim Meyering  <meyering@redhat.com>
63277         test-posixtm.c: correct a comment
63278         * tests/test-posixtm.c: Correct first-line comment.
63279         Spotted by Eric Blake.
63281 2009-09-16  Jim Meyering  <meyering@redhat.com>
63283         posixtm-tests: make T const-correct; add a test case
63284         * tests/test-posixtm.c (T): Declare const.
63285         Add a test for -(2^31+1).
63286         Remove useless can-succeed-only-in-2002 test.
63288         posixtm-tests: adjust the sole failing test
63289         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
63290         expected output matches what mktime now produces.  Cross-checked via
63291         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
63293         posixtm: move #ifdef'd tests into a new module
63294         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
63295         * tests/test-posixtm.c: ... this new file.
63296         * modules/posixtm-tests: New module.
63298 2009-09-19  Eric Blake  <ebb9@byu.net>
63300         openat: simplify use of at-func.c
63301         * lib/at-func.c (includes): Include prerequisites here, to
63302         simplify requirements on client files.
63303         * lib/openat-priv.h: Add double-inclusion guard.
63304         * lib/faccessat.c (includes): Simplify.
63305         * lib/fchmodat.c (includes): Likewise.
63306         * lib/fchownat.c (includes): Likewise.
63307         * lib/mkdirat.c (includes): Likewise.
63308         * lib/mkfifoat.c (includes): Likewise.
63309         * lib/symlinkat.c (includes): Likewise.
63311         openat: allow return of fd 0
63312         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
63313         * modules/save-cwd (Depends-on): Replace fcntl-safer with
63314         unistd-safer.
63315         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
63316         <fcntl.h>; this module does not leak fds.
63317         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
63318         must be allowed to return 0, leaving openat_safer to add the
63319         safety.
63320         (openat_permissive): Avoid writing to just-opened fd 2 if
63321         restoring the current directory fails.
63322         * lib/openat-die.c (openat_restore_fail): Add comment.
63323         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
63324         (save_cwd): Guarantee safe fd, but without use of open_safer.
63325         * tests/test-openat.c: New test.
63326         * modules/openat-tests (Files, Makefile.am): Distribute and build
63327         new file.
63329         relocatable-prog-wrapper: fix build
63330         * modules/relocatable-prog-wrapper (Files): Update name of
63331         canonicalize m4 file, broken on 2009-09-17.
63332         Reported by emad hajjar <aleppos@hotmail.com>.
63334 2009-09-19  Bruno Haible  <bruno@clisp.org>
63336         * lib/safe-alloc.h: Use the standard header with GPL copyright.
63337         * lib/safe-alloc.c: Likewise.
63338         Reported by Ian Beckwith <ianb@erislabs.net>.
63340 2009-09-18  Bruno Haible  <bruno@clisp.org>
63342         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
63343         Reported by <erobles@sensacd.com.mx>.
63345 2009-09-17  Eric Blake  <ebb9@byu.net>
63347         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
63348         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
63349         slashes when checking if last component is missing.
63350         * tests/test-canonicalize.c (main): Test this.
63352         canonicalize, canonicalize-lgpl: honor // if distinct from /
63353         * modules/canonicalize (Files): Add double-slash-root.m4.
63354         * modules/canonicalize-lgpl (Files): Likewise.
63355         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
63356         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
63357         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
63358         fallback definition.
63359         (canonicalize_filename_mode): Use it to protect //.
63360         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
63361         (__realpath): Likewise.
63362         * tests/test-canonicalize.c (main): Test this.
63363         * tests/test-canonicalize-lgpl.c (main): Likewise.
63364         * modules/canonicalize-tests (Depends-on): Add same-inode.
63365         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
63367         canonicalize-lgpl: fix glibc bug with trailing slash
63368         * m4/canonicalize-lgpl.m4: Move contents...
63369         * m4/canonicalize.m4: ...here.
63370         (gl_CANONICALIZE_LGPL): Factor realpath check...
63371         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
63372         glibc 2.3.5 bug, fixed 2005-04-27.
63373         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
63374         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
63375         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
63376         * modules/canonicalize-lgpl (Files): Manage file rename.
63377         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
63378         * modules/stdlib (Makefile.am): Substitute witness.
63379         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
63380         is needed.
63381         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
63382         replacement is required.
63383         * lib/canonicalize.c (canonicalize_file_name): Likewise.
63384         * doc/glibc-functions/canonicalize_file_name.texi
63385         (canonicalize_file_name): Document this.
63386         * doc/posix-functions/realpath.texi (realpath): Likewise.
63388         canonicalize-lgpl: reject non-directory with trailing slash
63389         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
63390         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
63391         catches failures in glibc 2.3.5.
63392         * tests/test-canonicalize.c (main): Likewise.
63394         canonicalize-lgpl: use native realpath if it works
63395         * lib/canonicalize-lgpl.c (realpath): Guard with
63396         FUNC_REALPATH_WORKS.
63397         * lib/stdlib.in.h (realpath): Make declaration optional based on
63398         HAVE_REALPATH.
63399         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
63400         native realpath works.
63401         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
63402         * modules/stdlib (Makefile.am): Substitute witness.
63404         canonicalize, canonicalize-lgpl: use <stdlib.h>
63405         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
63406         (Include): Mention <stdlib.h>.
63407         (configure.ac): Mention functions we provide.
63408         * modules/canonicalize (configure.ac): Likewise.
63409         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
63410         realpath if canonicalize_file_name is missing.
63411         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
63412         * modules/stdlib (Makefile.am): Substitute witnesses.
63413         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
63414         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
63415         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
63416         * NEWS: Document this.
63417         * doc/glibc-functions/canonicalize_file_name.texi
63418         (canonicalize_file_name): Likewise.
63419         * doc/posix-functions/realpath.texi (realpath): Likewise.
63420         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
63422         test-canonicalize: consolidate into single C program
63423         * tests/test-canonicalize.sh: Delete; move setup into...
63424         * tests/test-canonicalize.c (main): ...the program, making it
63425         easier to run in debugger.  Add some tests.
63426         * modules/canonicalize-tests (Files): Remove unused file.
63427         (Depends-on): Add progname.
63428         (configure.ac, Makefile.am): Simplify.
63430         test-canonicalize-lgpl: consolidate into single C program
63431         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
63432         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
63433         easier to run in debugger.  Add some tests.
63434         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
63435         (configure.ac, Makefile.am): Simplify.
63437         canonicalize: avoid resolvepath
63438         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
63439         unnecessary checks.
63440         * lib/canonicalize.c (includes): Simplify.
63441         (canonicalize_file_name): Drop resolvepath implementation.
63442         * modules/canonicalize (Depends-on): Drop filenamecat.
63444         canonicalize: don't lose errno
63445         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
63446         over calls to free.
63448         canonicalize: simplify errno handling
63449         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
63450         assignment.
63452         canonicalize, canonicalize-lgpl: update module dependencies
63453         * modules/canonicalize (Depends-on): Add extensions, lstat,
63454         pathmax, stdlib.
63455         (Files): Drop pathmax.h.
63456         (configure.ac): Adjust macro name.
63457         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
63458         lstat, stdlib, sys_stat.
63459         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
63460         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
63461         extensions.
63462         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
63463         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
63464         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
63465         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
63466         declaration, if available.
63467         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
63468         we can rely on the readlink module.
63469         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
63470         (includes): Use <unistd.h> unconditionally.
63472 2009-09-17  Eric Blake  <ebb9@byu.net>
63474         maint: make Include sections of modules consistent
63475         * modules/alloca: Use only header name; no need to list #include.
63476         * modules/alloca-opt: Likewise.
63477         * modules/arpa_inet: Likewise.
63478         * modules/canon-host: Likewise.
63479         * modules/configmake: Likewise.
63480         * modules/dirent: Likewise.
63481         * modules/eealloc: Likewise.
63482         * modules/environ: Likewise.
63483         * modules/fchdir: Likewise.
63484         * modules/fcntl: Likewise.
63485         * modules/fcntl-h: Likewise.
63486         * modules/gethrxtime: Likewise.
63487         * modules/gettime: Likewise.
63488         * modules/ignore-value: Likewise.
63489         * modules/inet_ntop: Likewise.
63490         * modules/inet_pton: Likewise.
63491         * modules/inttypes: Likewise.
63492         * modules/isnand-nolibm: Likewise.
63493         * modules/isnanf-nolibm: Likewise.
63494         * modules/mbchar: Likewise.
63495         * modules/mbfile: Likewise.
63496         * modules/mbiter: Likewise.
63497         * modules/mbuiter: Likewise.
63498         * modules/netdb: Likewise.
63499         * modules/netinet_in: Likewise.
63500         * modules/nproc: Likewise.
63501         * modules/pagealign_alloc: Likewise.
63502         * modules/poll: Likewise.
63503         * modules/printf-frexp: Likewise.
63504         * modules/pthread: Likewise.
63505         * modules/putenv: Likewise.
63506         * modules/random_r: Likewise.
63507         * modules/relocatable-prog: Likewise.
63508         * modules/search: Likewise.
63509         * modules/select: Likewise.
63510         * modules/selinux-h: Likewise.
63511         * modules/settime: Likewise.
63512         * modules/signal: Likewise.
63513         * modules/size_max: Likewise.
63514         * modules/socklen: Likewise.
63515         * modules/ssize_t: Likewise.
63516         * modules/stdarg: Likewise.
63517         * modules/stdbool: Likewise.
63518         * modules/stddef: Likewise.
63519         * modules/stdint: Likewise.
63520         * modules/stdio: Likewise.
63521         * modules/stdlib: Likewise.
63522         * modules/string: Likewise.
63523         * modules/strings: Likewise.
63524         * modules/sys_file: Likewise.
63525         * modules/sys_ioctl: Likewise.
63526         * modules/sys_select: Likewise.
63527         * modules/sys_socket: Likewise.
63528         * modules/sys_stat: Likewise.
63529         * modules/sys_time: Likewise.
63530         * modules/sys_times: Likewise.
63531         * modules/sys_utsname: Likewise.
63532         * modules/sys_wait: Likewise.
63533         * modules/sysexits: Likewise.
63534         * modules/time: Likewise.
63535         * modules/times: Likewise.
63536         * modules/tmpfile: Likewise.
63537         * modules/trim: Likewise.
63538         * modules/unistd: Likewise.
63539         * modules/wchar: Likewise.
63540         * modules/wctype: Likewise.
63542 2009-09-17  Bruno Haible  <bruno@clisp.org>
63544         Make getdate.y compile on QNX and NetBSD 5 / i386.
63545         * m4/getdate.m4 (gl_GETDATE): Conditionally define
63546         TIME_T_FITS_IN_LONG_INT.
63547         * lib/getdate.y (long_time_t): New type.
63548         (relative_time): Change type of 'seconds' field to long_time_t.
63549         (get_date): Update types of local variables. Check against overflow
63550         during conversion from long_time_t to time_t.
63551         Reported by Matt Kraai <kraai@ftbfs.org>
63552         and Hasso Tepper <hasso@netbsd.org>.
63554 2009-09-17  Bruno Haible  <bruno@clisp.org>
63556         * modules/COPYING: Update copyright years.
63557         * modules/README: Likeiwse.
63558         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
63559         Reported by Ian Beckwith <ianb@erislabs.net>.
63561 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
63563         * users.txt: Update references for gnuit package.
63565 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
63567         * m4/getdelim.m4: Fix typo in copyright line.
63569 2009-09-17  Bruno Haible  <bruno@clisp.org>
63571         * lib/atoll.c: Use the standard header with GPL copyright.
63572         * lib/argz.in.h: Likewise.
63573         * lib/glob.c: Likewise.
63574         * lib/glob-libc.h: Likewise.
63575         * lib/random_r.c: Likewise.
63576         * lib/siglist.h: Likewise.
63577         * lib/strsignal.c: Likewise.
63578         Reported by Ian Beckwith <ianb@erislabs.net>.
63580 2009-09-17  Eric Blake  <ebb9@byu.net>
63582         rmdir: ensure correct dependency order
63583         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
63585 2009-09-17  Bruno Haible  <bruno@clisp.org>
63587         Disable assertion that fails on NetBSD 5 / i386.
63588         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
63589         Reported by Sam Steingold <sds@gnu.org>
63590         and Hasso Tepper <hasso@netbsd.org>.
63592 2009-09-16  Eric Blake  <ebb9@byu.net>
63594         unlinkdir: port to mingw
63595         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
63596         on which no one can unlink a directory.
63598         stdlib: sort witness names
63599         * modules/stdlib (Makefile.am): Sort replacements.
63600         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
63601         * lib/stdlib.in.h: Likewise.
63603         parse-duration-tests: avoid link failure
63604         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
63605         LIBINTL.
63606         Reported by Tom G. Christensen.
63608         openat-tests: ensure unlinkat behaves like rmdir
63609         * tests/test-rmdir.c (main): Factor guts...
63610         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
63611         * modules/rmdir-tests (Files): Ship new file.
63612         * modules/openat-tests: New test.
63613         * tests/test-unlinkat.c: Likewise.
63615         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
63616         * modules/rmdir-errno (Status, Notice): Now obsolete.
63618         rmdir: work around cygwin 1.5.x and mingw bugs
63619         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
63620         * lib/rmdir.c (rmdir): Work around it.
63621         * modules/rmdir (Status, Notice): No longer obsolete.
63622         (Files): Add dos.m4.
63623         (Depends-on): Add unistd.
63624         (configure.ac): Set witnesses.
63625         (License): Relax to LGPLv2+.
63626         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
63627         * modules/unistd (Makefile.am): Substitute witnesses.
63628         * lib/unistd.in.h (rmdir): Declare replacement.
63629         * doc/posix-functions/rmdir.texi (rmdir): Document this.
63630         * modules/rmdir-tests: New tests.
63631         * tests/test-rmdir.c: Likewise.
63633 2009-09-15  Eric Blake  <ebb9@byu.net>
63635         fchdir: improve use of replacement functions
63636         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
63637         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
63638         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
63639         REPLACE_CLOSEDIR.
63640         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
63641         * modules/sys_stat (Makefile.am): Substitute correct witness.
63642         * modules/dirent (Makefile.am): Likewise.
63643         * modules/unistd (Makefile.am): Likewise.
63644         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
63645         * lib/unistd.in.h (dup): Likewise.
63646         * lib/sys_stat.in.h (fstat): Likewise.
63648         maint: ignore gnulib-tool temp files
63649         * .gitignore: Ignore files created during gnulib-tool --test.
63651 2009-09-13  Jim Meyering  <meyering@redhat.com>
63653         posixtm: don't reject a time that specify "60" as the number of seconds
63654         * lib/posixtm.c (posixtime): The code to reject invalid dates
63655         would also reject a time specified with the .60 suffix.
63656         But POSIX allows that, in order to accommodate leap seconds.
63657         So don't reject it.
63658         (main): Adjust tests accordingly.
63659         * modules/posixtm (Depends-on): Add stpcpy.
63661 2009-09-11  Jim Meyering  <meyering@redhat.com>
63663         announce-gen: include [$release_type] in emitted Subject:
63664         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
63665         e.g., [stable] in the emitted Subject: line.
63667 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63669         Remove obsolete macros from several modules.
63670         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
63671         obsolete Autoconf macros with their modern counterparts.
63672         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
63673         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
63674         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
63675         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
63676         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
63677         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63678         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
63679         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
63680         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
63681         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
63682         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
63683         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
63684         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
63685         * m4/sockets.m4 (gl_SOCKETS): Likewise.
63686         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
63687         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
63688         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
63689         * m4/time_r.m4 (gl_TIME_R): Likewise.
63690         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
63691         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
63692         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
63694         Fix copyright header in build-aux scripts.
63695         * build-aux/git-version-gen: Fix copyright header to match GPLv3
63696         recommendation.
63697         * build-aux/ncftpput-ftp: Likewise.
63698         * build-aux/update-copyright: Likewise.
63700 2009-09-09  Eric Blake  <ebb9@byu.net>
63702         test-link: allow Linux choice of errno
63703         * tests/test-link.c (main): Relax test for alternate error.
63705         strndup: fix improper m4 caching
63706         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
63707         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
63708         (gl_PREREQ_STRNDUP): Delete.
63709         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
63710         * modules/string (Makefile.am): Substitute it.
63711         * lib/string.in.h (strndup): Modernize prototype.
63713         getcwd: port to mingw
63714         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
63715         different from the POSIX assumptions made throughout the getcwd
63716         module; fortunately, the mingw getcwd does not need replacement.
63717         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
63718         * modules/getcwd-tests: New test.
63719         * tests/test-getcwd.c: Likewise.
63721         link: fix platform bugs
63722         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
63723         * lib/link.c (link): Work around them.  Fix related mingw bug.
63724         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
63725         * modules/unistd (Makefile.am): Substitute it.
63726         * lib/unistd.in.h (link): Declare replacement.
63727         * doc/posix-functions/link.texi (link): Document this.
63728         * modules/link (Depends-on): Add strdup-posix, sys_stat.
63730         test-link: consolidate into single C program, test more cases
63731         * tests/test-link.sh: Delete.
63732         * tests/test-link.c: Test more error conditions.  Exposes bugs on
63733         at least Cygwin and Solaris.
63734         * modules/link-tests (Files): Remove unused file.
63735         (Depends-on): Add errno, sys_stat.
63736         (Makefile.am): Simplify.
63738 2009-09-08  Bruno Haible  <bruno@clisp.org>
63740         Work around towlower, towupper bug on mingw.
63741         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
63742         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
63743         * doc/posix-functions/towlower.texi: Mention the mingw bug.
63744         * doc/posix-functions/towupper.texi: Likewise.
63745         Reported by Eric Blake.
63747 2009-09-08  Jim Meyering  <meyering@redhat.com>
63749         build: don't try to run autoheader if we don't use it
63750         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
63751         is not used in configure.ac.
63753 2009-09-08  Eric Blake  <ebb9@byu.net>
63755         euidaccess: fix compilation error
63756         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
63758         rawmemchr: relax license
63759         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
63760         okay.
63761         Reported by Jim Meyering.
63763         mkfifoat: new module
63764         * modules/mkfifoat: New file.
63765         * lib/mkfifoat.c: Likewise.
63766         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
63767         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
63768         * modules/sys_stat (Makefile.am): Use them.
63769         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
63770         * MODULES.html.sh (File system functions): Mention module.
63771         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
63772         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
63773         * modules/mkfifoat-tests: New test.
63774         * tests/test-mkfifoat.c: Likewise.
63776         strchrnul: relax license
63777         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
63778         okay.
63779         Reported by Jim Meyering.
63781 2009-09-08  Eric Blake  <ebb9@byu.net>
63783         fstatat: fix compilation on Solaris
63784         * lib/fstatat.c (includes): Add fcntl.h.
63785         Reported by Pádraig Brady.
63787 2009-09-07  Eric Blake  <ebb9@byu.net>
63789         rename: modernize replacement
63790         * modules/rename (Depends-on): Add stdio.
63791         (configure.ac): Declare witness.
63792         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
63793         stdio take care of replacement.
63794         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63795         * modules/stdio (Makefile.am): Substitute them.
63796         * lib/stdio.in.h (rename): Declare replacement.
63797         * lib/rename.c (includes): Allow cross-compilation to non-windows
63798         machines.
63799         * doc/posix-functions/rename.texi (rename): Improve
63800         documentation.
63802         stdio: sort witness names
63803         * modules/stdio (Makefile.am): Sort replacements.
63804         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
63805         * lib/stdio.in.h: Likewise.
63807         getcwd: minor cleanups
63808         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
63809         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
63811         openat: provide more convenience names
63812         * modules/faccessat (configure.ac): Add C witness.
63813         * lib/unistd.in.h (readlinkat): Fix typo.
63814         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
63815         convenience wrappers.
63816         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
63817         wrappers in syntax checks.
63819 2009-09-06  Eric Blake  <ebb9@byu.net>
63821         doc: fix comments in recent patches
63822         * lib/faccessat.c: Mention correct function.
63823         * lib/fchmodat.c: Likewise.
63824         * lib/fchownat.c: Likewise.
63825         * lib/symlinkat.c: Likewise.
63826         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
63827         constants.
63829         faccessat, symlinkat: continue cleanup of previous patch
63830         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
63831         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
63832         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
63833         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
63834         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
63835         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
63836         set.
63838 2009-09-06  Bruno Haible  <bruno@clisp.org>
63840         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
63841         (fstatat): Declare if GNULIB_FSTATAT is set.
63842         (mkdirat): Declare if GNULIB_MKDIRAT is set.
63843         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
63844         (unlinkat): Declare if GNULIB_UNLINKAT is set.
63845         * modules/fcntl-h (Files): Remove m4/openat.m4.
63846         * modules/sys_stat (Files): Remove m4/openat.m4.
63847         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
63848         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
63849         * modules/unistd (Files): Remove m4/openat.m4.
63850         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
63851         GNULIB_OPENAT.
63852         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
63853         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
63854         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
63855         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
63856         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
63857         gl_OPENAT_DEFAULTS.
63858         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
63859         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
63860         Don't require gl_OPENAT_DEFAULTS.
63861         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
63862         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
63863         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
63864         (gl_OPENAT_DEFAULTS): Remove macro.
63866 2009-09-06  Bruno Haible  <bruno@clisp.org>
63868         * modules/openat (configure.ac): Remove unneeded witness.
63870 2009-09-06  Bruno Haible  <bruno@clisp.org>
63872         Set errno to ENOSYS when a function is entirely unsupported.
63873         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
63874         EOPNOTSUPP.
63875         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
63876         * modules/chown (Depends-on): Remove errno.
63878 2009-09-06  Bruno Haible  <bruno@clisp.org>
63880         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
63882 2009-09-06  Bruno Haible  <bruno@clisp.org>
63884         * lib/sys_stat.in.h: Fix preprocessor command indentation.
63886 2009-09-06  Ben Pfaff  <blp@gnu.org>
63887             Bruno Haible  <bruno@clisp.org>
63889         Work around a glibc bug in strtok_r.
63890         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
63891         Undefine if UNDEFINE_STRTOK_R is set.
63892         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
63893         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63894         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
63895         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
63896         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
63897         UNDEFINE_STRTOK_R.
63898         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
63900 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
63902         exclude: minor fix
63903         * lib/exclude.c: Include wctype.h
63905 2009-09-06  Akim Demaille  <demaille@gostai.com>
63907         bootstrap: improve error message
63908         * build-aux/bootstrap (find_tool): Upon failure, report the list
63909         of candidates.
63910         Honor the initial value of the envvar.
63912 2009-09-05  Eric Blake  <ebb9@byu.net>
63914         symlinkat: new module
63915         * modules/symlinkat: New file.
63916         * lib/symlinkat.c: Likewise.
63917         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
63918         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
63919         * modules/unistd (Makefile.am): Use them.
63920         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
63921         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
63922         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
63923         * MODULES.html.sh (File system functions): Mention module.
63924         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
63925         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
63926         * modules/symlinkat-tests: New test.
63927         * tests/test-symlinkat.c: Likewise.
63929         test-openat-safer: add more checks
63930         * tests/test-openat-safer.c (main): Check more code paths.
63932 2009-09-05  Jim Meyering  <meyering@redhat.com>
63934         syntax-check: detect unnecessary inclusion of openat.h
63935         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
63937 2009-09-05  Bruno Haible  <bruno@clisp.org>
63939         Support towlower, towupper.
63940         * doc/posix-functions/towlower.texi: Mention module wctype.
63941         * doc/posix-functions/towupper.texi: Likewise.
63942         * lib/wctype.in.h (towlower, towupper): New functions.
63943         * tests/test-wctype.c: Include stdio.h, stdlib.h.
63944         (ASSERT): New macro.
63945         (e): New variable.
63946         (main): Test also towlower, towupper. Test WEOF argument.
63947         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
63949 2009-09-05  Bruno Haible  <bruno@clisp.org>
63951         Fix conversion behaviour when the input is invalid.
63952         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
63953         mark occurring in first pass of indirect conversion.
63954         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
63955         input.
63956         Found by clang's static analyzer.
63958 2009-09-05  Bruno Haible  <bruno@clisp.org>
63960         * tests/test-striconveh.c (main): Test indirect conversion on platforms
63961         where direct conversion is possible.
63963 2009-09-04  Eric Blake  <ebb9@byu.net>
63965         openat: fail with ENOENT on empty name
63966         * lib/openat-proc.c (openat_proc_name): Special-case the empty
63967         buffer.
63969         link-follow: fix logic bug in prior patch
63970         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
63971         reversed sense of yes and no in prior patch.  Avoid confusing
63972         compilation failure with desired semantics.
63974         link-follow: accommodate mingw and cross-compilation
63975         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
63976         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
63977         cross-compilation results to -1, to make linkat easier to
63978         implement when cross-compiling.  Trivially support mingw.
63979         * modules/link-follow (configure.ac): Call new name.
63980         * NEWS: Mention this.
63982 2009-09-03  Eric Blake  <ebb9@byu.net>
63984         faccessat: compile replacement
63985         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
63986         needed.
63988         fts: fix compilation error
63989         * lib/fts.c (includes): Re-add "openat.h", for
63990         openat_needs_fchdir.
63992         faccessat: new module
63993         * modules/faccessat: New file.
63994         * lib/faccessat.c: Likewise.
63995         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
63996         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
63997         * modules/unistd (Makefile.am): Use it.
63998         * lib/unistd.in.h (faccessat): Declare it.
63999         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
64000         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
64001         * MODULES.html.sh (File system functions): Mention it.
64002         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
64003         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
64005         euidaccess: prefer POSIX over non-standard implementation
64006         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
64007         * lib/euidaccess.c (euidaccess): Use it if available.
64009         openat: make template easier to use
64010         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
64011         AT_FUNC_F2 to be undefined.
64012         (VALIDATE_FLAG): New macro; use it to reject bad flags.
64013         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
64014         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
64015         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
64016         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
64017         Likewise.
64018         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
64019         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
64020         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
64021         Likewise.
64023         openat: declare in POSIX headers
64024         * NEWS: Mention this.
64025         * modules/openat (configure.ac): Declare witnesses.
64026         (Depends-on): Add fcntl-h, sys_stat, unistd.
64027         (Include): Mention correct headers.
64028         * modules/fcntl-h (Depends-on): Add link-warning.
64029         (Files): Add openat.m4.
64030         (Makefile.am): Substitute witnesses.
64031         * modules/sys_stat (Files, Makefile.am): Likewise.
64032         * modules/unistd (Files, Makefile.am): Likewise.
64033         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
64034         (gl_OPENAT_DEFAULTS): New macro.
64035         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
64036         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
64037         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
64038         (SYS_STAT_H): Remove unused variable.
64039         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
64040         * lib/fcntl--.h (includes): Remove unneeded header.
64041         * lib/openat-safer.c (includes): Likewise.
64042         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
64043         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
64044         appropriate headers.
64045         (__OPENAT_PREFIX): Delete.
64046         * lib/fcntl.in.h (openat): Provide declaration.
64047         (AT_FDCWD): Fix Solaris bug.
64048         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
64049         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
64050         * lib/fchmodat.c (includes):  Adjust to find declaration.
64051         * lib/fchownat.c (includes): Likewise.
64052         * lib/mkdirat.c (includes): Likewise.
64053         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
64054         still visible.
64056 2009-09-02  Eric Blake  <ebb9@byu.net>
64058         errno: use consistently
64059         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
64060         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
64061         * lib/canonicalize.c (ELOOP): Likewise.
64062         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
64063         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
64064         * lib/lchown.c (EOPNOTSUPP): Likewise.
64065         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
64066         * lib/savewd.c (ESTALE): Likewise.
64067         * lib/settime.c (ENOSYS): Likewise.
64068         * lib/utimens.c (ENOSYS): Likewise.
64069         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
64070         * lib/chdir-safer.c (ELOOP): Likewise.
64071         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
64072         * modules/c-stack (Depends-on): Add errno.
64073         * modules/canonicalize (Depends-on): Likewise.
64074         * modules/chdir-safer (Depends-on): Likewise.
64075         * modules/fdopendir (Depends-on): Likewise.
64076         * modules/inet_ntop (Depends-on): Likewise.
64077         * modules/inet_pton (Depends-on): Likewise.
64078         * modules/lchown (Depends-on): Likewise.
64079         * modules/openat (Depends-on): Likewise.
64080         * modules/savewd (Depends-on): Likewise.
64081         * modules/settime (Depends-on): Likewise.
64082         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
64084         fts: avoid leaking fds
64085         * modules/fts (Depends-on): Add cloexec.
64086         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
64087         flag.
64089         fts: make directory fds more robust
64090         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
64091         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
64093         backupfile, chdir-long, fts, savedir: make safer
64094         * lib/backupfile.c (includes): Use "dirent--.h", since
64095         numbered_backup can write to stderr during readdir.
64096         * lib/savedir.c (includes): Likewise.
64097         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
64098         emulation can write to stderr on failure.
64099         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
64100         * lib/getcwd.c: Document why opendir_safer is unused.
64101         * lib/glob.c: Likewise.
64102         * lib/scandir.c: Likewise.
64103         * lib/openat-proc.c: Likewise, for open_safer.
64104         * modules/backupfile (Depends-on): Add dirent-safer.
64105         * modules/savedir (Depends-on): Likewise.
64106         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
64107         * modules/chdir-long (Depends-on): Add openat-safer.
64109         openat-safer: new module
64110         * modules/openat-safer: New file.
64111         * lib/openat-safer.c: Likewise.
64112         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
64113         * lib/fcntl-safer.h (openat_safer): Declare.
64114         * lib/fcntl--.h (openat): Override.
64115         * MODULES.html.sh (File descriptor based I/O): Mention it.
64116         * lib/openat.h: Add double-inclusion guards.
64117         * lib/openat.c (includes): Only include "fcntl-safer.h", not
64118         "fcntl--.h", so we can implement openat.
64119         * modules/openat-safer-tests: New test.
64120         * tests/test-openat-safer.c: New file.
64122         dirent-safer: new module
64123         * modules/dirent-safer: New file.
64124         * lib/dirent--.h: Likewise.
64125         * lib/dirent-safer.h: Likewise.
64126         * lib/opendir-safer.c: Likewise.
64127         * m4/dirent-safer.m4: Likewise.
64128         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
64129         * modules/dirent-safer-tests: New test.
64130         * tests/test-dirent-safer.c: New file.
64131         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
64133         fdopendir: optimize on mingw
64134         * lib/unistd.in.h (_gl_directory_name): New prototype.
64135         * lib/fchdir.c (_gl_directory_name): Implement it.
64136         (fchdir): Use it to simplify implementation.
64137         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
64138         fchdir, when available, to avoid calling [f]chdir().
64140         fdopendir: split into its own module
64141         * lib/openat.c (fdopendir): Move...
64142         * lib/fdopendir.c: ...into new file.
64143         * modules/fdopendir: New module.
64144         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
64145         * modules/openat (Depends-on): Add fdopendir.
64146         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
64147         fdopendir here.
64148         * modules/savedir (Depends-on): Only need fdopendir, not full
64149         openat.
64150         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
64151         * lib/openat.h (fdopendir): Drop prototype.
64152         * lib/dirent.in.h (fdopendir): Provide prototype.
64153         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
64154         * modules/dirent (Makefile.am): Substitute them.
64155         * MODULES.html.sh (File system functions): Mention it.
64156         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
64157         * modules/fdopendir-tests: New file.
64158         * tests/test-fdopendir.c: Likewise.
64160         fchdir: use more consistent macro convention
64161         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
64162         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
64163         REPLACE_FCHDIR, rather than relying on config.h macros.
64164         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
64165         inside a single make-time REPLACE_FCHDIR block, rather than using
64166         the config.h FCHDIR_REPLACEMENT.
64167         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
64168         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
64169         Manage fstat replacement.
64170         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
64171         REPLACE_FCHDIR.
64172         * modules/sys_stat (Files): Add m4/unistd_h.m4.
64173         (Makefile.am): Substitute REPLACE_FCHDIR.
64174         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
64175         FCHDIR_REPLACEMENT.
64176         * lib/dup-safer.c (dup_safer): Likewise.
64177         * lib/dup2.c (rpl_dup2): Likewise.
64178         * lib/dup3.c (rpl_dup3): Likewise.
64179         * lib/open.c (rpl_open): Likewise.
64181         fchdir: simplify error handling, and support dup3
64182         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
64183         stdbool, malloc-posix, realloc-posix.
64184         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
64185         (ensure_dirs_slot): Return false on allocation failure.
64186         (rpl_dup2): Delete.
64187         (_gl_register_dup): New function.
64188         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
64189         (_gl_register_fd): Close fd on allocation failure.
64190         * lib/fcntl.in.h (_gl_register_fd): Update signature.
64191         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
64192         prototype.
64193         (rpl_dup2_fchdir): Delete prototype.
64194         * lib/open.c (open): Update caller.
64195         * lib/dup2.c (dup2): Track fchdir metadata.
64196         * lib/dup3.c (dup3): Likewise.
64197         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
64198         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
64200 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64202         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
64203         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
64204         don't pass arguments to AC_OUTPUT.
64206 2009-09-02  Bruno Haible  <bruno@clisp.org>
64208         * modules/mkdtemp (License): Relicense under LGPLv2+.
64209         Reported by Paolo Bonzini.
64211 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64213         Replace uses of obsolete autoconf macros in Jim's modules.
64214         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
64215         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
64216         can evoke a warning from autoconf when run with -Wobsolete
64217         enabled.  They were declared obsolete for good reasons (see
64218         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
64219         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
64220         should not continue using the deprecated macros.
64221         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
64222         obsolete Autoconf macros with modern counterparts.
64223         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
64224         * m4/dos.m4 (gl_AC_DOS): Likewise.
64225         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
64226         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
64227         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
64228         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
64229         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
64230         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
64231         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
64232         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
64233         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
64234         Likewise.
64235         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
64236         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
64237         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
64238         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
64239         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
64240         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
64242 2009-09-01  Eric Blake  <ebb9@byu.net>
64244         fchdir: fix off-by-one bug in previous patch
64245         * lib/fchdir.c (rpl_fstat): Use correct bounds.
64246         (_gl_unregister_fd): Delete useless if.
64248 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
64250         maint.mk: sort the list of syntax-check rules
64251         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
64252         easier to get a sense of progress when the rules are run sequentially
64253         and take a long time.
64255 2009-09-01  Simon Josefsson  <simon@josefsson.org>
64257         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
64258         * modules/netinet_in: Likewise.
64259         * modules/sys_file: Likewise.
64260         * modules/sys_ioctl: Likewise.
64261         * modules/sys_select: Likewise.
64262         * modules/sys_socket: Likewise.
64263         * modules/sys_stat: Likewise.
64264         * modules/sys_time: Likewise.
64265         * modules/sys_times: Likewise.
64266         * modules/sys_utsname: Likewise.
64267         * modules/sys_wait: Likewise.
64269 2009-09-01  Jim Meyering  <meyering@redhat.com>
64271         fts: help ensure that return values are not ignored
64272         * lib/fts_.h (__GNUC_PREREQ): Define.
64273         (__attribute_warn_unused_result__): Define.
64274         (fts_children, fts_close, fts_open, fts_read): Declare with
64275         __attribute_warn_unused_result__.
64277         fts: fts_close now fails also when closing a dir file descriptor fails
64278         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
64279         and propagate to caller, along with errno.
64281         announce-gen: correct formatting in --help output
64282         * build-aux/announce-gen (usage): Move the one-line description in
64283         --help output "up", to where it belongs, just after Usage:.
64285 2009-08-31  Eric Blake  <ebb9@byu.net>
64287         fchdir: port to mingw
64288         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
64289         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
64290         opened, then use a substitute.
64291         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
64292         replacement.
64293         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
64294         (_gl_register_fd): No need to check stat if open already filters
64295         all directories.
64296         (fchdir): Fix error condition to match POSIX.
64297         * modules/fchdir (Depends-on): Add sys_stat.
64298         * doc/posix-functions/open.texi (open): Document the limitation.
64299         * modules/fchdir-tests: New file.
64300         * tests/test-fchdir.c: Likewise.
64302         canonicalize: allow cross-testing from cygwin to mingw
64303         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
64304         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
64305         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
64306         Likewise.
64307         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
64308         target does not support symlinks.
64309         * tests/test-canonicalize-lgpl.sh: Likewise.
64311         chown: avoid compilation warning on mingw
64312         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
64313         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
64314         mingw.
64315         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
64316         * modules/chown (Depends-on): Add errno.
64318 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
64320         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
64321         command.
64323 2009-08-31  Jim Meyering  <meyering@redhat.com>
64325         canonicalize: remove useless initialization
64326         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
64327         initialization of local, "end".
64329 2009-08-30  Bruno Haible  <bruno@clisp.org>
64331         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
64332         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
64333         ENOSYS.
64335 2009-08-30  Bruno Haible  <bruno@clisp.org>
64337         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
64338         /usr/xpg4/bin/tr when it exists.
64339         * tests/test-pipe-filter-gi1.sh: Likewise.
64341 2009-08-30  Bruno Haible  <bruno@clisp.org>
64343         Work around deficient /usr/bin/id program on Solaris.
64344         * tests/test-file-has-acl.sh (ID): New variable.
64345         * tests/test-set-mode-acl.sh (ID): Likewise.
64346         * tests/test-copy-acl.sh (ID): Likewise.
64347         * tests/test-copy-file.sh (ID): Likewise.
64349 2009-08-30  Bruno Haible  <bruno@clisp.org>
64351         New module 'xstriconveh'.
64352         * lib/xstriconveh.h: New file.
64353         * lib/xstriconveh.c: New file.
64354         * modules/xstriconveh: New file.
64356 2009-08-30  Bruno Haible  <bruno@clisp.org>
64358         Make it easier to use mem_cd_iconveh.
64359         * lib/striconveh.h (iconveh_t): New type.
64360         (iconveh_open, iconveh_close): New declarations.
64361         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
64362         with a single 'const iconveh_t *' argument.
64363         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
64364         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
64365         with a single 'const iconveh_t *' argument.
64366         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
64367         * tests/test-striconveh.c (main): Update.
64368         * NEWS: Mention the change.
64370 2009-08-30  Bruno Haible  <bruno@clisp.org>
64372         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
64373         problem.
64375 2009-08-30  Bruno Haible  <bruno@clisp.org>
64377         Work around iconv_open problem on Solaris.
64378         * lib/iconv_open-solaris.gperf: New file.
64379         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
64380         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
64381         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
64382         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
64383         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
64384         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
64386 2009-08-29  Jim Meyering  <meyering@redhat.com>
64388         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
64389         * top/maint.mk (cvs-check): Remove target; it was just an alias
64390         to the better-named vc-diff-check.
64391         (maintainer-distcheck): Remove rule.  It was used only from
64392         the (alpha/beta/major) target, and all of its commands but one
64393         were coreutils-specific.
64394         (vc-dist): Remove rule.
64395         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
64396         Run vc-diff-check, not vc-dist.
64397         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
64399 2009-08-27  Bruno Haible  <bruno@clisp.org>
64401         * tests/test-bitrotate.c (main): Remove test that uses a shift count
64402         of 0.
64404 2009-08-27  Bruno Haible  <bruno@clisp.org>
64406         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
64407         compilers.
64408         * doc/func.texi: Document the SunPRO C bug.
64410 2009-08-27  Bruno Haible  <bruno@clisp.org>
64412         Fix link error on Solaris.
64413         * tests/test-parse-duration.c (xstrdup): Remove function.
64415 2009-08-26  Pádraig Brady  <P@draigbrady.com>
64417         ignore-value: handle pointer types, too
64418         * lib/ignore-value.h (__attribute__): Remove definition.
64419         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
64420         of a more concise and more-often effective "(void) i" statement.
64421         (ignore_ptr): New function to suppress warnings from functions that
64422         return pointers, and to make it explicit that one function doesn't
64423         handle all cases.
64425 2009-08-25  Bruno Haible  <bruno@clisp.org>
64427         dup2: work around a Linux bug.
64428         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
64429         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
64430         * doc/posix-functions/dup2.texi: Mention the Linux bug.
64431         Reported by Simon Josefsson.
64433 2009-08-25  Jim Meyering  <meyering@redhat.com>
64435         libguestfs uses gnulib
64436         * users.txt: Add libguestfs.
64438 2009-08-24  Eric Blake  <ebb9@byu.net>
64440         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
64441         * lib/pipe2.c (includes): Add binary-io.h.
64442         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
64444 2009-08-24  Bruno Haible  <bruno@clisp.org>
64446         Tolerate declared but missing accept4 syscall.
64447         * lib/accept4.c (accept4): Invoke original accept4 function first, if
64448         available.
64449         * lib/sys_socket.in.h (accept4): If the function is already present,
64450         override it.
64451         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
64452         * modules/accept4 (Makefile.am): Compile accept4.c always.
64453         Reported by Paolo Bonzini and Eric Blake.
64455 2009-08-23  Bruno Haible  <bruno@clisp.org>
64457         New module 'accept4'.
64458         * lib/sys_socket.in.h (accept4): New declaration.
64459         * lib/accept4.c: New file.
64460         * m4/accept4.m4: New file.
64461         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
64462         GNULIB_ACCEPT4, HAVE_ACCEPT4.
64463         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
64464         HAVE_ACCEPT4.
64465         * modules/accept4: New file.
64466         * doc/glibc-functions/accept4.texi: Mention the new module.
64468 2009-08-24  Jim Meyering  <meyering@redhat.com>
64470         progname: also set global program_invocation_name, when possible
64471         Before this change, a libtool-enabled program that calls glibc's
64472         error function would report the program name as
64473         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
64474         * modules/progname (configure.ac): Check for a declaration of
64475         program_invocation_name.
64476         * lib/progname.c:  Include <errno.h>.
64477         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
64478         Set program_invocation_name.
64480 2009-08-23  Bruno Haible  <bruno@clisp.org>
64482         * lib/dup3.c: Include <string.h>.
64484 2009-08-23  Bruno Haible  <bruno@clisp.org>
64486         * lib/dup3.c (dup3): Test only once whether the system actually exists.
64487         * lib/pipe2.c (pipe2): Likewise.
64488         Suggested by Eric Blake.
64490 2009-08-23  Bruno Haible  <bruno@clisp.org>
64492         Tolerate declared but missing dup3 syscall.
64493         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
64494         * lib/unistd.in.h (dup3): If the function is already present,
64495         override it.
64496         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
64497         * modules/dup3 (Makefile.am): Compile dup3.c always.
64498         Reported by Paolo Bonzini.
64500 2009-08-23  Bruno Haible  <bruno@clisp.org>
64502         Tolerate declared but missing pipe2 syscall.
64503         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
64504         available.
64505         * lib/unistd.in.h (pipe2): If the function is already present,
64506         override it.
64507         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
64508         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
64509         Reported by Paolo Bonzini.
64511 2009-08-23  Bruno Haible  <bruno@clisp.org>
64513         * lib/pipe2.c (pipe2): Move #ifs inside function.
64515 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64517         quotearg: document limitations of quote_these_too
64518         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
64519         those limitations are created.
64520         * lib/quotearg.h (set_char_quoting): Document that digits and
64521         letters that are special after backslash are not permitted.
64522         (quotearg_char): Cross-reference set_char_quoting documentation.
64524 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
64526         quotearg: implement custom_quoting_style
64527         * lib/quotearg.c: (struct quoting_options): Add left_quote and
64528         right_quote fields.
64529         (set_custom_quoting): New public function.
64530         (quotearg_buffer_restyled): Add left_quote and right_quote
64531         arguments, handle them very much like locale quoting, and update
64532         all uses.
64533         (quotearg_n_custom): New public function.
64534         (quotearg_n_custom_mem): New public function.
64535         (quotearg_custom): New public function.
64536         (quotearg_custom_mem): New public function.
64537         * lib/quotearg.h: Prototype and document new public functions.
64538         (enum quoting_style): For escape_quoting_style and
64539         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
64540         ignored even though they're otherwise like c_quoting_style.
64541         Add custom_quoting_style member and document with comparison to
64542         clocale_quoting_style.
64543         * tests/test-quotearg.c (custom_quotes): New array.
64544         (custom_results): New array.
64545         (main): Extend to test custom quoting.
64547 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64549         quotearg: fix right quote escaping when it's in quote_these_too
64550         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
64551         quote, be sure to prepend only one backslash.
64552         * tests/test-quotearg.c (use_quote_double_quotes): New function.
64553         (main): Test it.
64555 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64557         quotearg-tests: test escaping of embedded locale quotes
64558         * tests/test-quotearg.c (struct result_strings): Add member for
64559         new input.
64560         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
64561         (inputs): Add new input.
64562         (results_g): Add expected results.
64563         (flag_results): Likewise.
64564         (locale_results): Likewise.
64565         (compare_strings): Check those.
64567 2009-08-23  Bruno Haible  <bruno@clisp.org>
64569         Tests for module 'dup3'.
64570         * modules/dup3-tests: New file.
64571         * tests/test-dup3.c: New file.
64573         New module 'dup3'.
64574         * lib/unistd.in.h (dup3): New declaration.
64575         * lib/dup3.c: New file.
64576         * m4/dup3.m4: New file.
64577         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
64578         HAVE_DUP3.
64579         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
64580         * modules/dup3: New file.
64581         * doc/glibc-functions/dup3.texi: Mention the new module.
64583 2009-08-23  Bruno Haible  <bruno@clisp.org>
64585         Tweak the dup2 test.
64586         * tests/test-dup2.c (main): Create the test file empty. Verify that an
64587         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
64588         the test file is still empty. Fix argument order of lseek.
64590 2009-08-23  Bruno Haible  <bruno@clisp.org>
64592         Avoid test link errors when the modules getopt-gnu, gettext are used.
64593         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
64594         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64596 2009-08-23  Bruno Haible  <bruno@clisp.org>
64598         Fix getdtablesize() on mingw.
64599         * lib/getdtablesize.c (getdtablesize): Implement differently.
64600         * lib/unistd.in.h (getdtablesize): Improve comment.
64602 2009-08-23  Bruno Haible  <bruno@clisp.org>
64604         New module 'mkostemp'.
64605         Based on Ulrich Drepper's 2007-08-10 change in glibc.
64606         * lib/stdlib.in.h (mksotemp): New declaration.
64607         * lib/mkostemp.c: New file, from glibc with modifications.
64608         * lib/tempname.h (GT_FILE): Remove outdated comment.
64609         (gen_tempname): Add flags argument.
64610         * lib/tempname.c (__GT_BIGFILE): Remove macro.
64611         (__GT_FILE): Map to 1.
64612         (small_open, large_open): Remove macros.
64613         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
64614         * lib/mkstemp.c (mkstemp): Update.
64615         * lib/mkdtemp.c (mkdtemp): Likewise.
64616         * m4/mkostemp.m4: New file.
64617         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
64618         HAVE_MKOSTEMP.
64619         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
64620         HAVE_MKOSTEMP.
64621         * modules/mkostemp: New file, based on modules/mkstemp.
64622         * doc/glibc-functions/mkostemp.texi: Mention the new module.
64623         * NEWS: Mention the change.
64625 2009-08-23  Bruno Haible  <bruno@clisp.org>
64627         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
64628         Reported by Eric Blake.
64630 2009-08-23  Bruno Haible  <bruno@clisp.org>
64632         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
64633         Reported by Eric Blake.
64635 2009-08-23  Bruno Haible  <bruno@clisp.org>
64637         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
64638         * modules/pipe2 (Depends-on): Likewise.
64640 2009-08-23  Eric Blake  <ebb9@byu.net>
64642         fcntl-h: add O_TTY_INIT support
64643         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
64644         * tests/test-fcntl-h.c (o): Test it.
64645         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
64647         fcntl-h: rename from fcntl, in preparation for fcntl(2)
64648         * modules/fcntl: Move <fcntl.h> header replacement...
64649         * modules/fcntl-h: ...to new name, so as not to collide with
64650         like-named function.
64651         * tests/test-fcntl.c: Rename...
64652         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
64653         * modules/fcntl-tests: Rename...
64654         * modules/fcntl-h-tests: ...to this.  Update test file name.
64655         * modules/chdir-long (Depends-on): Update clients.
64656         * modules/chdir-safer (Depends-on): Likewise.
64657         * modules/fcntl-safer (Depends-on): Likewise.
64658         * modules/fts (Depends-on): Likewise.
64659         * modules/mkancesdirs (Depends-on): Likewise.
64660         * modules/mkdir-p (Depends-on): Likewise.
64661         * modules/open (Depends-on): Likewise.
64662         * modules/savewd (Depends-on): Likewise.
64663         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
64664         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
64666 2009-08-22  Bruno Haible  <bruno@clisp.org>
64668         * modules/binary-io (License): Relicense under LGPL.
64669         * modules/pipe2 (License): Likewise.
64671 2009-08-22  Bruno Haible  <bruno@clisp.org>
64673         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
64674         return value.
64675         * lib/pipe-filter-gi.c (filter_init): Likewise.
64676         Reported by Eric Blake.
64678 2009-08-22  Bruno Haible  <bruno@clisp.org>
64680         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
64681         * modules/pipe (Depends-on): Add pipe2.
64683 2009-08-22  Bruno Haible  <bruno@clisp.org>
64685         Tests for module 'pipe2'.
64686         * modules/pipe2-tests: New file.
64687         * tests/test-pipe2.c: New file.
64689         New module 'pipe2'.
64690         * lib/unistd.in.h (pipe2): New declaration.
64691         * lib/pipe2.c: New file.
64692         * m4/pipe2.m4: New file.
64693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
64694         HAVE_PIPE2.
64695         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
64696         * modules/pipe2: New file.
64697         * doc/glibc-functions/pipe2.texi: Mention the new module.
64699 2009-08-22  Bruno Haible  <bruno@clisp.org>
64701         Reference some new glibc functions.
64702         * doc/glibc-functions/accept4.texi: New file.
64703         * doc/glibc-functions/dup3.texi: New file.
64704         * doc/glibc-functions/mkostemp.texi: New file.
64705         * doc/glibc-functions/pipe2.texi: New file.
64706         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
64707         (Glibc sys/socket.h): Refer to accept4.
64708         (Glibc unistd.h): Refer to dup3, pipe2.
64709         Reported by Eric Blake.
64711 2009-08-22  Jim Meyering  <meyering@redhat.com>
64712             Bruno Haible  <bruno@clisp.org>
64714         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
64715         This makes it so packages using automake-1.11's silent-rules option
64716         can print e.g., a single "GEN    configmake.h" line, rather than
64717         the 30+ statements that perform the job.  If you want to see the
64718         actual commands, you can still run "make V=1".
64719         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
64720         so that make output is abbreviated when those variables are defined
64721         appropriately.
64722         * modules/argz: Likewise.
64723         * modules/arpa_inet: Likewise.
64724         * modules/byteswap: Likewise.
64725         * modules/configmake: Likewise.
64726         * modules/dirent: Likewise.
64727         * modules/errno: Likewise.
64728         * modules/fcntl: Likewise.
64729         * modules/float: Likewise.
64730         * modules/fnmatch: Likewise.
64731         * modules/getopt-posix: Likewise.
64732         * modules/glob: Likewise.
64733         * modules/iconv_open: Likewise.
64734         * modules/inttypes: Likewise.
64735         * modules/localcharset: Likewise.
64736         * modules/locale: Likewise.
64737         * modules/math: Likewise.
64738         * modules/netdb: Likewise.
64739         * modules/netinet_in: Likewise.
64740         * modules/poll: Likewise.
64741         * modules/posix_spawnp-tests: Likewise.
64742         * modules/sched: Likewise.
64743         * modules/search: Likewise.
64744         * modules/selinux-h: Likewise.
64745         * modules/signal: Likewise.
64746         * modules/spawn: Likewise.
64747         * modules/stdarg: Likewise.
64748         * modules/stdbool: Likewise.
64749         * modules/stddef: Likewise.
64750         * modules/stdint: Likewise.
64751         * modules/stdio: Likewise.
64752         * modules/stdlib: Likewise.
64753         * modules/string: Likewise.
64754         * modules/strings: Likewise.
64755         * modules/sys_file: Likewise.
64756         * modules/sys_ioctl: Likewise.
64757         * modules/sys_select: Likewise.
64758         * modules/sys_socket: Likewise.
64759         * modules/sys_stat: Likewise.
64760         * modules/sys_time: Likewise.
64761         * modules/sys_times: Likewise.
64762         * modules/sys_utsname: Likewise.
64763         * modules/sys_wait: Likewise.
64764         * modules/sysexits: Likewise.
64765         * modules/time: Likewise.
64766         * modules/unistd: Likewise.
64767         * modules/wchar: Likewise.
64768         * modules/wctype: Likewise.
64770 2009-08-22  Jim Meyering  <meyering@redhat.com>
64772         announce-gen: detect write failure
64773         * build-aux/announce-gen: Add Coda at end.
64774         Remove equivalent-but-more-verbose block at top.
64776 2009-08-19  Akim Demaille  <demaille@gostai.com>
64778         bootstrap: --help to stdout.
64779         * bootstrap (usage): Don't send --help to stderr.
64780         Use a here doc instead of a long string.
64782 2009-08-21  Eric Blake  <ebb9@byu.net>
64784         test-popen-safer: split from test-popen
64785         * tests/test-popen.c (main): Move...
64786         * tests/test-popen.h: ...into new file.
64787         * tests/test-popen-safer2.c: New file.
64788         * modules/popen-tests (Files): Add test-popen.h.
64789         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
64790         Suggested by Bruno Haible.
64792         test-fcntl-safer: split from test-open
64793         * tests/test-open.c (main): Move...
64794         * tests/test-open.h: ...into new file.
64795         * tests/test-fcntl-safer.c: New file.
64796         * modules/open-tests (Files): Add test-open.h.
64797         * modules/fcntl-safer-tests: New file.
64798         Suggested by Bruno Haible.
64800         test-fopen-safer: split from test-fopen
64801         * tests/test-fopen.c (main): Move...
64802         * tests/test-fopen.h: ...into new file.
64803         * tests/test-fopen-safer.c: New file.
64804         * modules/fopen-tests (Files): Add test-fopen.h.
64805         * modules/fopen-safer-tests: New file.
64806         Suggested by Bruno Haible.
64808 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
64810         popen-safer: test O_CLOEXEC at run-time.
64811         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
64813 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
64815         fcntl: move more flags to the header
64816         * lib/cloexec.c: Do not define FD_CLOEXEC here.
64817         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
64818         * lib/fcntl.in.h: Do both things here.
64820 2009-08-21  Jim Meyering  <meyering@redhat.com>
64822         consistently remove $@-t before redirecting to it
64823         * modules/argz: Remove $@-t and $@ before redirecting to the former.
64824         * modules/alloca-opt: Likewise.
64825         * modules/byteswap: Likewise.
64826         * modules/fnmatch: Likewise.
64827         * modules/getopt-posix: Likewise.
64828         * modules/glob: Likewise.
64829         * modules/poll: Likewise.
64830         * modules/posix_spawnp-tests: Likewise.
64831         * modules/sys_socket: Likewise.
64832         * modules/sysexits: Likewise.
64834 2009-08-21  Eric Blake  <ebb9@byu.net>
64836         popen: simplify access to original popen
64837         * lib/popen.c (rpl_popen): No need to worry about popen being a
64838         macro.
64839         Reported by Bruno Haible.
64841 2009-08-20  Eric Blake  <ebb9@byu.net>
64843         build: avoid some compiler warnings
64844         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
64845         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
64846         type.
64847         (new_exclude_segment, excluded_file_pattern_p)
64848         (excluded_file_name_p): Reduce scope.
64849         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
64850         old-style declaration.
64852 2009-08-20  Simon Josefsson  <simon@josefsson.org>
64854         * tests/test-exclude1.sh: Handle Windows EOL.
64855         * tests/test-exclude2.sh: Likewise.
64856         * tests/test-exclude3.sh: Likewise.
64857         * tests/test-exclude4.sh: Likewise.
64858         * tests/test-exclude5.sh: Likewise.
64859         * tests/test-exclude6.sh: Likewise.
64860         * tests/test-exclude7.sh: Likewise.
64862 2009-08-19  Akim Demaille  <demaille@gostai.com>
64864         bootstrap: find sha1sum when named gsha1sum.
64865         * bootstrap (find_tool): New.
64866         ($SHA1SUM): New.
64867         Use it.
64869 2009-08-20  Jim Meyering  <meyering@redhat.com>
64871         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
64872         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
64873         expression that converts "." in a file name to "\." in the resulting
64874         regexp.  Start with a dummy statement, so that prior shell variable
64875         definitions are expanded portably.  Reported by Simon Josefsson.
64877 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
64879         Fix polling for writeability of a screen buffer.
64880         * lib/poll.c: Distinguish input and screen buffers for the
64881         Win32 implementation.
64882         * lib/select.c: Likewise.
64884 2009-08-19  Eric Blake  <ebb9@byu.net>
64886         popen-safer: prevent popen from clobbering std descriptors
64887         * modules/popen-safer: New file.
64888         * lib/popen-safer.c: Likewise.
64889         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
64890         * lib/stdio--.h (popen): Provide override.
64891         * lib/stdio-safer.h (popen_safer): Provide declaration.
64892         * tests/test-popen.c (includes): Partially test this.
64893         * modules/popen-safer-tests: New file, for more tests.
64894         * tests/test-popen-safer.c: Likewise.
64895         * MODULES.html.sh (file stream based Input/Output): Mention it.
64897         tests: test some of the *-safer modules
64898         * modules/fopen-safer (Depends-on): Add fopen.
64899         * modules/fcntl-safer (Depends-on): Add fcntl.
64900         * modules/stdlib-safer (Depends-on): Add stdlib.
64901         (configure.ac): Set indicator.
64902         * modules/unistd-safer (configure.ac): Likewise.
64903         * modules/tmpfile-safer (configure.ac): Likewise.
64904         (Depends-on): Add tmpfile.
64905         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
64906         active.
64907         * tests/test-fopen.c (includes): Test safer versions when they are
64908         in use.
64909         * tests/test-open.c (includes): Likewise.
64911         popen: fix cygwin 1.5 bug when stdin closed
64912         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
64913         * modules/popen: New file.
64914         * modules/popen-tests: Likewise.
64915         * tests/test-popen.c: Likewise.
64916         * m4/popen.m4: Likewise.
64917         * lib/popen.c: Likewise.
64918         * lib/stdio.in.h (popen): New declaration.
64919         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
64920         * modules/stdio (Makefile.am): Likewise.
64921         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
64923 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
64925         maint.mk: give full control over update-copyright exclusions
64926         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
64927         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
64928         (update-copyright): Don't force inclusion of top-level
64929         ChangeLog.  Don't force exclusion of all COPYING files, but make
64930         them the default exclusion instead.
64932 2009-08-16  Bruno Haible  <bruno@clisp.org>
64934         Fix test failures on Solaris 10.
64935         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
64936         tests when Solaris iconv() is used.
64937         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
64938         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
64939         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
64940         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
64941         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
64943 2009-08-16  Bruno Haible  <bruno@clisp.org>
64945         Fix test failures on Solaris 10.
64946         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
64947         'tr' program and pass it as first argument.
64948         * tests/test-pipe-filter-gi1.sh: Likewise.
64949         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
64950         program as first argument.
64951         * tests/test-pipe-filter-gi1.c (main): Likewise.
64953 2009-08-16  Eric Blake  <ebb9@byu.net>
64955         fpurge: fix previous commits
64956         * modules/fpurge (Makefile.am): Make replacement conditional,
64957         partially reverting 2007-04-29 change; missed in previous
64958         attempt.
64959         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
64960         is missing.
64962 2009-08-16  Bruno Haible  <bruno@clisp.org>
64964         Clarify fpurge's effect on the file position.
64965         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
64966         * tests/test-fpurge.c (main): Make a second pass for checking the file
64967         position.
64969 2009-08-16  Bruno Haible  <bruno@clisp.org>
64971         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
64972         declaration of fpurge is missing.
64973         * tests/test-fpurge.c (main): Check that the file has not more contents
64974         than expected. Close the file before removing it.
64976 2009-08-15  Eric Blake  <ebb9@byu.net>
64978         fpurge: don't wrap working cygwin implementation
64979         * lib/fpurge.c (fpurge): Fix comment typo.
64980         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
64981         1.7 to avoid replacement.
64982         * tests/test-fpurge.c (main): Enhance test.
64984 2009-08-15  Eric Blake  <ebb9@byu.net>
64985         and Jim Meyering  <meyering@redhat.com>
64987         test-update-copyright: skip if perl is insufficient
64988         * tests/test-update-copyright.sh: Failure to run maintainer tool
64989         should not cause testsuite failure on cygwin 1.5.
64991 2009-08-14  Eric Blake  <ebb9@byu.net>
64993         doc: mention more functions added in cygwin 1.7.0
64994         * doc/posix-headers/limits.texi (limits.h): Update for recent
64995         cygwin additions.
64996         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
64997         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
64998         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
64999         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
65000         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
65002 2009-08-14  Eric Blake  <ebb9@byu.net>
65004         maint.mk: simplify update-copyright rule
65005         * top/maint.mk (update-copyright-local): Delete, and document how
65006         to do it in cfg.mk instead.
65007         (update-copyright-exclude-regexp): Delete, and document how to do
65008         it in .x-update-copyright instead.
65009         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
65010         exclude ChangeLog.
65012 2009-08-14  Bruno Haible  <bruno@clisp.org>
65014         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
65016 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
65018         maint.mk: support update-copyright-env
65019         * top/maint.mk (update-copyright-env): Define place-holder.
65020         (update-copyright): Expand $(update-copyright-env) before
65021         invoking update-copyright.
65023 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
65025         update-copyright: implement forced reformatting
65026         * build-aux/update-copyright: Implement and document
65027         UPDATE_COPYRIGHT_FORCE.
65028         * tests/test-update-copyright.sh: Test it.
65030 2009-08-14  Eric Blake  <ebb9@byu.net>
65031         and Bruno Haible  <bruno@clisp.org>
65033         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
65034         * tests/test-locale.c: Revert previous patch related to NULL.
65035         * tests/test-stdio.c: Likewise.
65036         * tests/test-stdlib.c: Likewise.
65037         * tests/test-string.c: Likewise.
65038         * tests/test-unistd.c: Likewise.
65039         * modules/time-tests (Depends-on): Add verify.
65040         * modules/wchar-tests (Depends-on): Likewise.
65041         * tests/test-time.c: Test for NULL compliance.
65042         * tests/test-wchar.c: Likewise.
65043         * modules/locale (Depends-on): Add stddef.
65044         * modules/stdio (Depends-on): Likewise.
65045         * modules/stdlib (Depends-on): Likewise.
65046         * modules/string (Depends-on): Likewise.
65047         * modules/time (Depends-on): Likewise.
65048         * modules/unistd (Depends-on): Likewise.
65049         * modules/wchar (Depends-on): Likewise.
65050         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
65051         * lib/stdlib.in.h (includes): Likewise.
65052         * lib/string.in.h (includes): Likewise.
65053         * lib/time.in.h (includes): Likewise.
65054         * lib/unistd.in.h (includes): Likewise.
65055         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
65056         replaced.
65057         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
65058         * m4/stddef_h.m4: New file.
65059         * modules/stddef: Likewise.
65060         * lib/stddef.in.h: Likewise.
65061         * modules/stddef-tests: Likewise.
65062         * tests/test-stddef.c: Likewise.
65063         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
65064         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
65065         * doc/posix-headers/locale.texi (locale.h): Likewise.
65066         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
65067         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65068         * doc/posix-headers/string.texi (string.h): Likewise.
65069         * doc/posix-headers/time.texi (time.h): Likewise.
65070         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
65071         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
65073 2009-08-14  Eric Blake  <ebb9@byu.net>
65075         doc: improve git diff of texinfo files
65076         * .gitattributes: Add rule for *.texi files, with hint on how to
65077         use it.
65078         Copied from m4, and based on a report by Bruno Haible.
65080 2009-08-14  Bruno Haible  <bruno@clisp.org>
65082         Disable multithread support by default on Cygwin 1.5.x for real.
65083         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
65085 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
65087         update-copyright: much ado about intervals
65088         * build-aux/update-copyright: Implement and document
65089         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
65090         of copyright year intervals.
65091         Also, document UPDATE_COPYRIGHT_YEAR.
65092         * tests/test-update-copyright.sh: Test it.
65094         update-copyright: convert 2-digit to 4-digit years
65095         * build-aux/update-copyright: Implement and document.
65096         * tests/test-update-copyright.sh: Update.
65098 2009-08-14  Jim Meyering  <meyering@redhat.com>
65100         test-exclude: avoid coreutils "make check" failure
65101         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
65102         just as in test-argmatch.c.
65104 2009-08-13  Eric Blake  <ebb9@byu.net>
65106         test-dup2: fix bad assumption
65107         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
65108         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
65110         test-version-etc: fix CRLF portability issue
65111         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
65112         recognize \r.
65113         * tests/test-argp-version-etc-1.sh: Likewise.
65115         getopt: update client modules
65116         * modules/argp (Depends-on): Use getopt-gnu.
65117         * modules/git-merge-changelog (Depends-on): Likewise.
65118         * modules/long-options (Depends-on): Likewise.
65119         * modules/xstrtol (Depends-on): Likewise.
65121 2009-08-13  Simon Josefsson  <simon@josefsson.org>
65123         * tests/test-version-etc.sh: Don't fail on different
65124         project/version.  Don't fail on CRLF differences.  Rewrite to use
65125         multiple -e instead of multiple sed forks, suggested by Eric Blake
65126         <ebb9@byu.net>.
65127         * tests/test-argp-version-etc-1.sh: Likewise.
65129 2009-08-13  Simon Josefsson  <simon@josefsson.org>
65131         * tests/test-version-etc.sh: Don't fail on different
65132         project/version.
65134 2009-08-12  Bruno Haible  <bruno@clisp.org>
65136         Tests for modules 'getopt-posix', 'getopt-gnu'.
65137         * modules/getopt-posix-tests: New file.
65138         * tests/test-getopt.c: New file.
65139         * tests/test-getopt.h: New file.
65140         * tests/test-getopt_long.h: New file.
65142         New modules 'getopt-posix', 'getopt-gnu'.
65143         * modules/getopt-gnu: New file, renamed from modules/getopt.
65144         * modules/getopt-posix: New file.
65145         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
65146         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
65147         (gl_GETOPT): Remove macro.
65148         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
65149         Disable the test against BSD systems that declare optreset. Test
65150         against mingw bug. Test against lack of support of optional arguments
65151         on many platforms.
65152         * doc/glibc-headers/getopt.texi: Update module name and list of
65153         relevant platforms.
65154         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
65155         'getopt-gnu' and more portability problems.
65156         * NEWS: Mention the changes.
65158 2009-08-12  Bruno Haible  <bruno@clisp.org>
65160         Ensure that optarg etc. get declared by <unistd.h>.
65161         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
65162         AC_USE_SYSTEM_EXTENSIONS.
65163         * modules/getopt (Depends-on): Add 'extensions'.
65165 2009-08-12  Bruno Haible  <bruno@clisp.org>
65167         Avoid test link errors.
65168         * modules/pipe-filter-ii-tests (Makefile.am): Define
65169         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
65170         * modules/pipe-filter-gi-tests (Makefile.am): Define
65171         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
65172         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65174 2009-08-12  Bruno Haible  <bruno@clisp.org>
65176         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
65177         gl_GETOPT_SUBSTITUTE before.
65178         (gl_GETOPT): Use it.
65179         * m4/argp.m4 (gl_ARGP): Update.
65180         Reported by Sergey Poznyakoff.
65182         * m4/getopt.m4: Reorder macros.
65183         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
65184         (gl_GETOPT_SUBSTITUTE): Remove macro.
65186 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65188         Minor improvement in gitlog-to-changelog
65190         * build-aux/gitlog-to-changelog: New option `--format' makes
65191         output format string configurable.
65193 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65195         Optimize exclude: use hash tables for non-wildcard patterns.
65197         * lib/exclude.c: Include hash.h and mbuiter.h
65198         (struct exclude_pattern, exclude_segment): New data types.
65199         (struct exclude): Rewrite.
65200         (fnmatch_pattern_has_wildcards): New function.
65201         (new_exclude_segment, free_exclude_segment): New functions.
65202         (excluded_file_pattern_p, excluded_file_name_p): New functions.
65203         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
65204         * lib/exclude.h (is_fnmatch_pattern): New prototype.
65205         * modules/exclude: Depend on hash and mbuiter.
65207         * modules/exclude-tests: New file.
65208         * tests/test-exclude.c: New file.
65209         * tests/test-exclude1.sh: New file.
65210         * tests/test-exclude2.sh: New file.
65211         * tests/test-exclude3.sh: New file.
65212         * tests/test-exclude4.sh: New file.
65213         * tests/test-exclude5.sh: New file.
65214         * tests/test-exclude6.sh: New file.
65215         * tests/test-exclude7.sh: New file.
65217 2009-08-12  Bruno Haible  <bruno@clisp.org>
65219         Ensure that getopt() gets declared by <unistd.h>.
65220         * lib/unistd.in.h: Conditionally include getopt.h.
65221         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
65222         Set GNULIB_UNISTD_H_GETOPT.
65223         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
65224         GNULIB_UNISTD_H_GETOPT.
65225         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
65227 2009-08-12  Bruno Haible  <bruno@clisp.org>
65229         Clarify logic.
65230         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
65231         gl_replace_getopt instead of GETOPT_H.
65233 2009-08-12  Bruno Haible  <bruno@clisp.org>
65235         * m4/getopt.m4: Add comments.
65237 2009-08-12  Bruno Haible  <bruno@clisp.org>
65239         Disable multithread support by default on Cygwin 1.5.x.
65240         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
65241         set gl_use_threads=no if not specified otherwise.
65243 2009-08-11  Bruno Haible  <bruno@clisp.org>
65245         Avoid compilation error on NetBSD 5.0.
65246         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
65247         * tests/test-stdio.c: Likewise.
65248         * tests/test-stdlib.c: Likewise.
65249         * tests/test-string.c: Likewise.
65250         * tests/test-unistd.c: Likewise.
65251         Reported by Greg Troxel <gdt@ir.bbn.com>
65252         at <https://savannah.gnu.org/support/?106973>.
65254 2009-08-11  Bruno Haible  <bruno@clisp.org>
65256         * modules/dup2-tests (Depends-on): Remove close.
65258         Undo 2009-07-19 commit.
65259         * modules/acl-tests (Depends-on): Remove close.
65260         * modules/binary-io-tests (Depends-on): Likewise.
65261         * modules/closein-tests (Depends-on): Likewise.
65262         * modules/flock-tests (Depends-on): Likewise.
65263         * modules/fsync-tests (Depends-on): Likewise.
65264         * modules/lseek-tests (Depends-on): Likewise.
65265         * modules/pipe-tests (Depends-on): Likewise.
65266         * modules/posix_spawn-tests (Depends-on): Likewise.
65267         * modules/posix_spawnp-tests (Depends-on): Likewise.
65268         * modules/stat-time-tests (Depends-on): Likewise.
65269         * modules/yesno-tests (Depends-on): Likewise.
65271 2009-08-10  Bruno Haible  <bruno@clisp.org>
65273         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
65275 2009-08-10  Bruno Haible  <bruno@clisp.org>
65277         Fix a gcc warning.
65278         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
65280 2009-08-10  Bruno Haible  <bruno@clisp.org>
65282         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
65283         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
65284         not only the first time.
65285         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
65286         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
65287         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
65288         is 1, not only the first time.
65290 2009-08-10  Bruno Haible  <bruno@clisp.org>
65292         Make it possible to use module 'gethostname' without module 'close'.
65293         * lib/unistd.in.h (close): Evoke a link error only if
65294         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
65295         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
65296         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65297         * modules/unistd (Makefile.am): Substitute
65298         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65299         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
65300         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
65301         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
65302         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65303         * modules/sys_ioctl (Makefile.am): Substitute
65304         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65305         * modules/socket (configure.ac): On native Windows, set
65306         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
65307         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65308         Reported by Sam Steingold <sds@gnu.org>.
65310 2009-08-10  Bruno Haible  <bruno@clisp.org>
65312         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
65313         * modules/ioctl (configure.ac): Likewise.
65315 2009-08-10  Bruno Haible  <bruno@clisp.org>
65317         Avoid collision between gnulib wrapper and libintl wrapper.
65318         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
65319         already defined in intl/printf.c.
65320         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
65321         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
65323 2009-08-09  Bruno Haible  <bruno@clisp.org>
65325         Make <sys/select.h> really self-contained, also on Solaris 10.
65326         * lib/sys_select.in.h: Include <string.h>.
65327         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
65328         Solaris 10 problem.
65329         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
65330         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
65331         Reported by Jim Meyering.
65333 2009-08-09  Bruno Haible  <bruno@clisp.org>
65335         Avoid warnings from 'aclocal' that are due to a use of macro name
65336         AM_XGETTEXT_OPTION that is not defined in automake.
65337         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
65338         automake.
65339         * modules/error (configure.ac): Likewise.
65340         * modules/propername (configure.ac): Likewise.
65341         * modules/vasprintf (configure.ac): Likewise.
65342         * modules/verror (configure.ac): Likewise.
65343         * modules/xprintf (configure.ac): Likewise.
65344         * modules/xvasprintf (configure.ac): Likewise.
65346 2009-08-08  Bruno Haible  <bruno@clisp.org>
65348         Avoid compilation error in C++ mode.
65349         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
65350         Reported by Sam Steingold <sds@gnu.org>.
65352 2009-08-08  Bruno Haible  <bruno@clisp.org>
65354         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
65355         for the various Unix platforms.
65356         * doc/posix-headers/limits.texi: Update platforms list regarding
65357         HOST_NAME_MAX.
65358         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65360 2009-08-07  Jim Meyering  <meyering@redhat.com>
65362         selinux-at: fix typo in a comment
65363         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
65364         Spotted by Paolo Bonzini.
65366         selinux-at: remove redundant m4 code, add documentation
65367         * modules/selinux-at (configure.ac): Remove redundant code.
65368         LIB_SELINUX is already set via the dependent module, selinux-h.
65369         (Include): Add quotes around selinux-at.h.
65370         * lib/selinux-at.h: Add documentation.
65371         Reported by Bruno Haible in
65372         http://marc.info/?l=gnulib-bug&m=124958988300749
65374 2009-08-07  Bruno Haible  <bruno@clisp.org>
65376         Avoid link error on MacOS X 10.3 and 10.4.
65377         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
65378         on non-ELF systems.
65379         * lib/argp-pv.c (argp_program_version): Likewise.
65380         Reported by Simon Josefsson.
65382 2009-08-07  Simon Josefsson  <simon@josefsson.org>
65384         * tests/test-version-etc.sh: Use $EXEEXT.
65386 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
65388         update-copyright: update documentation to point to maint.mk
65389         * build-aux/update-copyright: Here.
65391 2009-08-06  Jim Meyering  <meyering@redhat.com>
65393         maint.mk: support update-copyright-local
65394         * top/maint.mk (update-copyright-local): Define place-holder.
65395         (update-copyright): Depend on $(update-copyright-local).
65397 2009-08-06  Jim Meyering  <meyering@redhat.com>
65399         selinux-at: new module
65400         Initially written for coreutils, this module will soon be
65401         used by findutils, too.
65402         * MODULES.html.sh [Misc]: Add selinux-at.
65403         * lib/selinux-at.h: New file, from coreutils.
65404         * lib/selinux-at.c: Likewise.
65405         * modules/selinux-at: Likewise.
65406         (License): Change from LGPL to GPL, since it depends
65407         on the GPL'd openat module.
65409         doc: update README
65410         * README: Remove references to cogito.
65411         Remove cvs-repo-updating instructions from 2007.
65412         Don't imply that CVS is better if you have limited disk space.
65414 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65416         update-copyright: support C-style comments
65417         * build-aux/update-copyright: Implement and document.
65418         * tests/test-update-copyright.sh: Test.
65420 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65422         update-copyright: support omitted "(C)"
65423         * build-aux/update-copyright: Implement and document.  Also,
65424         allow variable whitespace before "(C)".
65425         * tests/test-update-copyright.sh: Test.
65427 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65429         update-copyright: don't trip on non-FSF copyright statements
65430         * build-aux/update-copyright: Fix so that the first correctly
65431         formatted FSF copyright statement is recognized no matter what
65432         appears before it.  Update documentation.
65433         * tests/test-update-copyright.sh: Test that.
65435 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65437         update-copyright: clean up code a little
65438         * build-aux/update-copyright: Append "_re" to the name of any
65439         variable holding a regular expression.
65440         Replace "old" and "new" with "stmt" in variable names.
65441         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
65442         handled correctly.
65443         Format code more consistently.
65445 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65447         update-copyright-tests: improve portability
65448         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
65449         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
65451 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
65453         update-copyright: support @copyright{} and &copy;
65454         * build-aux/update-copyright: Implement and document.
65455         * tests/test-update-copyright.sh: Test.
65457 2009-08-04  Jim Meyering  <meyering@redhat.com>
65459         update-copyright-tests: correctly test EOL=\r\n handling
65460         * tests/test-update-copyright.sh: Put \r at the end of some lines
65461         for the dos-eol tests.  Based on a patch by Joel E. Denny.
65463         maint.mk: make update-copyright exclusion list more configurable
65464         * top/maint.mk (update-copyright): Default to excluding COPYING,
65465         but allow an override, in case someone does want to update that file.
65467         maint.mk: don't update copyright date in COPYING
65468         * top/maint.mk (update-copyright): Exclude COPYING.
65470         maint.mk: add a copyright-updating rule
65471         * top/maint.mk (update-copyright): New rule.
65472         Derived from coreutils/Makefile.am.
65474         update-copyright: rename some variables
65475         * build-aux/update-copyright: Rename a few variables for clarity.
65476         Tweak syntax.  List Joel E. Denny as coauthor.
65478 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
65480         update-copyright: fix bug for 2-digit last year and add tests
65481         * build-aux/update-copyright: Fix bug.
65482         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
65483         specified.
65484         * modules/update-copyright-tests: New
65485         * tests/test-update-copyright.sh: New.
65487 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65489         update-copyright: handle leading tabs in line prefix
65490         * build-aux/update-copyright: Count leading tabs as 8 spaces
65491         when computing margin.  This helps with the formatting of
65492         ChangeLogs, for example.
65493         Fix documentation a little.
65495 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65497         update-copyright: support EOL=\r\n
65498         * build-aux/update-copyright: Implement that.
65500 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65502         update-copyright: automatically format copyright statements
65503         * build-aux/update-copyright: Implement that.
65504         Also, be a little more predictable and safer by always failing
65505         when the full copyright format is not perfectly recognized as an
65506         unbroken whole.  Discussed at
65507         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
65508         Rewrite documentation.
65510 2009-08-03  Bruno Haible  <bruno@clisp.org>
65512         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
65514 2009-08-02  Bruno Haible  <bruno@clisp.org>
65516         Tests for module 'uname'.
65517         * modules/uname-tests: New file.
65518         * tests/test-uname.c: New file.
65520         New module 'uname'.
65521         * lib/uname.c: New file.
65522         * m4/uname.m4: New file.
65523         * modules/uname: New file.
65524         * doc/posix-functions/uname.texi: Mention the new module.
65526 2009-08-02  Bruno Haible  <bruno@clisp.org>
65528         Tests for module 'sys_utsname'.
65529         * modules/sys_utsname-tests: New file.
65530         * tests/test-sys_utsname.c: New file.
65532         New module 'sys_utsname'.
65533         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
65534         * m4/sys_utsname_h.m4: New file.
65535         * modules/sys_utsname: New file.
65536         * doc/posix-headers/sys_utsname.texi: Mention the new module.
65538 2009-08-02  Bruno Haible  <bruno@clisp.org>
65540         Implicitly initialize the sockets library.
65541         * lib/gethostname.c: Include sockets.h.
65542         (rpl_gethostname): Invoke gl_sockets_startup.
65543         * lib/socket.c: Include sockets.h.
65544         (rpl_socket): Invoke gl_sockets_startup.
65545         * modules/gethostname (Depends-on): Add sockets.
65546         * modules/socket (Depends-on): Likewise.
65547         * tests/test-poll.c: Don't include sockets.h.
65548         (main): Don't invoke gl_sockets_startup.
65549         * tests/test-select.c: Don't include sockets.h.
65550         (main): Don't invoke gl_sockets_startup.
65552 2009-08-02  Bruno Haible  <bruno@clisp.org>
65554         Allow multiple calls to gl_sockets_startup.
65555         * lib/sockets.c (initialized_sockets_version): New variable.
65556         (gl_sockets_startup): Do nothing if already called for this or a higher
65557         version.
65558         (gl_sockets_cleanup): Reset initialized_sockets_version.
65560 2009-08-03  Simon Josefsson  <simon@josefsson.org>
65562         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
65563         different project/version.
65565 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
65566             Bruno Haible  <bruno@clisp.org>
65568         Tests for module 'pipe-filter-gi'.
65569         * modules/pipe-filter-gi-tests: New file.
65570         * tests/test-pipe-filter-gi1.sh: New file.
65571         * tests/test-pipe-filter-gi1.c: New file.
65572         * tests/test-pipe-filter-gi2.sh: New file.
65573         * tests/test-pipe-filter-gi2-main.c: New file.
65574         * tests/test-pipe-filter-gi2-child.c: New file.
65576         New module 'pipe-filter-gi'.
65577         * lib/pipe-filter-gi.c: New file.
65578         * modules/pipe-filter-gi: New file.
65580 2009-08-02  Bruno Haible  <bruno@clisp.org>
65581             Paolo Bonzini  <bonzini@gnu.org>
65583         Tests for module 'pipe-filter-ii'.
65584         * modules/pipe-filter-ii-tests: New file.
65585         * tests/test-pipe-filter-ii1.sh: New file.
65586         * tests/test-pipe-filter-ii1.c: New file.
65587         * tests/test-pipe-filter-ii2.sh: New file.
65588         * tests/test-pipe-filter-ii2-main.c: New file.
65589         * tests/test-pipe-filter-ii2-child.c: New file.
65591         New module 'pipe-filter-ii'.
65592         * lib/pipe-filter.h: New file.
65593         * lib/pipe-filter-ii.c: New file.
65594         * lib/pipe-filter-aux.h: New file.
65595         * modules/pipe-filter-ii: New file.
65597 2009-08-02  Simon Josefsson  <simon@josefsson.org>
65599         * lib/gc-libgcrypt.c: Change copyright to FSF.
65600         * lib/gc-gnulib.c: Likewise.
65602 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
65604         * lib/gethostname.c: Include limits.h.
65606 2009-08-02  Simon Josefsson  <simon@josefsson.org>
65607             Bruno Haible  <bruno@clisp.org>
65609         Ensure HOST_NAME_MAX as part of the gethostname module.
65610         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
65611         define also HOST_NAME_MAX.
65612         * tests/test-gethostname.c: Include <limits.h>.
65613         (main): Check also HOST_NAME_MAX.
65614         * doc/posix-headers/limits.texi: Document the mingw problem.
65616 2009-08-02  Bruno Haible  <bruno@clisp.org>
65618         * lib/gethostname.c (gethostname): Fix handling of large len argument.
65619         Add comments.
65621 2009-03-31  Simon Josefsson  <simon@josefsson.org>
65623         * lib/gethostname.c: Add Windows wrapper.
65624         * m4/gethostname.m4: Look for gethostname in -lws2_32.
65625         * modules/gethostname: Depend on sys_socket & errno, for also
65626         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
65627         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
65629 2009-07-31  Jim Meyering  <meyering@redhat.com>
65631         getloadavg: fix symbol name in comment
65632         * lib/getloadavg.c: Correct a typo I introduced when adding
65633         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
65634         Matt Kraai spotted the problem.
65636 2009-07-29  Matt Kraai  <mkraai@beckman.com>
65638         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
65639         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
65640         code also if ! defined N_NAME_POINTER.
65641         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
65642         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
65643         but the n_name member is a 12-byte array.
65645 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
65647         update-copyright: generalize comment handling
65648         * build-aux/update-copyright: Handle copyright statements
65649         within more comment styles.
65650         Document usage.
65651         Report any file with an external copyright holder or parse failure.
65653 2009-07-29  Jim Meyering  <meyering@redhat.com>
65655         mktime: correct setting of REPLACE_MKTIME
65656         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
65658         update-copyright: new module
65659         * modules/update-copyright: New file.
65660         * build-aux/update-copyright: New file.
65661         * MODULES.html.sh (maint+release support): Add update-copyright.
65663 2009-07-27  Bruno Haible  <bruno@clisp.org>
65665         Fix compilation error when <ctime> is used and mktime is replaced.
65666         * lib/time.in.h (mktime): New declaration.
65667         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
65668         REPLACE_MKTIME instead of defining mktime in config.h.
65669         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
65670         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
65671         Reported by Ross McFarland <rwmcfa1@neces.com>.
65673 2009-07-27  Bruno Haible  <bruno@clisp.org>
65675         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
65676         Reported by Matt Kraai <mkraai@beckman.com>.
65678 2009-07-25  Jim Meyering  <meyering@redhat.com>
65680         maint.mk: avoid warnings about missing files
65681         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
65682         diagnostic when .prev-version does not exist.
65683         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
65684         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
65685         nonexistent cfg.mk.
65686         Suggestions from Simon Josefsson.
65688 2009-07-25  Bruno Haible  <bruno@clisp.org>
65690         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
65691         defined as macros. Needed on QNX 6.4.1.
65692         Reported by Matt Kraai <mkraai@beckman.com>.
65694 2009-07-23  Jim Meyering  <meyering@redhat.com>
65696         maint.mk: invoke "make dist" with a working value of XZ_OPT
65697         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
65699 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
65701         Make fseeko.c compile on QNX.
65702         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
65704 2009-07-22  Peter Simons  <simons@cryp.to>
65706         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
65707         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
65708         * lib/md4.h: Likewise.
65709         * lib/md5.h: Likewise.
65710         * lib/sha1.h: Likewise.
65711         * lib/sha256.h: Likewise.
65712         * lib/sha512.h: Likewise.
65714         tests-sha1: don't assign literal string to 'char *' variable
65715         * tests/test-sha1.c (main): Declare locals with "const" to match
65716         attributes of the right hand side.
65718 2009-07-21  Eric Blake  <ebb9@byu.net>
65720         dup2: fix more mingw problems
65721         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
65722         fd to itself.
65723         * doc/posix-functions/dup2.texi (dup2): Document the bug.
65724         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
65725         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
65726         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
65727         care of mingw bugs.
65729 2009-07-21  Jim Meyering  <meyering@redhat.com>
65731         vc-list-files: avoid failure when /bin/sh is dash
65732         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
65733         On some Debian based systems, /bin/sh is a symlink to dash, and running
65734         this command would omit the "/" following each 'tests' prefix:
65735           dash -x build-aux/vc-list-files -C . tests
65736         That is because bash and dash work differently:
65737           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
65738           bash ok
65739           dash odd
65741 2009-07-21  Eric Blake  <ebb9@byu.net>
65743         dup2-tests: test previous patch
65744         * modules/dup2-tests: New file.
65745         * tests/test-dup2.c: Likewise.
65746         * tests/test-open.c (main): Avoid unspecified behavior.
65747         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
65748         test.
65750         dup2: work around mingw and cygwin 1.5 bug
65751         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
65752         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
65753         * modules/unistd (Makefile.am): Substitute it.
65754         * lib/unistd.in.h (dup2): Declare the replacement.
65755         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
65756         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
65757         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
65758         * modules/execute (Depends-on): Add dup2.
65759         * modules/fseterr (Depends-on): Likewise.
65760         * modules/pipe (Depends-on): Likewise.
65761         * modules/posix_spawn-internal (Depends-on): Likewise.
65763 2009-07-21  Bruno Haible  <bruno@clisp.org>
65765         * modules/.gitattributes: New file.
65767 2009-07-20  Bruno Haible  <bruno@clisp.org>
65769         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
65770         (main): Use it.
65772 2009-07-20  Eric Blake  <ebb9@byu.net>
65774         test-pipe: make a bit more robust.
65775         * tests/test-pipe.c (myerr): Allow error messages regardless of
65776         what we do to stderr.
65777         (test_pipe): Rearrange to avoid deadlock.
65778         (child_main): Try a larger read, to ensure we avoided deadlock.
65779         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
65780         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
65781         if misused.
65783 2009-07-19  Jim Meyering  <meyering@redhat.com>
65785         fts: avoid false-positive cycle-detection
65786         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
65787         for each new command line argument.
65789 2009-07-19  Bruno Haible  <bruno@clisp.org>
65791         Fix build error on mingw with the modules sys_select and unistd.
65792         * modules/acl-tests (Depends-on): Add close.
65793         * modules/binary-io-tests (Depends-on): Likewise.
65794         * modules/closein-tests (Depends-on): Likewise.
65795         * modules/flock-tests (Depends-on): Likewise.
65796         * modules/fsync-tests (Depends-on): Likewise.
65797         * modules/lseek-tests (Depends-on): Likewise.
65798         * modules/pipe-tests (Depends-on): Likewise.
65799         * modules/posix_spawn-tests (Depends-on): Likewise.
65800         * modules/posix_spawnp-tests (Depends-on): Likewise.
65801         * modules/stat-time-tests (Depends-on): Likewise.
65802         * modules/yesno-tests (Depends-on): Likewise.
65804 2009-07-19  Bruno Haible  <bruno@clisp.org>
65806         Unify conditionals.
65807         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
65808         macros, not at the compiler macros.
65809         * lib/pipe.c: Likewise.
65810         * lib/execute.c: Likewise.
65811         * lib/spawni.c: Likewise.
65813 2009-07-19  Bruno Haible  <bruno@clisp.org>
65815         Fix handling of closed stdin/stdout/stderr on mingw.
65816         * lib/w32spawn.h: Include unistd.h.
65817         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
65818         file descriptor with O_NOINHERIT flag.
65819         (fd_safer_noinherit): New function, based on fd-safer.c.
65820         (dup_safer_noinherit): New function, based on dup-safer.c.
65821         (undup_safer_noinherit): New function.
65822         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
65823         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
65824         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
65825         instead of fd_safer.
65826         * tests/test-pipe.c: Include <windows.h>.
65827         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
65828         result.
65830         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
65831         from main.
65832         (test_pipe): Pass an extra argument for disambiguation.
65833         (main): Invoke parent_main or child_main.
65835         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
65836         consistently.
65838 2009-07-18  Eric Blake  <ebb9@byu.net>
65840         test-pipe: fix mingw build
65841         * tests/test-pipe.c (main): Avoid fcntl on mingw.
65843 2009-07-18  Bruno Haible  <bruno@clisp.org>
65845         * modules/pipe-tests (Makefile.am): Fix typo.
65847 2009-07-18  Eric Blake  <ebb9@byu.net>
65849         error: fix mingw build
65850         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
65851         Reported by Bruno Haible.
65853         error: avoid undefined use of stdout
65854         * lib/error.c (error, error_at_line): Check that fd 1 is open
65855         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
65856         is handling faults and the close_stdout module wants to report the
65857         detection of closed stdout as an error.
65859 2009-07-17  Eric Blake  <ebb9@byu.net>
65861         pipe: be robust in face of closed fds
65862         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
65863         should cause child to misbehave.
65864         * modules/pipe-tests: New module.
65865         * tests/test-pipe.c: New file.
65866         * tests/test-pipe.sh: New file.
65867         Reported by Akim Demaille.
65869 2009-07-14  Bruno Haible  <bruno@clisp.org>
65871         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
65872         Reported by anonymous kc.
65874 2009-07-07  Jim Meyering  <meyering@redhat.com>
65876         maint.mk: don't look for translatable strings in *.m4 or *.mk
65877         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
65878         when searching for translatable strings.
65880 2009-07-05  Jim Meyering  <meyering@redhat.com>
65882         remove superfluous parentheses in STREQ definition
65883         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
65884         * lib/getugroups.c (STREQ): Likewise.
65885         * lib/fnmatch.c (STREQ): Likewise.
65886         Spotted by Bruno Haible.
65888 2009-07-04  Jim Meyering  <meyering@redhat.com>
65890         argv-iter: new module
65891         * MODULES.html.sh: Add argv-iter.
65892         * lib/argv-iter.c, lib/argv-iter.h: New files.
65893         * modules/argv-iter: New file.
65894         * modules/argv-iter-tests: New file.
65895         * tests/test-argv-iter.c: Test it.
65897 2009-07-04  Bruno Haible  <bruno@clisp.org>
65899         Fix assertion.
65900         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
65901         contains more exact copies of a given entry than file2, leave the extra
65902         copies unpaired rather than aborting.
65903         Reported by Eric Blake.
65905 2009-07-02  Bruno Haible  <bruno@clisp.org>
65907         Speedup git-merge-changelog for git cherry-pick.
65908         * lib/git-merge-changelog.c (struct entries_mapping): New type.
65909         (entries_mapping_get): New function, extracted from compute_mapping.
65910         (entries_mapping_reverse_get): New function.
65911         (compute_mapping): Add a 'full' argument. Return the result in a
65912         'struct entries_mapping'.
65913         (main): Update. Access the mappings through entries_mapping_get.
65914         Reported by Eric Blake.
65916 2009-07-02  Bruno Haible  <bruno@clisp.org>
65918         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
65919         best_i.
65921 2009-07-02  Bruno Haible  <bruno@clisp.org>
65923         Speed up approximate search for matching ChangeLog entries.
65924         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
65925         argument. Call fstrcmp_bounded instead of fstrcmp.
65926         (compute_mapping, try_split_merged_entry, main): Update callers.
65928 2009-07-02  Bruno Haible  <bruno@clisp.org>
65930         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
65932 2009-06-30  Bruno Haible  <bruno@clisp.org>
65934         Reduce the number of uc_is_cased calls.
65935         * lib/unicase.h (casing_suffix_context_t): Add
65936         'first_char_except_ignorable' field.
65937         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
65938         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
65939         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
65940         Update initializer.
65941         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
65942         case-ignorable characters.
65943         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
65944         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
65945         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
65946         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
65947         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
65949 2009-06-30  Bruno Haible  <bruno@clisp.org>
65951         Tests for module 'unicase/ignorable'.
65952         * modules/unicase/ignorable-tests: New file.
65953         * tests/unicase/test-ignorable.c: New file, generated by
65954         gen-uni-tables.
65956         Tests for module 'unicase/cased'.
65957         * modules/unicase/cased-tests: New file.
65958         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
65959         * tests/unicase/test-predicate-part1.h: New file, derived from
65960         tests/unictype/test-predicate-part1.h.
65961         * tests/unicase/test-predicate-part2.h: New file, same as
65962         tests/unictype/test-predicate-part2.h.
65964         Fix evaluation of "Before C" condition of FINAL_SIGMA.
65965         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
65966         (output_casing_properties): New function.
65967         (main): Call it.
65968         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
65969         * lib/unicase/cased.c: Include unictype/bitmap.h.
65970         (uc_is_cased): Define through a bitmap lookup.
65971         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
65972         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
65973         (uc_is_case_ignorable): Define through a bitmap lookup.
65974         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
65975         lib/unictype/bitmap.h.
65976         (Depends-on): Add inline. Clean up.
65977         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
65978         lib/unictype/bitmap.h.
65979         (Depends-on): Add inline. Clean up.
65980         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
65981         recognition.
65982         * tests/unicase/test-u16-tolower.c (main): Likewise.
65983         * tests/unicase/test-u32-tolower.c (main): Likewise.
65985 2009-06-30  Bruno Haible  <bruno@clisp.org>
65987         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
65988         * lib/unicase/u16-casemap.c: Likewise.
65989         * lib/unicase/u32-casemap.c: Likewise.
65991 2009-06-29  Bruno Haible  <bruno@clisp.org>
65993         Define u32_casefold as a wrapper around u32_ct_casefold.
65994         * lib/unicase/u32-casefold.c: Update.
65995         * modules/unicase/u32-casefold (Depends-on): Add
65996         unicase/u32-ct-casefold, unicase/empty-prefix-context,
65997         unicase/empty-suffix-context. Clean up.
65999         Define u16_casefold as a wrapper around u16_ct_casefold.
66000         * lib/unicase/u16-casefold.c: Update.
66001         * modules/unicase/u16-casefold (Depends-on): Add
66002         unicase/u16-ct-casefold, unicase/empty-prefix-context,
66003         unicase/empty-suffix-context. Clean up.
66005         Define u8_casefold as a wrapper around u8_ct_casefold.
66006         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
66007         * lib/unicase/u8-casefold.c: Update.
66008         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
66009         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66011         Define u32_totitle as a wrapper around u32_ct_totitle.
66012         * lib/unicase/u32-totitle.c: Update.
66013         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
66014         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66016         Define u16_totitle as a wrapper around u16_ct_totitle.
66017         * lib/unicase/u16-totitle.c: Update.
66018         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
66019         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66021         Define u8_totitle as a wrapper around u8_ct_totitle.
66022         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
66023         functions.
66024         (FUNC): Delegate to U_CT_TOTITLE.
66025         * lib/unicase/u8-totitle.c: Update.
66026         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
66027         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66029         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
66030         invocation.
66031         * modules/unicase/u32-tolower (Depends-on): Add
66032         unicase/empty-prefix-context, unicase/empty-suffix-context.
66034         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
66035         invocation.
66036         * modules/unicase/u16-tolower (Depends-on): Add
66037         unicase/empty-prefix-context, unicase/empty-suffix-context.
66039         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
66040         * modules/unicase/u8-tolower (Depends-on): Add
66041         unicase/empty-prefix-context, unicase/empty-suffix-context.
66043         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
66044         invocation.
66045         * modules/unicase/u32-toupper (Depends-on): Add
66046         unicase/empty-prefix-context, unicase/empty-suffix-context.
66048         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
66049         invocation.
66050         * modules/unicase/u16-toupper (Depends-on): Add
66051         unicase/empty-prefix-context, unicase/empty-suffix-context.
66053         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
66054         * modules/unicase/u8-toupper (Depends-on): Add
66055         unicase/empty-prefix-context, unicase/empty-suffix-context.
66057         New module 'unicase/u32-ct-casefold'.
66058         * lib/unicase/u32-ct-casefold.c: New file.
66059         * modules/unicase/u32-ct-casefold: New file.
66061         New module 'unicase/u16-ct-casefold'.
66062         * lib/unicase/u16-ct-casefold.c: New file.
66063         * modules/unicase/u16-ct-casefold: New file.
66065         New module 'unicase/u8-ct-casefold'.
66066         * lib/unicase/u8-ct-casefold.c: New file.
66067         * lib/unicase/u-ct-casefold.h: New file, derived from
66068         lib/unicase/u-casefold.h.
66069         * modules/unicase/u8-ct-casefold: New file.
66071         New module 'unicase/u32-ct-totitle'.
66072         * lib/unicase/u32-ct-totitle.c: New file.
66073         * modules/unicase/u32-ct-totitle: New file.
66075         New module 'unicase/u16-ct-totitle'.
66076         * lib/unicase/u16-ct-totitle.c: New file.
66077         * modules/unicase/u16-ct-totitle: New file.
66079         New module 'unicase/u8-ct-totitle'.
66080         * lib/unicase/u8-ct-totitle.c: New file.
66081         * lib/unicase/u-ct-totitle.h: New file, derived from
66082         lib/unicase/u-totitle.h.
66083         * modules/unicase/u8-ct-totitle: New file.
66085         New module 'unicase/u32-ct-tolower'.
66086         * lib/unicase/u32-ct-tolower.c: New file.
66087         * modules/unicase/u32-ct-tolower: New file.
66089         New module 'unicase/u16-ct-tolower'.
66090         * lib/unicase/u16-ct-tolower.c: New file.
66091         * modules/unicase/u16-ct-tolower: New file.
66093         New module 'unicase/u8-ct-tolower'.
66094         * lib/unicase/u8-ct-tolower.c: New file.
66095         * modules/unicase/u8-ct-tolower: New file.
66097         New module 'unicase/u32-ct-toupper'.
66098         * lib/unicase/u32-ct-toupper.c: New file.
66099         * modules/unicase/u32-ct-toupper: New file.
66101         New module 'unicase/u16-ct-toupper'.
66102         * lib/unicase/u16-ct-toupper.c: New file.
66103         * modules/unicase/u16-ct-toupper: New file.
66105         New module 'unicase/u8-ct-toupper'.
66106         * lib/unicase/u8-ct-toupper.c: New file.
66107         * modules/unicase/u8-ct-toupper: New file.
66109         Add context arguments to u*_casemap functions.
66110         * lib/unicase/unicasemap.h: Include unicase.h.
66111         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
66112         suffix_context arguments.
66113         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
66114         functions.
66115         (FUNC): Add prefix_context and suffix_context arguments. Use
66116         uc_is_cased and uc_is_case_ignorable.
66117         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
66118         * lib/unicase/u16-casemap.c: Likewise.
66119         * lib/unicase/u32-casemap.c: Likewise.
66120         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
66121         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
66122         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
66123         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
66124         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
66125         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
66127         New module 'unicase/u32-suffix-context'.
66128         * lib/unicase/u32-suffix-context.c: New file.
66129         * modules/unicase/u32-suffix-context: New file.
66131         New module 'unicase/u16-suffix-context'.
66132         * lib/unicase/u16-suffix-context.c: New file.
66133         * modules/unicase/u16-suffix-context: New file.
66135         New module 'unicase/u8-suffix-context'.
66136         * lib/unicase/u8-suffix-context.c: New file.
66137         * lib/unicase/u-suffix-context.h: New file.
66138         * modules/unicase/u8-suffix-context: New file.
66140         New module 'unicase/empty-suffix-context'.
66141         * lib/unicase/empty-suffix-context.c: New file.
66142         * modules/unicase/empty-suffix-context: New file.
66144         New module 'unicase/u32-prefix-context'.
66145         * lib/unicase/u32-prefix-context.c: New file.
66146         * modules/unicase/u32-prefix-context: New file.
66148         New module 'unicase/u16-prefix-context'.
66149         * lib/unicase/u16-prefix-context.c: New file.
66150         * modules/unicase/u16-prefix-context: New file.
66152         New module 'unicase/u8-prefix-context'.
66153         * lib/unicase/u8-prefix-context.c: New file.
66154         * lib/unicase/u-prefix-context.h: New file.
66155         * lib/unicase/context.h: New file.
66156         * modules/unicase/u8-prefix-context: New file.
66158         New module 'unicase/empty-prefix-context'.
66159         * lib/unicase/empty-prefix-context.c: New file.
66160         * modules/unicase/empty-prefix-context: New file.
66162         New module 'unicase/ignorable'.
66163         * lib/unicase/ignorable.c: New file.
66164         * modules/unicase/ignorable: New file.
66166         New module 'unicase/cased'.
66167         * lib/unicase/caseprop.h: New file.
66168         * lib/unicase/cased.c: New file.
66169         * modules/unicase/cased: New file.
66171         New functions for case mapping of substrings.
66172         * lib/unicase.h (casing_prefix_context_t): New type.
66173         (unicase_empty_prefix_context): New variable.
66174         (u8_casing_prefix_context, u16_casing_prefix_context,
66175         u32_casing_prefix_context, u8_casing_prefixes_context,
66176         u16_casing_prefixes_context, u32_casing_prefixes_context): New
66177         declarations.
66178         (casing_suffix_context_t): New type.
66179         (unicase_empty_suffix_context): New variable.
66180         (u8_casing_suffix_context, u16_casing_suffix_context,
66181         u32_casing_suffix_context, u8_casing_suffixes_context,
66182         u16_casing_suffixes_context, u32_casing_suffixes_context,
66183         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
66184         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
66185         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
66186         declarations.
66188 2009-06-28  Jim Meyering  <meyering@redhat.com>
66190         boostrap: indent only with spaces
66191         * build-aux/bootstrap: Indent only with spaces, never TABs.
66193         bootstrap: split long lines
66194         * build-aux/bootstrap: Keep line length < 80.
66196         bootstrap: sync from coreutils
66197         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
66198         just as autoreconf does.  Verify a list of prerequisite
66199         package-name,version-number pairs if defined in bootstrap.conf.
66200         Refer to README-prereq, if prerequisites are not satisfied.
66202 2009-06-27  Eric Blake  <ebb9@byu.net>
66204         tests: add test for bogus NULL definition
66205         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
66206         * tests/test-stdlib.c: Likewise.
66207         * tests/test-string.c: Likewise.
66208         * tests/test-locale.c: Likewise.
66209         * tests/test-unistd.c: Likewise.
66210         * modules/stdio-tests (Depends-on): Add verify.
66211         * modules/stdlib-tests (Depends-on): Likewise.
66212         * modules/string-tests (Depends-on): Likewise.
66213         * modules/locale-tests (Depends-on): Likewise.
66214         * modules/unistd-tests (Depends-on): Likewise.
66216 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
66218         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
66219         self-explaining comment.
66220         * m4/selinux-selinux-h: Update serial.
66221         (gl_LIBSELINUX): New macro, adding a warning for missing development
66222         packages to code extracted from...
66223         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
66224         Add warning for missing development packages here, too.
66226 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
66228         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
66230 2009-06-25  Eric Blake  <ebb9@byu.net>
66232         version-etc: fix regression
66233         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
66234         gcc.
66235         (version_etc): Use it, to catch bugs with trailing NULL.
66236         * lib/version-etc.c (version_etc_arn): Delete unused argument.
66237         (version_etc_va): Fix logic bug.
66238         * modules/version-etc-tests: Add test.
66239         * tests/test-version-etc.c: New file.
66240         * tests/test-version-etc.sh: Likewise.
66242 2009-06-25  Sam Steingold  <sds@gnu.org>
66244         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
66245         mbtowc declaration.
66247 2009-06-25  Eric Blake  <ebb9@byu.net>
66249         fpurge: migrate into <stdio.h>
66250         * lib/fpurge.h: Delete...
66251         * lib/stdio.in.h (fpurge): ...and declare here, instead.
66252         * lib/fpurge.c (fpurge): Change declaring header.
66253         * modules/fpurge (Files): Drop deleted file.
66254         (Depends-on): Add stdio.
66255         (configure.ac): Set witness.
66256         * modules/stdio (Makefile.am): Support fpurge macros.
66257         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
66258         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
66259         * lib/fflush.c: Update client.
66260         * tests/test-fpurge.c: Likewise.
66261         * NEWS: Mention the change.
66263 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66265         * lib/argp-version-etc.c (program_authors): Add const
66266         qualifier.
66267         * lib/version-etc.c: Fix typos in the comments.
66268         * modules/argp-version-etc: Depends on version-etc.
66270 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66272         argp-version-etc: new module.
66274         * lib/argp-version-etc.c: New file.
66275         * lib/argp-version-etc.h: New file.
66276         * modules/argp-version-etc: New file.
66277         * modules/argp-version-etc-tests: New file.
66278         * tests/test-argp-version-etc.c: New test.
66279         * tests/test-argp-version-etc-1.sh: New test.
66281 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66283         Provide additional interfaces and documentation for version-etc
66284         module.
66286         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
66287         interfaces.
66288         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
66289         prototypes.
66291 2009-06-24  Bruno Haible  <bruno@clisp.org>
66293         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
66294         HAVE_LIB${NAME} macro.
66295         Reported by Sam Steingold <sds@gnu.org>.
66297 2009-06-23  Simon Josefsson  <simon@josefsson.org>
66299         * modules/hash-tests (test_hash_LDADD): Link to libintl when
66300         needed.
66302 2009-06-21  Bruno Haible  <bruno@clisp.org>
66304         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
66305         work.
66306         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
66307         together with LIB${NAME}, LTLIB${NAME}.
66308         Reported by Sam Steingold <sds@gnu.org>.
66310 2009-06-20  Jim Meyering  <meyering@redhat.com>
66312         tests: make sc_require_test_exit_idiom more generic
66313         * top/maint.mk (Exit_witness_file): New overridable variable.
66314         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
66315         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
66317 2009-06-19  Jim Meyering  <meyering@redhat.com>
66319         hash: reverse order of src/dst parameters in an internal interface
66320         * lib/hash.c (transfer_entries): Reverse order of parameters to
66321         put DST before SRC.  Adjust callers.
66323         tests: test-hash: avoid wholesale duplication
66324         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
66325         Instead, use a loop and add a single conditional.
66327         tests: test-hash: allow seed selection via a command line argument
66328         * tests/test-hash.c (get_seed): New function.
66329         (main): Use it.
66331 2009-06-19  Eric Blake  <ebb9@byu.net>
66333         hash: avoid memory leak on allocation failure
66334         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
66335         failure.  Factor repeated algorithm...
66336         (transfer_entries): ...into new helper routine.
66337         (hash_delete): React to hash_rehash return value.
66339         hash: reduce memory pressure in hash_rehash no-op case
66340         * lib/hash.c (next_prime): Avoid overflow.
66341         (hash_initialize): Factor bucket size computation...
66342         (compute_bucket_size): ...into new helper function.
66343         (hash_rehash): Use new function and open coding to reduce memory
66344         pressure, and avoid a memory leak in USE_OBSTACK code.
66345         Reported by Jim Meyering.
66347 2009-06-18  Eric Blake  <ebb9@byu.net>
66349         hash: make rotation more obvious
66350         * modules/hash (Depends-on): Add bitrotate and stdint.
66351         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
66352         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
66353         (SIZE_MAX): Rely on headers for definition.
66354         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
66355         (raw_hasher): Use rotr_sz.
66356         Suggested by Jim Meyering.
66358         hash: fix memory leak in last patch
66359         * lib/hash.c (hash_rehash): Avoid memory leak.
66361         hash: avoid no-op rehashing
66362         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
66364         hash: provide default callback functions
66365         * lib/hash.c (raw_hasher, raw_comparator): New functions.
66366         (hash_initialize): Use them as defaults.
66367         * tests/test-hash.c (main): Test this.
66369         hash: minor optimization
66370         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
66371         when possible.
66372         (hash_initialize): Document this promise.
66373         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
66374         * tests/test-hash.c (hash_compare_strings): Test this.
66376 2009-06-18  Bruno Haible  <bruno@clisp.org>
66378         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
66379         going to be replaced anyway.
66381 2009-06-18  Bruno Haible  <bruno@clisp.org>
66383         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
66384         in one place.
66385         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
66386         be replaced anyway.
66388 2009-06-18  Eric Blake  <ebb9@byu.net>
66390         hash: check for resize before insertion
66391         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
66392         threshold before insertion, so that a pathological hash_rehash
66393         that fills every bucket can still trigger another rehash.
66395 2009-06-18  Jim Meyering  <meyering@redhat.com>
66397         hash-tests: add a loop around the small tests
66398         * tests/test-hash.c (main): Repeat small tests with selected
66399         small initial table sizes.
66401 2009-06-17  Eric Blake  <ebb9@byu.net>
66403         hash: minor cleanups
66404         * lib/hash.h (hash_entry): Make opaque, by moving...
66405         * lib/hash.c (hash_entry): ...here.
66406         (hash_insert): Clarify restrictions on what can be inserted.
66407         (hash_get_next): Clarify when it is safe to remove an element
66408         during traversal.
66409         (check_tuning): Skip verification when tuning is known safe.
66410         (hash_initialize): Clarify restrictions on tuning.
66412 2009-06-17  Jim Meyering  <jim@meyering.net>
66413         and Eric Blake  <ebb9@byu.net>
66415         hash-tests: new module
66416         * modules/hash-tests: New file.
66417         * tests/test-hash.c: New file.
66419 2009-06-17  Eric Blake  <ebb9@byu.net>
66421         strstr-simple: document new module
66422         * MODULES.html.sh: Document new module.
66424         strstr, strcasestr: replace on platforms with broken memchr
66425         * modules/strstr: Split into...
66426         * modules/strstr-simple: ...new module that does not care about
66427         performance, but does care about glibc bug.
66428         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
66429         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
66430         if platform memchr is broken, per Debian bug 521737.
66431         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
66432         memchr.
66433         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
66434         * doc/posix-functions/strstr.texi (strstr): Document the fix.
66435         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
66436         * modules/mountlist (Depends-on): Add strstr-simple.
66437         * modules/gen-uni-tables (Depends-on): Likewise.
66438         * modules/argz (Depends-on): Add strstr.
66440 2009-06-17  Bruno Haible  <bruno@clisp.org>
66442         * modules/posix_spawn-internal (Depends-on): Add errno.
66444 2009-06-17  Bruno Haible  <bruno@clisp.org>
66446         Define missing ESTALE on Interix 3.5.
66447         * lib/errno.in.h (ESTALE): Assign a value if missing.
66448         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
66449         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
66450         missing.
66451         * doc/posix-headers/errno.texi: Mention the Interix bug.
66452         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
66454 2009-06-15  Eric Blake  <ebb9@byu.net>
66456         memchr, memchr2: add valgrind exception
66457         * lib/memchr.valgrind: New file.
66458         * lib/memchr2.valgrind: New file.
66459         * modules/memchr (Files): Distribute valgrind file.
66460         * modules/memchr2 (Files): Likewise.
66462         docs: memchr is no longer obsolete
66463         * MODULES.html.sh: Move memchr from obsolete to string.h section.
66464         * lib/string.in.h (memchr): Simplify logic.
66466 2009-06-14  Jim Meyering  <meyering@redhat.com>
66468         link-follow: fix the "checking..." message to not mention trailing slash
66469         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
66470         never considered trailing slashes.
66472 2009-06-14  Bruno Haible  <bruno@clisp.org>
66474         * m4/memchr.m4: Mention also the bug on IA-64.
66475         * doc/posix-functions/memchr.texi: Likewise.
66477 2009-06-12  Eric Blake  <ebb9@byu.net>
66479         memchr: detect broken x86_64 and alpha implementations
66480         * modules/memchr-tests (Depends-on): Move mmap detection...
66481         * modules/memchr (Depends-on): ...here.
66482         (configure.ac): Set indicator.
66483         * lib/string.in.h (memchr): Declare replacement.
66484         * modules/string (Makefile.am): Trigger replacement.
66485         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
66486         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
66487         bugs.
66488         * doc/posix-functions/memchr.texi (memchr): Document the bug.
66489         * modules/getpagesize (License): Relax license.
66491 2009-06-11  Bruno Haible  <bruno@clisp.org>
66493         * lib/idpriv.h: Add more references.
66495 2009-06-08  Bruno Haible  <bruno@clisp.org>
66497         Tests for module 'idpriv-droptemp'.
66498         * modules/idpriv-droptemp-tests: New file.
66499         * tests/test-idpriv-droptemp.sh: New file.
66500         * tests/test-idpriv-droptemp.su.sh: New file.
66501         * tests/test-idpriv-droptemp.c: New file.
66503         New module 'idpriv-droptemp'.
66504         * lib/idpriv-droptemp.c: New file.
66505         * modules/idpriv-droptemp: New file.
66507 2009-06-08  Bruno Haible  <bruno@clisp.org>
66509         Tests for module 'idpriv-drop'.
66510         * modules/idpriv-drop-tests: New file.
66511         * tests/test-idpriv-drop.sh: New file.
66512         * tests/test-idpriv-drop.su.sh: New file.
66513         * tests/test-idpriv-drop.c: New file.
66515         New module 'idpriv-drop'.
66516         * lib/idpriv.h: New file.
66517         * lib-idpriv-drop.c: New file.
66518         * m4/idpriv.m4: New file.
66519         * modules/idpriv-drop: New file.
66521 2009-06-08  Bruno Haible  <bruno@clisp.org>
66523         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
66524         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
66525         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
66526         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
66527         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
66528         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
66529         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
66531 2009-06-08  Eric Blake  <ebb9@byu.net>
66533         test-strstr: use memory fence, when possible
66534         * tests/test-strstr.c (main): Use memory fence, in order to be
66535         more likely to trigger Debian bug 521737.
66536         * modules/strstr-tests (Files): Pull in additional files.
66538         memchr: no longer obsolete, for wider field testing
66539         * modules/memchr (Status, Notice): Delete, this module is no
66540         longer obsolete.
66541         * modules/vasnprintf (Depends-on): Add memchr.
66543 2009-06-07  Jim Meyering  <meyering@redhat.com>
66545         hash: declare some functions with the warn_unused_result attribute
66546         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
66548 2009-06-07  Bruno Haible  <bruno@clisp.org>
66550         * tests/test-alignof.c: Don't test int64_t if it does not exist.
66551         Reported by Eric Blake.
66553 2009-06-06  Eric Blake  <ebb9@byu.net>
66555         test-alignof: fix typo with long double
66556         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
66557         compiler error.
66559 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
66561         Escape non-texinfo { and }s.
66562         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
66563         markup error.
66565 2009-06-04  Jim Meyering  <meyering@redhat.com>
66567         gitlog-to-changelog: don't infloop on an empty commit log
66568         * build-aux/gitlog-to-changelog: Warn about an empty log message.
66569         Reported by Boris Petersen <transacid@centerim.org>.
66571 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
66573         version-etc: extend for packagers
66574         Add three new configure options, intended for packagers:
66575           --with-packager="packager name"
66576           --with-packager-version="packager-specific version"
66577           --with-packager-bug-reports="packager bug reporting"
66578         An example with coreutils:
66579           $ ./configure \
66580             --with-packager=Gentoo \
66581             --with-packager-bug-report=http://bugs.gentoo.org/ \
66582             --with-packager-version="patchset 1.6"
66583           $ ./src/ls --version | head -n2
66584           ls (GNU coreutils) 7.1-dirty
66585           Packaged by Gentoo (patchset 1.6)
66586         Note that the bug reporting info via --help doesn't show up because
66587         coreutils uses its own custom emit_bug_reporting_address() implementation
66588         in src/system.h.  If it didn't, it'd look like:
66589           $ ./src/ls --help | tail -n4
66590           Report bugs to <bug-coreutils@gnu.org>.
66591           Report Gentoo bugs to <http://bugs.gentoo.org/>.
66592           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
66593           General help using GNU software: <http://www.gnu.org/gethelp/>.
66594         * lib/version-etc.c: Print new information, if provided.
66595         * m4/version-etc.m4: New file.
66596         * modules/version-etc (Files): Add m4/version-etc.m4.
66597         (configure.ac): Add gl_VERSION_ETC.
66599 2009-05-31  Bruno Haible  <bruno@clisp.org>
66601         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
66602         and 'int64_t'.
66603         * modules/alignof-tests (Dependencies): Add stdint.
66604         Reported by Eric Blake.
66606 2009-05-31  Bruno Haible  <bruno@clisp.org>
66608         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
66609         restriction due to compiler bugs.
66610         Reported by Eric Blake.
66612 2009-05-31  Simon Josefsson  <simon@josefsson.org>
66613             Bruno Haible  <bruno@clisp.org>
66615         Fix test-alignof failure.
66616         * lib/alignof.h (alignof_slot): New macro.
66617         (alignof_type): New macro, with the same semantics as the previous
66618         'alignof'.
66619         (alignof): Alias to alignof_slot.
66620         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
66621         check that the results are usable as constant expressions.
66623 2009-05-31  Bruno Haible  <bruno@clisp.org>
66625         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
66626         * tests/test-memchr.c (main): Check that memchr does not read past the
66627         first occurrence of the byte.
66628         * tests/test-strstr.c (main): Update comment.
66629         Suggested by Eric Blake.
66631 2009-05-30  Bruno Haible  <bruno@clisp.org>
66633         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
66634         detail how to use dumpbin.
66635         Reported by David Byron <dbyron@dbyron.com>.
66637 2009-06-02  Simon Josefsson  <simon@josefsson.org>
66639         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
66641 2009-06-02  Simon Josefsson  <simon@josefsson.org>
66643         * m4/manywarnings.m4: Add GCC 4.4 warnings.
66645 2009-05-28  Bruno Haible  <bruno@clisp.org>
66647         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
66648         build-aux/ files.
66650 2009-05-28  Simon Josefsson  <simon@josefsson.org>
66652         * gnulib-tool (func_import): Transform license on build-aux/ files too.
66654 2009-05-27  Simon Josefsson  <simon@josefsson.org>
66656         * gnulib-tool (sed_transform_main_lib_file)
66657         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
66658         regexps.
66660 2009-05-26  Simon Josefsson  <simon@josefsson.org>
66662         * tests/test-strstr.c: Add another self-test.
66663         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
66664         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
66666 2009-05-23  Bruno Haible  <bruno@clisp.org>
66668         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
66669         change.
66671 2009-05-21  Bruno Haible  <bruno@clisp.org>
66673         Simplify use of mode_t varargs.
66674         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
66675         uses 'mode_t' or 'int'.
66676         * lib/openat.c (openat): Likewise.
66677         * lib/open-safer.c (open_safer): Likewise.
66678         * m4/mode_t.m4: New file.
66679         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
66680         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
66681         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
66682         * modules/open (Files): Add m4/mode_t.m4.
66683         * modules/openat (Files): Likewise.
66684         * modules/fcntl-safer (Files): Likewise.
66685         Suggested by Eric Blake.
66687 2009-05-21  Pádraig Brady  <P@draigbrady.com>
66689         * doc/glibc-functions/fallocate.texi: New file.
66690         * doc/gnulib.texi: Include it.
66692 2009-05-21  Eric Blake  <ebb9@byu.net>
66693             Bruno Haible  <bruno@clisp.org>
66695         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
66696         invocations.
66697         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
66699 2009-05-21  Eric Blake  <ebb9@byu.net>
66700             Bruno Haible  <bruno@clisp.org>
66702         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
66703         include_next. Fix of 2008-11-20 commit.
66704         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
66705         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
66706         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
66707         NEXT_MATH_H.
66708         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
66709         instead of NEXT_MATH_H.
66711 2009-05-21  Bruno Haible  <bruno@clisp.org>
66713         Avoid redefinition warnings for SIZE_MAX.
66714         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
66715         Reported by Simon Josefsson.
66717 2009-05-21  Bruno Haible  <bruno@clisp.org>
66719         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
66720         AC_CACHE_VAL.
66722 2009-05-20  Bruno Haible  <bruno@clisp.org>
66724         Make zeroptr.h work on mingw.
66725         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
66726         mprotect.
66727         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
66728         * modules/memchr2-tests (configure.ac): Likewise.
66729         * modules/memcmp-tests (configure.ac): Likewise.
66730         * modules/memmem-tests (configure.ac): Likewise.
66731         * modules/memrchr-tests (configure.ac): Likewise.
66732         Reported by Simon Josefsson.
66734 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66736         * tests/test-glob.c: Include string.h for strcmp prototype.
66738 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66740         * modules/getdelim (Depends-on): Add explicit stdint, although it
66741         was implicitly already pulled in via realloc-posix.
66742         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
66744 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66746         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
66747         G. Christensen" <tgc@jupiterrise.com>.
66748         * m4/sys_socket_h.m4: Check for sa_family_t.
66749         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
66750         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
66751         * tests/test-sys_socket.c: Check that sa_family_t works.
66753 2009-05-18  Eric Blake  <ebb9@byu.net>
66755         maint.mk: allow gnulib_dir in VPATH build
66756         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
66758 2009-05-15  Jim Meyering  <meyering@redhat.com>
66760         maint.mk: Give gnulib_dir a default definition.
66761         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
66762         Thus, most packages no longer need to specify this variable in cfg.mk
66764 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
66766         rename.m4: fix typos that would make non-mingw cross-configure fail
66767         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
66769 2009-05-13  Eric Blake  <ebb9@byu.net>
66771         mmap-anon: avoid out-of-order autoconf expansion
66772         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
66773         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
66774         * modules/memchr-tests (Depends-on): Add extensions.
66775         * modules/memchr2-tests (Depends-on): Add extensions.
66776         * modules/memcmp-tests (Depends-on): Add extensions.
66777         * modules/memmem-tests (Depends-on): Add extensions.
66778         * modules/memrchr-tests (Depends-on): Add extensions.
66780 2009-05-13  Bruno Haible  <bruno@clisp.org>
66782         Make some tests ISO C 99 compliant.
66783         * tests/zerosize-ptr.h: New file.
66784         * tests/test-memchr.c: Include zerosize-ptr.h.
66785         (main): Use a zero-size object pointer instead of NULL.
66786         * tests/test-memchr2.c: Include zerosize-ptr.h.
66787         (main): Use a zero-size object pointer instead of NULL.
66788         * tests/test-memcmp.c: Include zerosize-ptr.h.
66789         (main): Use a zero-size object pointer instead of NULL.
66790         * tests/test-memmem.c: Include zerosize-ptr.h.
66791         (main): Use a zero-size object pointer instead of NULL.
66792         * tests/test-memrchr.c: Include zerosize-ptr.h.
66793         (main): Use a zero-size object pointer instead of NULL.
66794         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
66795         m4/mmap-anon.m4.
66796         (Depends-on): Add getpagesize.
66797         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66798         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
66799         m4/mmap-anon.m4.
66800         (Depends-on): Add getpagesize.
66801         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66802         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
66803         m4/mmap-anon.m4.
66804         (Depends-on): Add getpagesize.
66805         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66806         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
66807         m4/mmap-anon.m4.
66808         (Depends-on): Add getpagesize.
66809         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66810         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
66811         m4/mmap-anon.m4.
66812         (Depends-on): Add getpagesize.
66813         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66815 2009-05-12  Bruno Haible  <bruno@clisp.org>
66817         Tests for module 'alignof'.
66818         * modules/alignof-tests: New file.
66819         * tests/test-alignof.c: New file.
66821 2009-05-12  Bruno Haible  <bruno@clisp.org>
66823         Fix alignof macro.
66824         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
66825         vendor compilers that are always correct.
66827 2009-05-12  Bruno Haible  <bruno@clisp.org>
66829         Make the MAP_ANONYMOUS detection work on HP-UX 11.
66830         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
66831         not whether its fully works.
66833 2009-05-12  Bruno Haible  <bruno@clisp.org>
66835         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
66837 2009-05-12  Jim Meyering  <meyering@redhat.com>
66839         * top/maint.mk: Adjust backslash alignment.
66841 2009-05-11  Simon Josefsson  <simon@josefsson.org>
66843         * top/maint.mk: Make $(srcdir)/build-aux configurable.
66845 2009-05-11  Eric Blake  <ebb9@byu.net>
66847         argp: avoid undefined behavior
66848         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
66849         macros.
66851 2009-05-08  Simon Josefsson  <simon@josefsson.org>
66853         * tests/test-vc-list-files-git.sh: Do git config of user.email and
66854         user.name to prevent git commit from complaining.
66856 2009-05-10  Bruno Haible  <bruno@clisp.org>
66858         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
66859         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
66860         it rewrites every file name only once.
66861         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
66863 2009-05-08  Bruno Haible  <bruno@clisp.org>
66865         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
66866         instead of 'max'.
66868 2009-05-08  Simon Josefsson  <simon@josefsson.org>
66870         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
66871         sockaddr_storage test.
66873 2009-05-07  Simon Josefsson  <simon@josefsson.org>
66875         * modules/sys_socket (Makefile.am): Substitute
66876         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
66877         * m4/sys_socket_h.m4: Check for sockaddr_storage.
66878         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
66879         * tests/test-sys_socket.c: Check sockaddr_storage.
66881 2009-05-08  Bruno Haible  <bruno@clisp.org>
66883         New module 'alignof'.
66884         * lib/alignof.h: New file.
66885         * modules/alignof: New file.
66887 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66888             Bruno Haible  <bruno@clisp.org>
66890         Fix test-file-has-acl on FreeBSD.
66891         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
66892         mask is implicitly added.
66893         * tests/test-file-has-acl.c: Include <signal.h>.
66894         (main): Terminate the test after 5 seconds.
66895         * modules/acl-tests (configure.ac): Check for alarm function.
66897 2009-05-04  Bruno Haible  <bruno@clisp.org>
66899         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
66900         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
66901         * modules/errno (configure.ac): Drop AC_REQUIRE.
66902         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
66903         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
66905 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66907         * modules/glob-tests: New module.
66908         * tests/test-glob.c: Add.
66910 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66912         * modules/fnmatch-tests: New module.
66913         * tests/test-fnmatch.c: Add.
66915 2009-05-04  Eric Blake  <ebb9@byu.net>
66917         maint: make the new no-submodule-changes rule VPATH-safe
66918         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
66920 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66921             Bruno Haible  <bruno@clisp.org>
66923         acl: Fix infinite loop on FreeBSD.
66924         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
66925         of return value from acl_get_entry.
66926         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
66927         Likewise.
66929 2009-05-03  Bruno Haible  <bruno@clisp.org>
66931         * lib/acl-internal.h (acl_entries): Clarify return value.
66932         * lib/acl_entries.c (acl_entries): Likewise.
66934 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66936         Bug fix in acl module.
66937         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
66939 2009-05-03  Bruno Haible  <bruno@clisp.org>
66941         Create gperf-generated file in the source dir, not in the build dir.
66942         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
66943         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
66944         * modules/unicase/locale-language (unicase/locale-languages.h):
66945         Likewise.
66946         * modules/unicase/special-casing (unicase/special-casing-table.h):
66947         Likewise.
66948         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
66949         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
66950         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
66951         Reported by Ralf Wildenhues.
66953 2009-05-03  Bruno Haible  <bruno@clisp.org>
66955         * modules/fnmatch (Description, configure.ac): Taken from
66956         fnmatch-posix.
66957         * modules/fnmatch-posix: Turn into a symbolic reference to the
66958         'fnmatch' module, and deprecate.
66959         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
66961 2009-05-03  Bruno Haible  <bruno@clisp.org>
66963         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
66964         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
66965         Reported by Ralf Wildenhues.
66967 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66969         * m4/fnmatch.m4: Fix fnmatch re-define.
66971 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66973         priv-set: new module and tests; adapt write-any-file
66974         * lib/priv-set.c: New file.
66975         * lib/priv-set.h: New file.
66976         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
66977         * lib/write-any-file.c: Simplify by using priv-set module.
66978         * m4/priv-set.m4: New file.
66979         * modules/priv-set: New file.
66980         * modules/unlinkdir: Add dependency on priv-set module.
66981         * modules/write-any-file: Likewise.
66983         Tests for module 'priv-set'.
66984         * modules/priv-set-tests: New file.
66985         * tests/test-priv-set.c: New file.
66987 2009-05-03  Jim Meyering  <meyering@redhat.com>
66988             Bruno Haible  <bruno@clisp.org>
66990         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
66991         use the converted UTF-8 variant of the name instead.
66993 2009-05-03  Jim Meyering  <meyering@redhat.com>
66995         tests: tighten some getdate tests
66996         * tests/test-getdate.c (main): Tighten tests: require equality,
66997         not just greater than.  Set TZ envvar to UTC0.
66999 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
67001         getdate: correctly interpret "next monday" when run on a Monday
67002         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
67003         that e.g., "next tues" (when run on a tuesday) results in a date
67004         that is one week in the future, and not today's date.
67005         I.e., add a week when the wday is the same as the current one.
67006         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
67007         and earlier by Martin Bernreuther and Jan Minář.
67008         * tests/test-getdate.c (main): Check that "next DAY" is always in
67009         the future and that "last DAY" is always in the past.
67011 2009-05-02  Jim Meyering  <meyering@redhat.com>
67013         build: ensure that a release build fails when a submodule is unclean
67014         * top/maint.mk (no-submodule-changes): New rule.
67015         (alpha beta major): Depend on it.
67017 2009-05-02  Bruno Haible  <bruno@clisp.org>
67019         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
67020         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
67021         shell variable gl_fnmatch_required to detect which variant is
67022         requested.
67023         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
67024         gl_FUNC_FNMATCH_POSIX.
67025         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
67026         exclude fnmatch-posix.
67028 2009-05-02  Bruno Haible  <bruno@clisp.org>
67030         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
67031         * modules/mbsrtowcs (License): Change to LGPLv2+.
67032         * modules/strnlen1 (License): Likewise.
67033         Reported by Simon Josefsson.
67035 2009-05-02  Bruno Haible  <bruno@clisp.org>
67037         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
67038         "cross".
67039         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
67040         gnulib-tool was called with option --source-base=lib.
67042 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67044         Use automake *-local hooks without commands, for extensibility.
67045         * modules/localcharset (Makefile.am): Rename install-exec-local
67046         rule to install-exec-localcharset, and make it a prerequisite of
67047         install-exec-local.  Likewise, rename the uninstall-local rule to
67048         uninstall-localcharset, and make it a prerequisite of the former.
67050 2009-05-01  Bruno Haible  <bruno@clisp.org>
67052         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
67053         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
67054         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
67055         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
67056         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
67057         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
67058         m4/locale-zh.m4, m4/codeset.m4.
67060         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
67061         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
67062         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
67063         m4/locale-zh.m4.
67065         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
67066         REPLACE_WCRTOMB if mbstate_t must be replaced.
67067         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
67068         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
67070 2009-05-01  Bruno Haible  <bruno@clisp.org>
67072         Avoid compiler warnings when redefining macros defined by <libintl.h>.
67073         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
67074         dngettext, dcngettext, textdomain, bindtextdomain,
67075         bind_textdomain_codeset): Undefine before redefining.
67077 2009-04-30  Bruno Haible  <bruno@clisp.org>
67079         Fix bug introduced on 2009-04-25.
67080         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
67081         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
67082         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
67083         is defined.
67084         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
67085         is defined.
67086         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
67087         is defined.
67088         Reported by Elbert_Pol <elbert.pol@gmail.com>.
67090 2009-04-28  Bruno Haible  <bruno@clisp.org>
67092         Comment tweaks.
67093         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
67094         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
67095         * lib/unicase.h (u*_casexfrm): Likewise.
67096         Reported by Paolo Bonzini.
67098 2009-04-28  Bruno Haible  <bruno@clisp.org>
67100         Fix a compilation error.
67101         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
67102         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
67103         Reported by Jim Meyering.
67105 2009-04-27  Bruno Haible  <bruno@clisp.org>
67107         New module 'libunistring'.
67108         * modules/libunistring: New file.
67109         * m4/libunistring.m4: New file.
67110         * MODULES.html.sh (Unicode string functions): Add it.
67112 2009-04-27  Eric Blake  <ebb9@byu.net>
67114         maint.mk: allow package-specific header to provide <config.h>
67115         * top/maint.mk (sc_require_config_h): New variable.
67116         (sc_require_config_h, sc_require_config_h_first): Use it.
67118 2009-04-27  Simon Josefsson  <simon@josefsson.org>
67120         * top/maint.mk (sc_avoid_if_before_free): Except
67121         useless-if-before-free script.
67123 2009-04-27  Eric Blake  <ebb9@byu.net>
67125         maintainer-makefile: depend on all required helper scripts
67126         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
67127         useless-if-before-free.
67128         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
67129         version, rather than assuming gnulib checkout is available.
67130         Reported by Simen Josefsson.
67132 2009-04-26  Bruno Haible  <bruno@clisp.org>
67134         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
67135         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
67136         "../" or "..".
67138 2009-04-26  Bruno Haible  <bruno@clisp.org>
67140         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
67141         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
67142         AC_LIB_HAVE_LINKFLAGS.
67144 2009-04-26  Bruno Haible  <bruno@clisp.org>
67146         Simplify calling convention of u*_conv_from_encoding.
67147         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
67148         u32_conv_from_encoding): Expect a resultbuf argument and return the
67149         result directly as a pointer.
67150         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
67151         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
67152         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
67153         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
67154         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
67155         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
67156         Update.
67157         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
67158         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
67159         * lib/vasnprintf.c (VASNPRINTF): Update.
67160         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
67161         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
67162         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
67163         * NEWS: Mention the change.
67165 2009-04-26  Bruno Haible  <bruno@clisp.org>
67167         Simplify calling convention of u*_conv_to_encoding.
67168         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
67169         u32_conv_to_encoding): Expect a resultbuf argument and return the
67170         result directly as a pointer.
67171         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
67172         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
67173         freeing scaled_offsets if mem_iconveha failed.
67174         * lib/unicase/u-casexfrm.h (FUNC): Update.
67175         * lib/uninorm/u-normxfrm.h (FUNC): Update.
67176         * lib/vasnprintf.c (VASNPRINTF): Update.
67177         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
67178         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
67179         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
67180         * NEWS: Mention the change.
67182 2009-04-26  Bruno Haible  <bruno@clisp.org>
67184         Avoid test failures on AIX and OSF/1.
67185         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
67186         malloc(0).
67187         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
67188         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
67189         Likewise.
67190         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
67191         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
67192         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
67193         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
67194         * doc/posix-functions/malloc.texi: Document the portability problem
67195         related to malloc(0).
67197 2009-04-26  Bruno Haible  <bruno@clisp.org>
67199         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
67200         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
67201         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
67203 2009-04-25  Bruno Haible  <bruno@clisp.org>
67205         Avoid link error when creating a namespace clean library.
67206         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
67207         as macro with arguments if already defined as an alias.
67208         * lib/signbitf.c (gl_signbitf): Don't undefine.
67209         * lib/signbitd.c (gl_signbitd): Don't undefine.
67210         * lib/signbitl.c (gl_signbitl): Don't undefine.
67212 2009-04-25  Jim Meyering  <meyering@redhat.com>
67214         vc-list-files: fix another quoting bug
67215         * build-aux/vc-list-files: Avoid sed backslash expansion
67216         of pathological directory names.
67218 2009-04-25  Eric Blake  <ebb9@byu.net>
67220         vc-list-files: fix shell quoting error
67221         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
67222         timestamp.
67224 2009-04-25  Jim Meyering  <meyering@redhat.com>
67226         vc-list-files: restore lost functionality with subdir argument
67227         * build-aux/vc-list-files: When given a non-"." sub-directory
67228         argument, substitute the $dir/ prefix back onto each resulting name.
67229         Otherwise, coreutils' root_tests check would fail.
67231 2009-04-24  Eric Blake  <ebb9@byu.net>
67233         vc-list-files: ignore git symlinks
67234         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
67235         than ls-files, to ignore git symlinks.
67237         maint.mk: import improvements from m4
67238         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
67239         (move_if_change): Delete unused macro.
67240         (news-date-check, vc-diff-check): Support VPATH builds.
67241         (announcement): Likewise.  Split --bootstrap-tools list...
67242         (boostrap-tools): ...into separate list, which can be overridden
67243         in cfg.mk.
67244         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
67245         requiring dependency on useless-if-before-free module.
67246         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
67247         Support VPATH builds.
67249 2009-04-24  Jim Meyering  <meyering@redhat.com>
67251         maint.mk: remove coreutils-specific rules and variables
67252         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
67253         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
67254         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
67256         maint.mk: remove obsolete rule
67257         * top/maint.mk (rel-check): Remove rule.
67258         (WGET, WGETFLAGS): Remove now-unused variables.
67260 2009-04-24  Simon Josefsson  <simon@josefsson.org>
67262         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
67263         consistency.
67265         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
67266         '$(PATH_SEPARATOR)' instead of ':'.
67268 2009-04-24  Simon Josefsson  <simon@josefsson.org>
67270         * lib/getopt1.c (main): Use 'const' for static array.
67272 2009-04-24  Simon Josefsson  <simon@josefsson.org>
67274         * top/maint.mk: Sync with coreutils.
67275         * NEWS: Explain incompatibilities.
67277 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67278             Bruno Haible  <bruno@clisp.org>
67280         Fix cross-compilation results.
67281         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
67282         statement, as third argument of AC_TRY_RUN.
67283         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
67284         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
67285         Likewise.
67286         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
67287         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
67288         Likewise.
67289         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
67290         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
67291         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
67293 2009-04-20  Bruno Haible  <bruno@clisp.org>
67295         Avoid test failure on mingw.
67296         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
67298 2009-04-20  Bruno Haible  <bruno@clisp.org>
67300         Avoid compilation error on mingw.
67301         * modules/localename-tests (Depends-on): Add locale.
67303 2009-04-19  Bruno Haible  <bruno@clisp.org>
67305         Support for building a shared library on Windows platforms.
67306         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
67307         (main): Test the presence of UNINORM_NFC here.
67308         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
67309         (main): Test the presence of UNINORM_NFD here.
67310         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
67311         (main): Test the presence of UNINORM_NFKC here.
67312         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
67313         (main): Test the presence of UNINORM_NFKD here.
67315 2009-04-19  Bruno Haible  <bruno@clisp.org>
67317         Avoid a compiler warning.
67318         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
67319         Change type of variable 'sequence'.
67321 2009-04-19  Bruno Haible  <bruno@clisp.org>
67323         * modules/configmake (Makefile.am): When the contents of configmake.h
67324         does not change, arrange to preserve its modification time.
67326 2009-04-17  Simon Josefsson  <simon@josefsson.org>
67328         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
67329         gettext domain.
67331 2009-04-16  Jim Meyering  <meyering@redhat.com>
67333         useless-if-before-free: improve conversion code
67334         * build-aux/useless-if-before-free: Adjust code-in-comment to match
67335         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
67337 2009-04-14  Bruno Haible  <bruno@clisp.org>
67339         * modules/fcntl (Depends-on): Add extensions.
67340         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
67342 2009-04-12  Ben Pfaff  <blp@gnu.org>
67344         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
67345         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
67347 2009-03-20  Ben Pfaff  <blp@gnu.org>
67349         Make rename replace existing destinations on Windows.
67350         * m4/rename.m4: Add test for Mingw.
67351         * lib/rename.c: Add rename replacement that uses MoveFileEx with
67352         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
67353         * doc/posix-functions/rename.texi: Document.
67355 2009-04-10  Bruno Haible  <bruno@clisp.org>
67357         New include file "iconveh.h".
67358         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
67359         * lib/striconveh.h: Include it.
67360         (enum iconv_ilseq_handler): Remove definition.
67361         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
67362         striconveh.h.
67363         * lib/striconveha.c: Include striconveh.h.
67364         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
67365         * modules/striconveh (Files): Add lib/iconveh.h.
67366         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
67367         lib/striconveh.h.
67369 2009-04-10  Bruno Haible  <bruno@clisp.org>
67371         * lib/uniconv.h: Update comment.
67373 2009-04-10  Bruno Haible  <bruno@clisp.org>
67375         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
67376         always.
67377         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
67378         * lib/unistr/u16-mbtouc-aux.c: Likewise.
67379         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
67380         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
67381         "unistring-notinline.h", so that the function gets defined always.
67382         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
67383         * lib/unistr/u8-uctomb.c: Likewise.
67384         * lib/unistr/u16-mbtouc.c: Likewise.
67385         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
67386         * lib/unistr/u16-uctomb.c: Likewise.
67387         * lib/unistr/u32-mbtouc.c: Likewise.
67388         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
67389         * lib/unistr/u32-uctomb.c: Likewise.
67391 2009-04-10  Bruno Haible  <bruno@clisp.org>
67393         Mark 'utime' obsolete.
67394         * modules/utime (Status, Notice): New sections.
67395         Suggested by Jim Meyering.
67397         Fix cross-compile guess for utime test.
67398         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
67399         autoconf.
67400         * doc/posix-functions/utime.texi: Give more precisions.
67401         Reported by Jan <ipif@ymail.com>.
67403 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
67405         filevercmp: correct today's change
67406         * lib/filevercmp.c: Also handle coreutils' test inputs.
67407         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
67409         Fix regression in 'filevercmp' module. Thanks Sven Joachim
67410         for reporting it.
67411         * lib/filevercmp.c: Special handle for "", "." and "..".
67412         * tests/test-filevercmp.c: Enlarge the set suite.
67414 2009-04-07  Jim Meyering  <meyering@redhat.com>
67416         useless-if-before-free: show how to remove braced useless free, too
67417         * build-aux/useless-if-before-free: still only in a comment, though.
67419 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
67421         maint.mk: import changes to syntax-check macros from coreutils
67422         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
67423         Use them in the relevant macros.
67425 2009-04-06  Bruno Haible  <bruno@clisp.org>
67427         Fix unportable use of bit-fields.
67428         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
67429         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
67430         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
67432 2009-04-06  Bruno Haible  <bruno@clisp.org>
67434         Avoid test failures on AIX and OSF/1.
67435         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
67436         that malloc(0) = NULL.
67437         * tests/unicase/test-u8-tolower.c (check): Likewise.
67438         * tests/unicase/test-u8-totitle.c (check): Likewise.
67439         * tests/unicase/test-u8-toupper.c (check): Likewise.
67440         * tests/unicase/test-u16-casefold.c (check): Likewise.
67441         * tests/unicase/test-u16-tolower.c (check): Likewise.
67442         * tests/unicase/test-u16-totitle.c (check): Likewise.
67443         * tests/unicase/test-u16-toupper.c (check): Likewise.
67444         * tests/unicase/test-u32-casefold.c (check): Likewise.
67445         * tests/unicase/test-u32-tolower.c (check): Likewise.
67446         * tests/unicase/test-u32-totitle.c (check): Likewise.
67447         * tests/unicase/test-u32-toupper.c (check): Likewise.
67448         * tests/uninorm/test-u8-nfc.c (check): Likewise.
67449         * tests/uninorm/test-u8-nfd.c (check): Likewise.
67450         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
67451         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
67452         * tests/uninorm/test-u16-nfc.c (check): Likewise.
67453         * tests/uninorm/test-u16-nfd.c (check): Likewise.
67454         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
67455         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
67456         * tests/uninorm/test-u32-nfc.c (check): Likewise.
67457         * tests/uninorm/test-u32-nfd.c (check): Likewise.
67458         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
67459         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
67461 2009-04-05  Bruno Haible  <bruno@clisp.org>
67463         Work around an autoconf limitation.
67464         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
67465         comment line if it would be longer than 3 KB.
67467 2009-04-05  Bruno Haible  <bruno@clisp.org>
67469         Avoid test failure with libiconv-1.13.
67470         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
67471         of the expected test results.
67473 2009-04-05  Bruno Haible  <bruno@clisp.org>
67475         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
67476         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
67477         that it should be installed.
67479 2009-04-05  Bruno Haible  <bruno@clisp.org>
67481         * gnulib-tool: New option --copy-file.
67482         (func_usage): Document it.
67483         (func_dest_tmpfilename): Moved out of func_import.
67484         (func_add_file, func_update_file): New functions, extracted from
67485         func_import.
67486         (func_import): Update.
67488 2009-04-05  Karl Berry  <karl@gnu.org>
67490         * README: prominently mention gnulib-tool.
67491         Rearrange sections so getting the code is near the top.
67493 2009-04-05  Bruno Haible  <bruno@clisp.org>
67495         * lib/unicase.h: Mention u*_cmp2.
67496         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
67497         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
67498         * lib/unicase/ulc-casecmp.c: Likewise.
67499         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
67500         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
67501         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
67502         unistr/u8-cmp.
67503         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
67504         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
67505         unistr/u16-cmp.
67506         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
67507         unistr/u32-cmp.
67509         * lib/uninorm.h: Mention u*_cmp2.
67510         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
67511         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
67512         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
67513         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
67514         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
67515         unistr/u8-cmp.
67516         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
67517         unistr/u16-cmp.
67518         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
67519         unistr/u32-cmp.
67521         New module 'unistr/u32-cmp2'.
67522         * lib/unistr/u32-cmp2.c: New file.
67523         * modules/unistr/u32-cmp2: New file.
67525         New module 'unistr/u16-cmp2'.
67526         * lib/unistr/u16-cmp2.c: New file.
67527         * modules/unistr/u16-cmp2: New file.
67529         New module 'unistr/u8-cmp2'.
67530         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
67531         * lib/unistr/u8-cmp2.c: New file.
67532         * lib/unistr/u-cmp2.h: New file.
67533         * modules/unistr/u8-cmp2: New file.
67535 2009-04-05  Bruno Haible  <bruno@clisp.org>
67537         * lib/unictype.h (uc_property_is_valid): New macro.
67538         * tests/unictype/test-pr_byname.c (main): Use it.
67540         * lib/unistr.h: Doc fixes.
67541         * lib/uniconv.h: Doc fixes.
67542         * lib/unictype.h: Doc fixes.
67544 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
67546         Port coreutils 7.2 to Solaris 8.
67548         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
67549         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
67550         for Solaris 8.  This is a bit of a hack, as it means it's the
67551         caller's responsibility to add -lnsl if needed, but most likely it
67552         won't be needed since only getaddrinfo uses this and getaddrinfo
67553         isn't needed on Solaris 8.
67555         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
67556         problem to Solaris 8 encountered with coreutils 7.2, which
67557         resulted in a message "fnmatch.c:292: warning: passing argument 4
67558         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
67559         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
67561 2009-04-03  Simon Josefsson  <simon@josefsson.org>
67563         * m4/ld-version-script.m4: Add FIXME comment.
67565 2009-04-02  Simon Josefsson  <simon@josefsson.org>
67567         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
67568         SOVERSION variable.
67570 2009-04-02  Bruno Haible  <bruno@clisp.org>
67572         * Makefile (info, html, dvi, pdf): Combine the rules.
67573         Suggested by Jim Meyering.
67575 2009-04-01  Bruno Haible  <bruno@clisp.org>
67577         * Makefile (info, html, dvi, pdf): New targets.
67578         Reported by Reuben Thomas <rrt@sc3d.org>.
67580 2009-04-01  Bruno Haible  <bruno@clisp.org>
67582         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
67583         can be put into PATH.
67584         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
67586 2009-04-01  Bruno Haible  <bruno@clisp.org>
67588         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
67590 2009-04-01  Bruno Haible  <bruno@clisp.org>
67592         Rename module 'visibility'.
67593         * modules/lib-symbol-visibility: Renamed from modules/visibility.
67594         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
67595         * doc/gnulib.texi: Update.
67596         * MODULES.html.sh (Misc): Update.
67597         * NEWS: Mention the change.
67599 2009-04-01  Simon Josefsson  <simon@josefsson.org>
67601         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
67602         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
67603         Eric Blake <ebb9@byu.net> for review.
67604         * MODULES.html.sh: Add lib-msvc-compat.
67605         * doc/gnulib.texi: Link to new section.
67606         * m4/ld-output-def.m4: New file.
67607         * doc/ld-output-def.texi: New file.
67609 2009-04-01  Simon Josefsson  <simon@josefsson.org>
67611         Rename ld-version-script to lib-symbol-versions.  Suggested by
67612         Bruno Haible <bruno@clisp.org>.
67613         * modules/ld-version-script: Renamed to lib-symbol-versions.
67614         * doc/ld-version-script.texi: Fix module name.
67615         * MODULES.html.sh: Add lib-symbol-versions.
67617 2009-03-31  Simon Josefsson  <simon@josefsson.org>
67619         * modules/u64-tests: New file.
67620         * tests/test-u64.c: New file.
67622 2009-03-04  Simon Josefsson  <simon@josefsson.org>
67624         * MODULES.html.sh: Mention u64.
67625         * modules/u64: New module.
67626         * modules/crypto/sha512: Depend on u64 module instead of providing
67627         u64.h.
67629 2009-03-27  Eric Blake  <ebb9@byu.net>
67631         test-strerror: make debugging EAI_SYSTEM easier
67632         * modules/getaddrinfo-tests (Depends-on): Add strerror.
67633         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
67634         failure was EAI_SYSTEM.
67636 2009-03-25  Bruno Haible  <bruno@clisp.org>
67638         Fix a problem with --enable-relocatable on Solaris 7.
67639         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
67640         since 2008-02-24.
67642 2009-03-25  Eric Blake  <ebb9@byu.net>
67644         test-sockets: avoid gcc warning
67645         * tests/test-sockets.c (main): Silence compiler warning.
67647 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
67649         New modules nproc, pthread, contributed by Glen Lenker.
67651         * MODULES.html.sh: Add pthread, nproc.
67652         * lib/nproc.c: New file.
67653         * lib/nproc.h: New file.
67654         * lib/pthread.in.h: New file.
67655         * m4/pthread.m4: New file.
67656         * modules/nproc: New file.
67657         * modules/pthread: New file.
67659 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67661         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
67662         New variable.
67664 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
67666         filevercmp: handle simple~ and numbered.~3~ backup suffixes
67667         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
67668         * tests/test-filevercmp.c: Add tests for backup suffixes.
67670 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67672         * modules/stdlib (Depends-on): Add stdint, needed when defining
67673         struct random_data on, for example, HP-UX 10.20.  Reported by
67674         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
67676 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67678         * lib/readline.c (readline): Call fflush on stdout after printing
67679         prompt.
67681 2009-03-20  Bruno Haible  <bruno@clisp.org>
67683         Remove dependency from 'close' module to -lws2_32 on native Windows.
67684         * lib/close-hook.h: New file.
67685         * lib/close-hook.c: New file.
67686         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
67687         w32sock.h.
67688         (_gl_close_fd_maybe_socket): Remove function.
67689         (rpl_close): Invoke execute_all_close_hooks instead of
67690         _gl_close_fd_maybe_socket.
67691         * lib/sockets.c: Include close-hook.h, w32sock.h.
67692         (close_fd_maybe_socket): New function, essentially from lib/close.c.
67693         (close_sockets_hook): New variable.
67694         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
67695         (gl_sockets_cleanup): Unregister it.
67696         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
67697         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
67698         * modules/close-hook: New file.
67699         * modules/close (Files): Remove lib/w32sock.h.
67700         (Depends-on): Add close-hook.
67701         (Link): Remove section.
67702         * modules/sockets (Files): Add lib/w32sock.h.
67703         (Depends-on): Add close-hook.
67704         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
67705         invocation.
67706         * NEWS: Mention that LIB_CLOSE is gone.
67708 2009-03-23  Eric Blake  <ebb9@byu.net>
67710         signal-tests: test previous patch
67711         * tests/test-signal.c: New file.
67712         * modules/signal-tests: Likewise.
67714         signal.h: always support 'volatile sig_atomic_t'
67715         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
67716         (gl_SIGNAL_H_DEFAULTS): Add a default.
67717         * modules/signal (Makefile.am): Substitute if needed.
67718         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
67719         users can blindly add volatile.
67720         * doc/posix-headers/signal.texi (signal.h): Document it.
67721         Reported by Matthew Woehlke.
67723 2009-03-23  Jim Meyering  <meyering@redhat.com>
67725         pathmax: PATH_MAX: use pathconf only when available
67726         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
67727         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
67728         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
67729         This avoids a link failure in a PSP cross-compilation environment
67730         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
67732         * lib/vasnprintf.c (divide): Fix typo in comment.
67734 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67736         * gnulib-tool (func_filter_filelist): Fix comment.
67738 2009-03-20  Bruno Haible  <bruno@clisp.org>
67740         Make sockets.h self-contained.
67741         * lib/sockets.c: Include sockets.h first.
67742         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
67744 2009-03-19  Eric Blake  <ebb9@byu.net>
67746         doc: mention more functions added in cygwin 1.7.0
67747         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
67748         addition.
67749         * doc/posix-functions/log2f.texi: Likewise.
67751 2009-03-19  Jim Meyering  <meyering@redhat.com>
67753         fsusage: avoid syntax error due to statement-before-declaration
67754         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
67755         after all declarations.  Reported by Matthew Woehlke in
67756         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
67758 2009-03-18  Eric Blake  <ebb9@byu.net>
67760         build-aux/compile: sync from automake
67761         * build-aux/compile: New file, from automake.
67762         * config/srclist.txt: Mention build-aux/compile.
67764 2009-03-17  Bruno Haible  <bruno@clisp.org>
67766         * lib/git-merge-changelog.c: Fix typo in comment.
67767         Reported by Reuben Thomas <rrt@sc3d.org>.
67769 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
67771         * m4/regex.m4: update and improve help for
67772         --without-included-regex.
67774 2009-03-17  Simon Josefsson  <simon@josefsson.org>
67776         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
67777         failure on missing include files.
67779 2009-03-17  Eric Blake  <ebb9@byu.net>
67781         doc: mention more functions added in cygwin 1.7.0
67782         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
67783         addition.
67784         * doc/posix-functions/fwscanf.texi: Likewise.
67785         * doc/posix-functions/swprintf.texi: Likewise.
67786         * doc/posix-functions/swscanf.texi: Likewise.
67787         * doc/posix-functions/vfwprintf.texi: Likewise.
67788         * doc/posix-functions/vfwscanf.texi: Likewise.
67789         * doc/posix-functions/vswprintf.texi: Likewise.
67790         * doc/posix-functions/vswscanf.texi: Likewise.
67791         * doc/posix-functions/vwprintf.texi: Likewise.
67792         * doc/posix-functions/vwscanf.texi: Likewise.
67793         * doc/posix-functions/wcscasecmp.texi: Likewise.
67794         * doc/posix-functions/wcsdup.texi: Likewise.
67795         * doc/posix-functions/wcsftime.texi: Likewise.
67796         * doc/posix-functions/wcsncasecmp.texi: Likewise.
67797         * doc/posix-functions/wprintf.texi: Likewise.
67798         * doc/posix-functions/wscanf.texi: Likewise.
67799         * doc/glibc-functions/gethostbyname2.texi: Likewise.
67801 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67803         maint.mk: really add $(AM_MAKEFLAGS)
67804         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
67805         was inadvertently omitted in the last commit.
67806         Spotted by Bruno Haible.
67808         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
67809         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
67810         $(AM_MAKEFLAGS)' rather than plain `make'.
67812         gnulib-tool: execute $MAKE not make
67813         * gnulib-tool: Default $MAKE to 'make'.
67814         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
67815         than make.  Initialize $MAKE in the do-autobuild script.
67817         gnulib-tool: use $MAKE not make in generated files
67818         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
67819         make, in generated files.  Initialize $MAKE in the do-autobuild
67820         script.
67822         * top/GNUmakefile (_have-git-version-gen): Fix typo.
67824         GNUmakefile: disable parallelism only for multiple, recursive targets
67825         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
67826         additions in the Makefile.
67827         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
67828         by Automake.
67829         (.NOTPARALLEL): Only disable parallel builds if multiple targets
67830         are listed on the command line and at least one of them is
67831         listed in $(ALL_RECURSIVE_TARGETS).
67833 2009-03-14  Bruno Haible  <bruno@clisp.org>
67835         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
67836         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
67837         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
67838         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
67839         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
67840         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
67841         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
67842         unistr/u8-uctomb.
67843         * modules/unistr/u8-strchr (Depends-on): Likewise.
67844         * modules/unistr/u8-strrchr (Depends-on): Likewise.
67845         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
67846         unistr/u16-uctomb.
67847         * modules/unistr/u16-strchr (Depends-on): Likewise.
67848         * modules/unistr/u16-strrchr (Depends-on): Likewise.
67850 2009-03-12  Bruno Haible  <bruno@clisp.org>
67852         Work around select() bug on Interix 3.5.
67853         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
67854         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
67855         * m4/select.m4: New file.
67856         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
67857         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
67858         * modules/select (Files): Add m4/select.m4.
67859         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
67860         * modules/nanosleep (Depends-on): Add select.
67861         * modules/poll (Depends-on): Likewise.
67862         * doc/posix-functions/select.texi: Mention the Interix bug.
67863         Reported by Markus Duft <mduft@gentoo.org>.
67865         * lib/select.c: Renamed from lib/winsock-select.c.
67866         * modules/select (Files): Add lib/select.c, remove
67867         lib/winsock-select.c.
67868         (configure.ac): Update.
67870 2009-03-12  Jim Meyering  <meyering@redhat.com>
67872         avoid gcc warnings about unused macro definitions
67873         * lib/readtokens.c (STREQ): Remove unused definition.
67874         * lib/xmalloc.c (SIZE_MAX): Likewise.
67875         * lib/openat-die.c (N_): Likewise.
67876         * lib/mountlist.c (SIZE_MAX): Remove definition.
67877         Instead, include <stdint.h>.
67878         * lib/readutmp.c: Likewise.
67879         * modules/readutmp (Depends-on): Add stdint.
67880         * modules/mountlist (Depends-on): Add stdint.
67881         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
67883 2009-03-10  Bruno Haible  <bruno@clisp.org>
67885         Tests for module 'mbmemcasecoll'.
67886         * modules/mbmemcasecoll-tests: New file.
67887         * tests/test-mbmemcasecoll1.sh: New file.
67888         * tests/test-mbmemcasecoll2.sh: New file.
67889         * tests/test-mbmemcasecoll3.sh: New file.
67890         * tests/test-mbmemcasecoll.c: New file.
67892         New module 'mbmemcasecoll'.
67893         * lib/mbmemcasecoll.h: New file.
67894         * lib/mbmemcasecoll.c: New file.
67895         * modules/mbmemcasecoll: New file.
67897         * tests/test-mbmemcasecmp.h: New file, extracted from
67898         tests/test-mbmemcasecmp.c.
67899         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
67900         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
67901         (main): Update.
67902         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
67904 2009-03-09  Bruno Haible  <bruno@clisp.org>
67906         Tests for module 'mbmemcasecmp'.
67907         * modules/mbmemcasecmp-tests: New file.
67908         * tests/test-mbmemcasecmp1.sh: New file.
67909         * tests/test-mbmemcasecmp2.sh: New file.
67910         * tests/test-mbmemcasecmp3.sh: New file.
67911         * tests/test-mbmemcasecmp.c: New file.
67913         New module 'mbmemcasecmp'.
67914         * lib/mbmemcasecmp.h: New file.
67915         * lib/mbmemcasecmp.c: New file.
67916         * modules/mbmemcasecmp: New file.
67918 2009-03-09  Bruno Haible  <bruno@clisp.org>
67920         Tests for module 'unicase/ulc-casecoll'.
67921         * modules/unicase/ulc-casecoll-tests: New file.
67922         * tests/unicase/test-ulc-casecoll1.sh: New file.
67923         * tests/unicase/test-ulc-casecoll2.sh: New file.
67924         * tests/unicase/test-ulc-casecoll.c: New file.
67926         New module 'unicase/ulc-casecoll'.
67927         * lib/unicase.h (ulc_casecoll): New declaration.
67928         * lib/unicase/ulc-casecoll.c: New file.
67929         * modules/unicase/ulc-casecoll: New file.
67931         New module 'unicase/ulc-casexfrm'.
67932         * lib/unicase.h (ulc_casexfrm): New declaration.
67933         * lib/unicase/ulc-casexfrm.c: New file.
67934         * modules/unicase/ulc-casexfrm: New file.
67936 2009-03-09  Bruno Haible  <bruno@clisp.org>
67938         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
67939         invocations.
67941         * m4/mbscasecmp.m4: Remove file.
67942         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
67943         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
67945         * m4/mbscasestr.m4: Remove file.
67946         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
67947         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
67949         * m4/mbschr.m4: Remove file.
67950         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
67951         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
67953         * m4/mbscspn.m4: Remove file.
67954         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
67955         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
67957         * m4/mbslen.m4: Remove file.
67958         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
67959         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
67961         * m4/mbsncasecmp.m4: Remove file.
67962         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
67963         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
67965         * m4/mbsnlen.m4: Remove file.
67966         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
67967         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
67969         * m4/mbspbrk.m4: Remove file.
67970         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
67971         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
67973         * m4/mbspcasecmp.m4: Remove file.
67974         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
67975         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
67977         * m4/mbsrchr.m4: Remove file.
67978         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
67979         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
67981         * m4/mbssep.m4: Remove file.
67982         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
67983         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
67985         * m4/mbsspn.m4: Remove file.
67986         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
67987         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
67989         * m4/mbsstr.m4: Remove file.
67990         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
67991         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
67993         * m4/mbstok_r.m4: Remove file.
67994         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
67995         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
67997         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
67999         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
68000         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
68002         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
68004 2009-03-08  Bruno Haible  <bruno@clisp.org>
68006         Tests for module 'unicase/ulc-casecmp'.
68007         * modules/unicase/ulc-casecmp-tests: New file.
68008         * tests/unicase/test-ulc-casecmp1.sh: New file.
68009         * tests/unicase/test-ulc-casecmp2.sh: New file.
68010         * tests/unicase/test-ulc-casecmp.c: New file.
68012         New module 'unicase/ulc-casecmp'.
68013         * lib/unicase.h (ulc_casecmp): New declaration.
68014         * lib/unicase/ulc-casecmp.c: New file.
68015         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
68016         'const SRC_UNIT *'.
68017         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
68018         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
68019         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
68020         * modules/unicase/ulc-casecmp: New file.
68022         Tests for module 'unicase/u32-is-cased'.
68023         * modules/unicase/u32-is-cased-tests: New file.
68024         * tests/unicase/test-u32-is-cased.c: New file.
68026         Tests for module 'unicase/u16-is-cased'.
68027         * modules/unicase/u16-is-cased-tests: New file.
68028         * tests/unicase/test-u16-is-cased.c: New file.
68030         Tests for module 'unicase/u8-is-cased'.
68031         * modules/unicase/u8-is-cased-tests: New file.
68032         * tests/unicase/test-u8-is-cased.c: New file.
68033         * tests/unicase/test-is-cased.h: New file.
68035         New module 'unicase/u32-is-cased'.
68036         * lib/unicase/u32-is-cased.c: New file.
68037         * modules/unicase/u32-is-cased: New file.
68039         New module 'unicase/u16-is-cased'.
68040         * lib/unicase/u16-is-cased.c: New file.
68041         * modules/unicase/u16-is-cased: New file.
68043         New module 'unicase/u8-is-cased'.
68044         * lib/unicase/u8-is-cased.c: New file.
68045         * lib/unicase/u-is-cased.h: New file.
68046         * modules/unicase/u8-is-cased: New file.
68048         Tests for module 'unicase/u32-is-casefolded'.
68049         * modules/unicase/u32-is-casefolded-tests: New file.
68050         * tests/unicase/test-u32-is-casefolded.c: New file.
68052         Tests for module 'unicase/u16-is-casefolded'.
68053         * modules/unicase/u16-is-casefolded-tests: New file.
68054         * tests/unicase/test-u16-is-casefolded.c: New file.
68056         Tests for module 'unicase/u8-is-casefolded'.
68057         * modules/unicase/u8-is-casefolded-tests: New file.
68058         * tests/unicase/test-u8-is-casefolded.c: New file.
68059         * tests/unicase/test-is-casefolded.h: New file.
68061         New module 'unicase/u32-is-casefolded'.
68062         * lib/unicase/u32-is-casefolded.c: New file.
68063         * modules/unicase/u32-is-casefolded: New file.
68065         New module 'unicase/u16-is-casefolded'.
68066         * lib/unicase/u16-is-casefolded.c: New file.
68067         * modules/unicase/u16-is-casefolded: New file.
68069         New module 'unicase/u8-is-casefolded'.
68070         * lib/unicase/u8-is-casefolded.c: New file.
68071         * modules/unicase/u8-is-casefolded: New file.
68073         Tests for module 'unicase/u32-is-titlecase'.
68074         * modules/unicase/u32-is-titlecase-tests: New file.
68075         * tests/unicase/test-u32-is-titlecase.c: New file.
68077         Tests for module 'unicase/u16-is-titlecase'.
68078         * modules/unicase/u16-is-titlecase-tests: New file.
68079         * tests/unicase/test-u16-is-titlecase.c: New file.
68081         Tests for module 'unicase/u8-is-titlecase'.
68082         * modules/unicase/u8-is-titlecase-tests: New file.
68083         * tests/unicase/test-u8-is-titlecase.c: New file.
68084         * tests/unicase/test-is-titlecase.h: New file.
68086         New module 'unicase/u32-is-titlecase'.
68087         * lib/unicase/u32-is-titlecase.c: New file.
68088         * modules/unicase/u32-is-titlecase: New file.
68090         New module 'unicase/u16-is-titlecase'.
68091         * lib/unicase/u16-is-titlecase.c: New file.
68092         * modules/unicase/u16-is-titlecase: New file.
68094         New module 'unicase/u8-is-titlecase'.
68095         * lib/unicase/u8-is-titlecase.c: New file.
68096         * modules/unicase/u8-is-titlecase: New file.
68098         Tests for module 'unicase/u32-is-lowercase'.
68099         * modules/unicase/u32-is-lowercase-tests: New file.
68100         * tests/unicase/test-u32-is-lowercase.c: New file.
68102         Tests for module 'unicase/u16-is-lowercase'.
68103         * modules/unicase/u16-is-lowercase-tests: New file.
68104         * tests/unicase/test-u16-is-lowercase.c: New file.
68106         Tests for module 'unicase/u8-is-lowercase'.
68107         * modules/unicase/u8-is-lowercase-tests: New file.
68108         * tests/unicase/test-u8-is-lowercase.c: New file.
68109         * tests/unicase/test-is-lowercase.h: New file.
68111         New module 'unicase/u32-is-lowercase'.
68112         * lib/unicase/u32-is-lowercase.c: New file.
68113         * modules/unicase/u32-is-lowercase: New file.
68115         New module 'unicase/u16-is-lowercase'.
68116         * lib/unicase/u16-is-lowercase.c: New file.
68117         * modules/unicase/u16-is-lowercase: New file.
68119         New module 'unicase/u8-is-lowercase'.
68120         * lib/unicase/u8-is-lowercase.c: New file.
68121         * modules/unicase/u8-is-lowercase: New file.
68123         Tests for module 'unicase/u32-is-uppercase'.
68124         * modules/unicase/u32-is-uppercase-tests: New file.
68125         * tests/unicase/test-u32-is-uppercase.c: New file.
68127         Tests for module 'unicase/u16-is-uppercase'.
68128         * modules/unicase/u16-is-uppercase-tests: New file.
68129         * tests/unicase/test-u16-is-uppercase.c: New file.
68131         Tests for module 'unicase/u8-is-uppercase'.
68132         * modules/unicase/u8-is-uppercase-tests: New file.
68133         * tests/unicase/test-u8-is-uppercase.c: New file.
68134         * tests/unicase/test-is-uppercase.h: New file.
68136         New module 'unicase/u32-is-uppercase'.
68137         * lib/unicase/u32-is-uppercase.c: New file.
68138         * modules/unicase/u32-is-uppercase: New file.
68140         New module 'unicase/u16-is-uppercase'.
68141         * lib/unicase/u16-is-uppercase.c: New file.
68142         * modules/unicase/u16-is-uppercase: New file.
68144         New module 'unicase/u8-is-uppercase'.
68145         * lib/unicase/u8-is-uppercase.c: New file.
68146         * modules/unicase/u8-is-uppercase: New file.
68148         New module 'unicase/u32-is-invariant'.
68149         * lib/unicase/u32-is-invariant.c: New file.
68150         * modules/unicase/u32-is-invariant: New file.
68152         New module 'unicase/u16-is-invariant'.
68153         * lib/unicase/u16-is-invariant.c: New file.
68154         * modules/unicase/u16-is-invariant: New file.
68156         New module 'unicase/u8-is-invariant'.
68157         * lib/unicase/u8-is-invariant.c: New file.
68158         * lib/unicase/invariant.h: New file.
68159         * lib/unicase/u-is-invariant.h: New file.
68160         * modules/unicase/u8-is-invariant: New file.
68162         Tests for module 'unicase/u32-casecoll'.
68163         * modules/unicase/u32-casecoll-tests: New file.
68164         * tests/unicase/test-u32-casecoll.c: New file.
68166         Tests for module 'unicase/u16-casecoll'.
68167         * modules/unicase/u16-casecoll-tests: New file.
68168         * tests/unicase/test-u16-casecoll.c: New file.
68170         Tests for module 'unicase/u8-casecoll'.
68171         * modules/unicase/u8-casecoll-tests: New file.
68172         * tests/unicase/test-u8-casecoll.c: New file.
68174         New module 'unicase/u32-casecoll'.
68175         * lib/unicase/u32-casecoll.c: New file.
68176         * modules/unicase/u32-casecoll: New file.
68178         New module 'unicase/u16-casecoll'.
68179         * lib/unicase/u16-casecoll.c: New file.
68180         * modules/unicase/u16-casecoll: New file.
68182         New module 'unicase/u8-casecoll'.
68183         * lib/unicase/u8-casecoll.c: New file.
68184         * lib/unicase/u-casecoll.h: New file.
68185         * modules/unicase/u8-casecoll: New file.
68187         New module 'unicase/u32-casexfrm'.
68188         * lib/unicase/u32-casexfrm.c: New file.
68189         * modules/unicase/u32-casexfrm: New file.
68191         New module 'unicase/u16-casexfrm'.
68192         * lib/unicase/u16-casexfrm.c: New file.
68193         * modules/unicase/u16-casexfrm: New file.
68195         New module 'unicase/u8-casexfrm'.
68196         * lib/unicase/u8-casexfrm.c: New file.
68197         * lib/unicase/u-casexfrm.h: New file.
68198         * modules/unicase/u8-casexfrm: New file.
68200         Tests for module 'unicase/u32-casecmp'.
68201         * modules/unicase/u32-casecmp-tests: New file.
68202         * tests/unicase/test-u32-casecmp.c: New file.
68204         Tests for module 'unicase/u16-casecmp'.
68205         * modules/unicase/u16-casecmp-tests: New file.
68206         * tests/unicase/test-u16-casecmp.c: New file.
68208         Tests for module 'unicase/u8-casecmp'.
68209         * modules/unicase/u8-casecmp-tests: New file.
68210         * tests/unicase/test-u8-casecmp.c: New file.
68211         * tests/unicase/test-casecmp.h: New file.
68213         New module 'unicase/u32-casecmp'.
68214         * lib/unicase/u32-casecmp.c: New file.
68215         * modules/unicase/u32-casecmp: New file.
68217         New module 'unicase/u16-casecmp'.
68218         * lib/unicase/u16-casecmp.c: New file.
68219         * modules/unicase/u16-casecmp: New file.
68221         New module 'unicase/u8-casecmp'.
68222         * lib/unicase/u8-casecmp.c: New file.
68223         * lib/unicase/u-casecmp.h: New file.
68224         * modules/unicase/u8-casecmp: New file.
68226         Tests for module 'unicase/u32-casefold'.
68227         * modules/unicase/u32-casefold-tests: New file.
68228         * tests/unicase/test-u32-casefold.c: New file.
68230         Tests for module 'unicase/u16-casefold'.
68231         * modules/unicase/u16-casefold-tests: New file.
68232         * tests/unicase/test-u16-casefold.c: New file.
68234         Tests for module 'unicase/u8-casefold'.
68235         * modules/unicase/u8-casefold-tests: New file.
68236         * tests/unicase/test-u8-casefold.c: New file.
68238         New module 'unicase/u32-casefold'.
68239         * lib/unicase/u32-casefold.c: New file.
68240         * modules/unicase/u32-casefold: New file.
68242         New module 'unicase/u16-casefold'.
68243         * lib/unicase/u16-casefold.c: New file.
68244         * modules/unicase/u16-casefold: New file.
68246         New module 'unicase/u8-casefold'.
68247         * lib/unicase/u8-casefold.c: New file.
68248         * lib/unicase/u-casefold.h: New file.
68249         * modules/unicase/u8-casefold: New file.
68251         New module 'unicase/tocasefold'.
68252         * lib/unicase/casefold.h: New file.
68253         * lib/unicase/tocasefold.c: New file.
68254         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
68255         * modules/unicase/tocasefold: New file.
68257         Tests for module 'unicase/u32-totitle'.
68258         * modules/unicase/u32-totitle-tests: New file.
68259         * tests/unicase/test-u32-totitle.c: New file.
68261         Tests for module 'unicase/u16-totitle'.
68262         * modules/unicase/u16-totitle-tests: New file.
68263         * tests/unicase/test-u16-totitle.c: New file.
68265         Tests for module 'unicase/u8-totitle'.
68266         * modules/unicase/u8-totitle-tests: New file.
68267         * tests/unicase/test-u8-totitle.c: New file.
68269         New module 'unicase/u32-totitle'.
68270         * lib/unicase/u32-totitle.c: New file.
68271         * modules/unicase/u32-totitle: New file.
68273         New module 'unicase/u16-totitle'.
68274         * lib/unicase/u16-totitle.c: New file.
68275         * modules/unicase/u16-totitle: New file.
68277         New module 'unicase/u8-totitle'.
68278         * lib/unicase/u8-totitle.c: New file.
68279         * lib/unicase/u-totitle.h: New file.
68280         * modules/unicase/u8-totitle: New file.
68282         Tests for module 'unicase/u32-tolower'.
68283         * modules/unicase/u32-tolower-tests: New file.
68284         * tests/unicase/test-u32-tolower.c: New file.
68286         Tests for module 'unicase/u16-tolower'.
68287         * modules/unicase/u16-tolower-tests: New file.
68288         * tests/unicase/test-u16-tolower.c: New file.
68290         Tests for module 'unicase/u8-tolower'.
68291         * modules/unicase/u8-tolower-tests: New file.
68292         * tests/unicase/test-u8-tolower.c: New file.
68294         New module 'unicase/u32-tolower'.
68295         * lib/unicase/u32-tolower.c: New file.
68296         * modules/unicase/u32-tolower: New file.
68298         New module 'unicase/u16-tolower'.
68299         * lib/unicase/u16-tolower.c: New file.
68300         * modules/unicase/u16-tolower: New file.
68302         New module 'unicase/u8-tolower'.
68303         * lib/unicase/u8-tolower.c: New file.
68304         * modules/unicase/u8-tolower: New file.
68306         Tests for module 'unicase/u32-toupper'.
68307         * modules/unicase/u32-toupper-tests: New file.
68308         * tests/unicase/test-u32-toupper.c: New file.
68310         Tests for module 'unicase/u16-toupper'.
68311         * modules/unicase/u16-toupper-tests: New file.
68312         * tests/unicase/test-u16-toupper.c: New file.
68314         Tests for module 'unicase/u8-toupper'.
68315         * modules/unicase/u8-toupper-tests: New file.
68316         * tests/unicase/test-u8-toupper.c: New file.
68318         New module 'unicase/u32-toupper'.
68319         * lib/unicase/u32-toupper.c: New file.
68320         * modules/unicase/u32-toupper: New file.
68322         New module 'unicase/u16-toupper'.
68323         * lib/unicase/u16-toupper.c: New file.
68324         * modules/unicase/u16-toupper: New file.
68326         New module 'unicase/u8-toupper'.
68327         * lib/unicase/u8-toupper.c: New file.
68328         * modules/unicase/u8-toupper: New file.
68330         New module 'unicase/u32-casemap'.
68331         * lib/unicase/u32-casemap.c: New file.
68332         * modules/unicase/u32-casemap: New file.
68334         New module 'unicase/u16-casemap'.
68335         * lib/unicase/u16-casemap.c: New file.
68336         * modules/unicase/u16-casemap: New file.
68338         New module 'unicase/u8-casemap'.
68339         * lib/unicase/unicasemap.h: New file.
68340         * lib/unicase/u8-casemap.c: New file.
68341         * lib/unicase/u-casemap.h: New file.
68342         * modules/unicase/u8-casemap: New file.
68344         New module 'unicase/special-casing'.
68345         * lib/unicase/special-casing.h: New file.
68346         * lib/unicase/special-casing.c: New file.
68347         * lib/unicase/special-casing-table.gperf: New file, generated by
68348         gen-uni-tables.c.
68349         * modules/unicase/special-casing: New file.
68351         Tests for module 'unicase/locale-language'.
68352         * modules/unicase/locale-language-tests: New file.
68353         * tests/unicase/test-locale-language.sh: New file.
68354         * tests/unicase/test-locale-language.c: New file.
68356         New module 'unicase/locale-language'.
68357         * lib/unicase/locale-language.c: New file.
68358         * lib/unicase/locale-languages.gperf: New file.
68359         * modules/unicase/locale-language: New file.
68361         Generate more tables for case conversion and case folding.
68362         * lib/gen-uni-tables.c (SCC_*): New enum items.
68363         (struct special_casing_rule): New type.
68364         (casing_rules, num_casing_rules, allocated_casing_rules): New
68365         variables.
68366         (add_casing_rule, fill_casing_rules): New functions.
68367         (struct casefold_rule): New type.
68368         (casefolding_rules, num_casefolding_rules,
68369         allocated_casefolding_rules): New variables.
68370         (fill_casefolding_rules): New function.
68371         (unicode_casefold): New variable.
68372         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
68373         sort_casing_rules, output_casing_rules): New functions.
68374         (main): Accept to more arguments: SpecialCasing.txt and
68375         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
68376         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
68377         Output mapping for casefolding.
68379         * lib/unicase.h: Include stdbool.h, uninorm.h.
68380         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
68381         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
68382         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
68383         arguments.
68384         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
68385         resultp arguments.
68386         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
68387         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
68388         resultp arguments.
68389         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
68390         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
68391         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
68392         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
68393         declarations.
68394         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
68396 2009-03-08  Bruno Haible  <bruno@clisp.org>
68398         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
68399         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
68400         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
68401         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
68403 2009-03-07  Bruno Haible  <bruno@clisp.org>
68405         Adjust u*_normcmp, u*_normcoll API.
68406         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
68407         u16_normcoll, u32_normcoll): Change failure conventions.
68408         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
68409         errno and return -1.
68410         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
68412 2009-03-07  Bruno Haible  <bruno@clisp.org>
68414         Tests for module 'uninorm/u32-normcoll'.
68415         * modules/uninorm/u32-normcoll-tests: New file.
68416         * tests/uninorm/test-u32-normcoll.c: New file.
68418         Tests for module 'uninorm/u16-normcoll'.
68419         * modules/uninorm/u16-normcoll-tests: New file.
68420         * tests/uninorm/test-u16-normcoll.c: New file.
68422         Tests for module 'uninorm/u8-normcoll'.
68423         * modules/uninorm/u8-normcoll-tests: New file.
68424         * tests/uninorm/test-u8-normcoll.c: New file.
68426 2009-03-07  Bruno Haible  <bruno@clisp.org>
68428         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
68429         tests/uninorm/test-u32-normcmp.c.
68430         * tests/uninorm/test-u32-normcmp.c: Include it.
68431         (test_nonascii): New function, extracted from main. Add some more
68432         tests.
68433         (main): Invoke test_ascii and test_nonascii.
68434         * modules/uninorm/u32-normcmp-tests (Files): Add
68435         tests/uninorm/test-u32-normcmp.h.
68436         (Depends-on): Remove uninorm/u32-normcmp.
68438         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
68439         tests/uninorm/test-u16-normcmp.c.
68440         * tests/uninorm/test-u16-normcmp.c: Include it.
68441         (test_nonascii): New function, extracted from main. Add some more
68442         tests.
68443         (main): Invoke test_ascii and test_nonascii.
68444         * modules/uninorm/u16-normcmp-tests (Files): Add
68445         tests/uninorm/test-u16-normcmp.h.
68446         (Depends-on): Remove uninorm/u16-normcmp.
68448         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
68449         tests/uninorm/test-u8-normcmp.c.
68450         * tests/uninorm/test-u8-normcmp.c: Include it.
68451         (test_nonascii): New function, extracted from main. Add some more
68452         tests.
68453         (main): Invoke test_ascii and test_nonascii.
68454         * modules/uninorm/u8-normcmp-tests (Files): Add
68455         tests/uninorm/test-u8-normcmp.h.
68456         (Depends-on): Remove uninorm/u8-normcmp.
68458 2009-03-07  Bruno Haible  <bruno@clisp.org>
68460         New module 'uninorm/u32-normcoll'.
68461         * lib/uninorm/u32-normcoll.c: New file.
68462         * modules/uninorm/u32-normcoll: New file.
68464         New module 'uninorm/u16-normcoll'.
68465         * lib/uninorm/u16-normcoll.c: New file.
68466         * modules/uninorm/u16-normcoll: New file.
68468         New module 'uninorm/u8-normcoll'.
68469         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
68470         declarations.
68471         * lib/uninorm/u8-normcoll.c: New file.
68472         * lib/uninorm/u-normcoll.h: New file.
68473         * modules/uninorm/u8-normcoll: New file.
68475         New module 'uninorm/u32-normxfrm'.
68476         * lib/uninorm/u32-normxfrm.c: New file.
68477         * modules/uninorm/u32-normxfrm: New file.
68479         New module 'uninorm/u16-normxfrm'.
68480         * lib/uninorm/u16-normxfrm.c: New file.
68481         * modules/uninorm/u16-normxfrm: New file.
68483         New module 'uninorm/u8-normxfrm'.
68484         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
68485         declarations.
68486         * lib/uninorm/u8-normxfrm.c: New file.
68487         * lib/uninorm/u-normxfrm.h: New file.
68488         * modules/uninorm/u8-normxfrm: New file.
68490 2009-03-07  Bruno Haible  <bruno@clisp.org>
68492         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
68493         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
68494         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
68496 2009-03-07  Bruno Haible  <bruno@clisp.org>
68498         New module 'memxfrm'.
68499         * lib/memxfrm.h: New file.
68500         * lib/memxfrm.c: New file.
68501         * modules/memxfrm: New file.
68503 2009-03-07  Bruno Haible  <bruno@clisp.org>
68505         New module 'memcmp2'.
68506         * lib/memcmp2.h: New file.
68507         * lib/memcmp2.c: New file.
68508         * modules/memcmp2: New file.
68510 2009-03-07  Bruno Haible  <bruno@clisp.org>
68512         Tests for module 'uninorm/decomposing-form'.
68513         * modules/uninorm/decomposing-form-tests: New file.
68514         * tests/uninorm/test-decomposing-form.c: New file.
68516         New module 'uninorm/decomposing-form'.
68517         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
68518         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
68519         Add 'decomposing_variant' field.
68520         * lib/uninorm/decomposing-form.c: New file.
68521         * lib/uninorm/nfc.c (uninorm_nfc): Update.
68522         * lib/uninorm/nfd.c (uninorm_nfd): Update.
68523         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
68524         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
68525         * modules/uninorm/decomposing-form: New file.
68526         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
68527         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
68529 2009-03-07  Bruno Haible  <bruno@clisp.org>
68531         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
68532         strings.
68534 2009-03-06  Bruno Haible  <bruno@clisp.org>
68536         Tests for module 'uninorm/u32-normcmp'.
68537         * tests/uninorm/test-u32-normcmp.c: New file.
68538         * modules/uninorm/u32-normcmp-tests: New file.
68540         Tests for module 'uninorm/u16-normcmp'.
68541         * tests/uninorm/test-u16-normcmp.c: New file.
68542         * modules/uninorm/u16-normcmp-tests: New file.
68544         Tests for module 'uninorm/u8-normcmp'.
68545         * tests/uninorm/test-u8-normcmp.c: New file.
68546         * modules/uninorm/u8-normcmp-tests: New file.
68548         New module 'uninorm/u32-normcmp'.
68549         * lib/uninorm/u32-normcmp.c: New file.
68550         * modules/uninorm/u32-normcmp: New file.
68552         New module 'uninorm/u16-normcmp'.
68553         * lib/uninorm/u16-normcmp.c: New file.
68554         * modules/uninorm/u16-normcmp: New file.
68556         New module 'uninorm/u8-normcmp'.
68557         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
68558         declarations.
68559         * lib/uninorm/u8-normcmp.c: New file.
68560         * lib/uninorm/u-normcmp.h: New file.
68561         * modules/uninorm/u8-normcmp: New file.
68563 2009-03-06  Bruno Haible  <bruno@clisp.org>
68565         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
68566         Reported by Eric Blake.
68568 2009-03-06  Eric Blake  <ebb9@byu.net>
68569             Bruno Haible  <bruno@clisp.org>
68571         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
68572         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
68573         condition.
68574         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
68575         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
68576         condition.
68577         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
68579 2009-03-06  Eric Blake  <ebb9@byu.net>
68581         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
68582         to avoid compiler warnings.
68583         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
68585 2009-03-05  Bruno Haible  <bruno@clisp.org>
68587         * tests/test-ftell.c (main): Disable test beyond end of file on
68588         FreeMiNT.
68589         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
68591 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
68593         * lib/filevercmp.c: Move hidden files up in ordering.
68594         * tests/test-filevercmp.c: Add tests for hidden files.
68596 2009-03-04  Bruno Haible  <bruno@clisp.org>
68598         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
68599         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
68600         AM_CFLAGS.
68601         Reported by Simon Josefsson.
68603 2009-03-03  Bruno Haible  <bruno@clisp.org>
68605         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
68606         Reported by Simon Josefsson.
68608         * doc/ld-version-script.texi: Update node reference.
68610 2009-03-03  Bruno Haible  <bruno@clisp.org>
68612         * modules/visibility (License): Change to 'unlimited'.
68613         Suggested by Simon Josefsson.
68615 2009-03-03  Jim Meyering  <meyering@redhat.com>
68617         unlinkdir: cannot_unlink_dir may modify process state
68618         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
68619         it's neither thread-safe nor appropriate for use in a library.
68621 2009-03-03  Eric Blake  <ebb9@byu.net>
68623         test-closein: silence test under Darwin
68624         * tests/test-closein.sh: Ignore stderr from cat, since we don't
68625         care if it dies from EPIPE or EBADF.
68627 2009-03-03  Bruno Haible  <bruno@clisp.org>
68629         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
68630         earlier.
68631         * doc/visibility.texi: Fix @node and @section.
68633 2009-03-03  Simon Josefsson  <simon@josefsson.org>
68635         * doc/gnulib.texi: Link to sections for ld version script and
68636         visibility.
68637         * doc/visibility.texi: Add @node and @section.
68638         * modules/ld-version-script: New module.
68639         * m4/ld-version-script.m4: New file.
68640         * doc/ld-version-script.texi: New file.
68642 2009-03-02  David Lutterkort  <lutter@redhat.com>
68644         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
68645         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68647 2009-03-02  Bruno Haible  <bruno@clisp.org>
68649         * doc/visibility.texi: Mention libtool's -export-symbols option.
68651 2009-03-02  Jim Meyering  <meyering@redhat.com>
68653         announce-gen: new option: --no-print-checksums
68654         * build-aux/announce-gen (usage): Describe it.
68655         (print_checksums): Print a newline here, not in the [*] footnote.
68656         (main): Honor it.
68658 2009-03-01  Bruno Haible  <bruno@clisp.org>
68660         Use socklen_t in the native Windows replacements prototypes.
68661         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
68662         instead of 'int'.
68663         * lib/getsockopt.c (rpl_getsockopt): Likewise.
68664         * lib/setsockopt.c (rpl_setsockopt): Likewise.
68665         * modules/getsockopt (Depends-on): Add socklen.
68666         * modules/setsockopt (Depends-on): Add socklen.
68668 2009-03-01  Bruno Haible  <bruno@clisp.org>
68670         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
68671         least 4.2.
68673 2009-03-01  Eric Blake  <ebb9@byu.net>
68674             Bruno Haible  <bruno@clisp.org>
68676         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
68677         error messages.
68678         * lib/wait-process.c (wait_subprocess): Omit error message about
68679         deadly signal sent to the child of termsigp != NULL.
68681 2009-03-01  Eric Blake  <ebb9@byu.net>
68683         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
68685 2009-03-01  Bruno Haible  <bruno@clisp.org>
68687         Avoid a gcc warning.
68688         * tests/test-sched.c (b): Make global.
68689         Reported by Eric Blake.
68691 2009-01-19  Martin Lambers  <marlam@marlam.de>
68693         Provide POSIX semantics for socket timeout options on W32.
68694         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
68695         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
68696         * modules/setsockopt: Depend on sys_time module for struct timeval.
68697         * modules/getsockopt: Depend on sys_time module for struct timeval.
68699 2009-03-01  Simon Josefsson  <simon@josefsson.org>
68701         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
68702         __USE_GNU, for consistency with netdb.in.h.
68703         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68705 2009-03-01  Bruno Haible  <bruno@clisp.org>
68707         More support for FreeMiNT.
68708         * lib/fseeko.c (rpl_fseeko): Complete last commit.
68709         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68711 2009-03-01  Bruno Haible  <bruno@clisp.org>
68713         More support for FreeMiNT.
68714         * lib/fpurge.c (fpurge): Correct last commit.
68715         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68717 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68719         Fix unportable awk script in vc-list-files.
68720         * build-aux/vc-list-files: In the replacement awk script, use
68721         substr with a second argument of 1, not zero.
68722         Report by Simon Josefsson.
68724 2009-02-28  Bruno Haible  <bruno@clisp.org>
68726         More support for FreeMiNT.
68727         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
68728         to FreeMiNT today.
68729         * lib/fwriting.c (fwriting): Likewise.
68730         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
68732 2009-02-28  Bruno Haible  <bruno@clisp.org>
68734         * tests/test-freadseek.c (main): Disable test beyond end of file on
68735         FreeMiNT.
68736         * tests/test-ftello.c (main): Likewise.
68737         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
68739 2009-02-28  Bruno Haible  <bruno@clisp.org>
68741         Add tentative support for FreeMiNT.
68742         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
68743         * lib/fpurge.c (fpurge): Likewise.
68744         * lib/freadable.c (freadable): Likewise.
68745         * lib/freading.c (freading): Likewise.
68746         * lib/freadptr.c (freadptr): Likewise.
68747         * lib/freadseek.c (freadptrinc): Likewise.
68748         * lib/fseeko.c (rpl_fseeko): Likewise.
68749         * lib/fseterr.c (fseterr): Likewise.
68750         * lib/fwritable.c (fwritable): Likewise.
68751         * lib/fwriting.c (fwriting): Likewise.
68752         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
68753         Hourihane.
68754         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68756 2009-02-28  Bruno Haible  <bruno@clisp.org>
68758         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
68759         SIGCHLD.
68760         Reported by Jim Meyering.
68762 2009-02-28  Bruno Haible  <bruno@clisp.org>
68764         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
68765         Mention the results of these tests on various platforms.
68766         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
68767         order.
68768         * doc/posix-functions/printf.texi: Likewise.
68769         * doc/posix-functions/snprintf.texi: Likewise.
68770         * doc/posix-functions/sprintf.texi: Likewise.
68771         * doc/posix-functions/vfprintf.texi: Likewise.
68772         * doc/posix-functions/vprintf.texi: Likewise.
68773         * doc/posix-functions/vsnprintf.texi: Likewise.
68774         * doc/posix-functions/vsprintf.texi: Likewise.
68775         * doc/glibc-functions/obstack_printf.texi: Likewise.
68776         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
68778 2009-02-28  Bruno Haible  <bruno@clisp.org>
68780         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
68781         Reported by Loïc Minier <lool@dooz.org>.
68783 2009-02-27  Bruno Haible  <bruno@clisp.org>
68785         * gnulib-tool (func_import): Make the sed expression used to create the
68786         sed script for updating the .gitignore file POSIX compliant.
68787         Reported by Eric Blake.
68789 2009-02-27  Bruno Haible  <bruno@clisp.org>
68791         * gnulib-tool (sed): Don't alias as "sed --posix".
68792         Reported by Eric Blake.
68794 2009-02-27  Bruno Haible  <bruno@clisp.org>
68796         Avoid test link errors.
68797         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
68798         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
68799         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
68800         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
68801         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68803 2009-02-27  Bruno Haible  <bruno@clisp.org>
68805         Avoid spurious "(cached)" in configure output.
68806         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
68807         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
68808         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
68809         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
68810         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
68811         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
68812         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
68813         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
68814         Reported by Eric Blake.
68816 2009-02-27  Eric Blake  <ebb9@byu.net>
68818         printf: fix regression in previous patch
68819         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
68821 2009-02-27  Bruno Haible  <bruno@clisp.org>
68823         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
68824         value.
68825         * lib/stdint.in.h: Likewise.
68826         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
68828 2009-02-27  Eric Blake  <ebb9@byu.net>
68830         doc: mention more functions added in cygwin 1.7.0
68831         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
68832         addition.
68833         * doc/posix-functions/open_wmemstream.texi: Likewise.
68834         * doc/posix-functions/wcsnlen.texi: Likewise.
68835         * doc/posix-functions/wcsnrtombs.texi: Likewise.
68836         * doc/posix-functions/wcstod.texi: Likewise.
68837         * doc/posix-functions/wcstof.texi: Likewise.
68838         * doc/posix-functions/wcstoimax.texi: Likewise.
68839         * doc/posix-functions/wcstok.texi: Likewise.
68840         * doc/posix-functions/wcstoumax.texi: Likewise.
68842         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
68843         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
68844         * doc/posix-functions/fprintf.texi: Update.
68845         * doc/posix-functions/printf.texi: Update.
68846         * doc/posix-functions/snprintf.texi: Update.
68847         * doc/posix-functions/sprintf.texi: Update.
68848         * doc/posix-functions/vfprintf.texi: Update.
68849         * doc/posix-functions/vprintf.texi: Update.
68850         * doc/posix-functions/vsnprintf.texi: Update.
68851         * doc/posix-functions/vsprintf.texi: Update.
68852         * doc/glibc-functions/obstack_printf.texi: Update.
68853         * doc/glibc-functions/obstack_vprintf.texi: Update.
68855 2009-02-26  Eric Blake  <ebb9@byu.net>
68857         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
68858         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
68859         compilation bug by using runtime conversion.
68860         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
68861         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
68862         * modules/ceill-tests (Files): Use nan.h.
68863         * modules/floorl-tests (Files): Likewise.
68864         * modules/frexpl-tests (Files): Likewise.
68865         * modules/isnanl-tests (Files): Likewise.
68866         * modules/ldexpl-tests (Files): Likewise.
68867         * modules/roundl-tests (Files): Likewise.
68868         * modules/truncl-tests (Files): Likewise.
68869         * tests/test-ceill.c (main): Use a working NaN.
68870         * tests/test-floorl.c (main): Likewise.
68871         * tests/test-frexpl.c (main): Likewise.
68872         * tests/test-isnan.c (test_long_double): Likewise.
68873         * tests/test-isnanl.h (main): Likewise.
68874         * tests/test-ldexpl.h (main): Likewise.
68875         * tests/test-roundl.h (main): Likewise.
68876         * tests/test-truncl.h (main): Likewise.
68877         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
68879 2009-02-26  Eric Blake  <ebb9@byu.net>
68880             Bruno Haible  <bruno@clisp.org>
68882         Work around a *printf bug with %ls on Solaris.
68883         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
68884         precision is specified, sprintf stops converting the wide string
68885         argument when the number of bytes that have been produced by this
68886         conversion equals or exceeds the precision.
68887         * doc/posix-functions/fprintf.texi: Update.
68888         * doc/posix-functions/printf.texi: Update.
68889         * doc/posix-functions/snprintf.texi: Update.
68890         * doc/posix-functions/sprintf.texi: Update.
68891         * doc/posix-functions/vfprintf.texi: Update.
68892         * doc/posix-functions/vprintf.texi: Update.
68893         * doc/posix-functions/vsnprintf.texi: Update.
68894         * doc/posix-functions/vsprintf.texi: Update.
68895         * doc/glibc-functions/obstack_printf.texi: Update.
68896         * doc/glibc-functions/obstack_vprintf.texi: Update.
68898 2009-02-26  Eric Blake  <ebb9@byu.net>
68900         stdlib: favor compiler check of random.h
68901         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
68902         to avoid an ObjC random.h installed by Swarm.
68904 2009-02-26  Bruno Haible  <bruno@clisp.org>
68906         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
68907         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
68908         Reported by Gary V. Vaughan <gary@gnu.org>.
68910 2009-02-26  Bruno Haible  <bruno@clisp.org>
68912         Fix *printf behaviour regarding the %ls directive.
68913         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
68914         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
68915         NEED_PRINTF_DIRECTIVE_LS.
68916         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
68917         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
68918         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68919         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
68920         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
68921         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
68922         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
68923         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68924         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68925         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68926         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68927         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
68928         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68929         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68930         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68931         * doc/posix-functions/fprintf.texi: Update.
68932         * doc/posix-functions/printf.texi: Update.
68933         * doc/posix-functions/snprintf.texi: Update.
68934         * doc/posix-functions/sprintf.texi: Update.
68935         * doc/posix-functions/vfprintf.texi: Update.
68936         * doc/posix-functions/vprintf.texi: Update.
68937         * doc/posix-functions/vsnprintf.texi: Update.
68938         * doc/posix-functions/vsprintf.texi: Update.
68939         * doc/glibc-functions/obstack_printf.texi: Update.
68940         * doc/glibc-functions/obstack_vprintf.texi: Update.
68941         Reported by Eric Blake.
68943 2009-02-25  Bruno Haible  <bruno@clisp.org>
68945         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
68946         with known value.
68947         Reported by Gary V. Vaughan <gary@gnu.org>.
68949 2009-02-25  Bruno Haible  <bruno@clisp.org>
68951         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
68952         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
68953         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
68954         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
68955         Reported by Gary V. Vaughan <gary@gnu.org>.
68957 2009-02-25  Bruno Haible  <bruno@clisp.org>
68959         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
68960         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
68961         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
68962         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
68963         Reported by Gary V. Vaughan <gary@gnu.org>.
68965 2009-02-25  Eric Blake  <ebb9@byu.net>
68967         tests: skip fseek/ftell tests if ungetc is broken
68968         * m4/ungetc.m4: New file.
68969         * modules/fseek-tests: Split test, so ungetc dependency is
68970         separate from rest of test.
68971         * modules/fseeko-tests: Likewise.
68972         * modules/ftell-tests: Likewise.
68973         * modules/ftello-tests: Likewise.
68974         * tests/test-fseek.c (main): Isolate ungetc dependency.
68975         * tests/test-fseeko.c (main): Likewise.
68976         * tests/test-ftell.c (main): Likewise.
68977         * tests/test-ftello.c (main): Likewise.
68978         * tests/test-fseek2.sh: New file.
68979         * tests/test-fseeko2.sh: Likewise.
68980         * tests/test-ftell2.sh: Likewise.
68981         * tests/test-ftello2.sh: Likewise.
68983 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
68985         test-getaddrinfo: fix usage of skip return code 77
68986         * tests/test-gettaddrinfo.c: Return skip code 77 only
68987         for first occurrence of skip (4x77 is not 77)
68989 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
68991         strtod: avoid C99 decl-after-statement
68992         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
68994 2009-02-24  Eric Blake  <ebb9@byu.net>
68996         strtod: detect HP-UX 11.31 bug
68997         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
68998         Reported by Gary V. Vaughan.
69000 2009-02-23  Bruno Haible  <bruno@clisp.org>
69002         Fix invalid read past end of memory block.
69003         * lib/vasnprintf.c (DCHAR_SET): Define.
69004         (local_wcslen): Define only when needed.
69005         (local_strnlen, local_wcsnlen): New functions.
69006         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
69007         directives that involve a conversion ourselves.
69008         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
69009         wcsnlen, mbrtowc, wcrtomb.
69010         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
69011         * tests/test-vasprintf-posix.c (test_function): Likewise.
69012         * tests/test-snprintf-posix.h (test_function): Likewise.
69013         * tests/test-sprintf-posix.h (test_function): Likewise.
69014         Reported by Ben Pfaff <blp@cs.stanford.edu>.
69016 2009-02-22  Bruno Haible  <bruno@clisp.org>
69018         Implement new clarified decomposition of Hangul syllables.
69019         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
69020         of type LTV, return only a pairwise decomposition.
69021         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
69022         Likewise.
69023         * tests/uninorm/test-decomposition.c (main): Updated expected result.
69024         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
69025         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
69027 2009-02-22  Bruno Haible  <bruno@clisp.org>
69029         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
69030         zero-length results and shrink excess allocated memory.
69031         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
69032         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
69033         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
69034         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
69035         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
69036         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
69037         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
69038         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
69039         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
69040         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
69041         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
69042         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
69044 2009-02-21  Bruno Haible  <bruno@clisp.org>
69046         * doc/gnulib.texi: Include safe-alloc.texi earlier.
69047         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
69048         spaces after a period. Put a space between a macro name and its
69049         argument list. Trivial rewordings.
69050         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
69051         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
69052         (main): Return 0 explicitly.
69054 2009-02-21  Bruno Haible  <bruno@clisp.org>
69056         Tests for module 'uninorm/filter'.
69057         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
69058         * modules/uninorm/filter-tests: New file.
69060         New module 'uninorm/filter'.
69061         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
69062         uninorm_filter_flush, uninorm_filter_free): New declarations.
69063         * lib/uninorm/uninorm-filter.c: New file.
69064         * modules/uninorm/filter: New file.
69066 2009-02-21  Bruno Haible  <bruno@clisp.org>
69068         Tests for module 'uninorm/nfkc'.
69069         * tests/uninorm/test-nfkc.c: New file.
69070         * tests/uninorm/test-u8-nfkc.c: New file.
69071         * tests/uninorm/test-u16-nfkc.c: New file.
69072         * tests/uninorm/test-u32-nfkc.c: New file.
69073         * tests/uninorm/test-u32-nfkc-big.sh: New file.
69074         * tests/uninorm/test-u32-nfkc-big.c: New file.
69075         * modules/uninorm/nfkc-tests: New file.
69077         New module 'uninorm/nfkc'.
69078         * lib/uninorm/nfkc.c: New file.
69079         * modules/uninorm/nfkc: New file.
69081         Tests for module 'uninorm/nfkd'.
69082         * tests/uninorm/test-nfkd.c: New file.
69083         * tests/uninorm/test-u8-nfkd.c: New file.
69084         * tests/uninorm/test-u16-nfkd.c: New file.
69085         * tests/uninorm/test-u32-nfkd.c: New file.
69086         * tests/uninorm/test-u32-nfkd-big.sh: New file.
69087         * tests/uninorm/test-u32-nfkd-big.c: New file.
69088         * modules/uninorm/nfkd-tests: New file.
69090         New module 'uninorm/nfkd'.
69091         * lib/uninorm/nfkd.c: New file.
69092         * modules/uninorm/nfkd: New file.
69094         Tests for module 'uninorm/nfc'.
69095         * tests/uninorm/test-nfc.c: New file.
69096         * tests/uninorm/test-u8-nfc.c: New file.
69097         * tests/uninorm/test-u16-nfc.c: New file.
69098         * tests/uninorm/test-u32-nfc.c: New file.
69099         * tests/uninorm/test-u32-nfc-big.sh: New file.
69100         * tests/uninorm/test-u32-nfc-big.c: New file.
69101         * modules/uninorm/nfc-tests: New file.
69103         New module 'uninorm/nfc'.
69104         * lib/uninorm/nfc.c: New file.
69105         * modules/uninorm/nfc: New file.
69107         Tests for module 'uninorm/nfd'.
69108         * tests/uninorm/test-nfd.c: New file.
69109         * tests/uninorm/test-u8-nfd.c: New file.
69110         * tests/uninorm/test-u16-nfd.c: New file.
69111         * tests/uninorm/test-u32-nfd.c: New file.
69112         * tests/uninorm/test-u32-nfd-big.sh: New file.
69113         * tests/uninorm/test-u32-nfd-big.c: New file.
69114         * tests/uninorm/test-u32-normalize-big.h: New file.
69115         * tests/uninorm/test-u32-normalize-big.c: New file.
69116         * tests/uninorm/NormalizationTest.txt: New file, created from
69117         Unicode 5.1.0 NormalizationTest.txt.
69118         * modules/uninorm/nfd-tests: New file.
69120         New module 'uninorm/nfd'.
69121         * lib/uninorm/nfd.c: New file.
69122         * modules/uninorm/nfd: New file.
69124         New module 'uninorm/u32-normalize'.
69125         * lib/uninorm/u32-normalize.c: New file.
69126         * modules/uninorm/u32-normalize: New file.
69128         New module 'uninorm/u16-normalize'.
69129         * lib/uninorm/u16-normalize.c: New file.
69130         * modules/uninorm/u16-normalize: New file.
69132         New module 'uninorm/u8-normalize'.
69133         * lib/uninorm/u8-normalize.c: New file.
69134         * lib/uninorm/normalize-internal.h: New file.
69135         * lib/uninorm/u-normalize-internal.h: New file.
69136         * modules/uninorm/u8-normalize: New file.
69138         New module 'uninorm/decompose-internal'.
69139         * lib/uninorm/decompose-internal.c: New file.
69140         * modules/uninorm/decompose-internal: New file.
69142         Tests for module 'uninorm/composition'.
69143         * tests/uninorm/test-composition.c: New file.
69144         * modules/uninorm/composition-tests: New file.
69146         New module 'uninorm/composition'.
69147         * lib/uninorm/composition.c: New file.
69148         * lib/uninorm/composition-table.gperf: New file, generated by
69149         gen-uni-tables.
69150         * modules/uninorm/composition: New file.
69152         Tests for module 'uninorm/compat-decomposition'.
69153         * tests/uninorm/test-compat-decomposition.c: New file.
69154         * modules/uninorm/compat-decomposition-tests: New file.
69156         New module 'uninorm/compat-decomposition'.
69157         * lib/uninorm/decompose-internal.h: New file.
69158         * lib/uninorm/compat-decomposition.c: New file.
69159         * modules/uninorm/compat-decomposition: New file.
69161         Tests for module 'uninorm/canonical-decomposition'.
69162         * tests/uninorm/test-canonical-decomposition.c: New file.
69163         * modules/uninorm/canonical-decomposition-tests: New file.
69165         New module 'uninorm/canonical-decomposition'.
69166         * lib/uninorm/canonical-decomposition.c: New file.
69167         * modules/uninorm/canonical-decomposition: New file.
69169         Tests for module 'uninorm/decomposition'.
69170         * tests/uninorm/test-decomposition.c: New file.
69171         * modules/uninorm/decomposition-tests: New file.
69173         New module 'uninorm/decomposition'.
69174         * lib/uninorm/decomposition.c: New file.
69175         * modules/uninorm/decomposition: New file.
69177         New module 'uninorm/decomposition-table'.
69178         * lib/uninorm/decomposition-table.h: New file.
69179         * lib/uninorm/decomposition-table.c: New file.
69180         * lib/uninorm/decomposition-table1.h: New file, generated by
69181         gen-uni-tables.
69182         * lib/uninorm/decomposition-table2.h: New file, generated by
69183         gen-uni-tables.
69184         * modules/uninorm/decomposition-table: New file.
69186         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
69187         (UC_DECOMP_*): New enumeration items.
69188         (get_decomposition): New function.
69189         (struct decomp_table): New type.
69190         (output_decomposition, output_decomposition_tables): New functions.
69191         (unicode_composition_exclusions): New variable.
69192         (fill_composition_exclusions, debug_output_composition_tables): New
69193         functions.
69194         (main): Accept one more argument. Invoke fill_composition_exclusions.
69195         Output decomposition and composition tables.
69197         New module 'uninorm/base'.
69198         * lib/uninorm.h: New file.
69199         * lib/unictype.h: Update comment.
69200         * modules/uninorm/base: New file.
69202 2009-02-21  David Lutterkort  <lutter@redhat.com>
69204         Tests for module 'safe-alloc'.
69205         * tests/test-safe-alloc.c: New file.
69206         * modules/safe-alloc-tests: New file.
69208         New module 'safe-alloc'.
69209         * lib/safe-alloc.h: New file.
69210         * lib/safe-alloc.c: New file.
69211         * m4/safe-alloc.m4: New file.
69212         * modules/safe-alloc: New file.
69213         * doc/safe-alloc.texi: New file.
69214         * doc/gnulib.texi: Include it.
69215         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
69216         safe-alloc.
69218 2009-02-18  Bruno Haible  <bruno@clisp.org>
69220         Fix link error on non-glibc systems.
69221         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
69222         variable.
69223         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
69225 2009-02-18  Jim Meyering  <meyering@redhat.com>
69227         fts: avoid used-uninitialized error due to recent change
69228         * lib/fts.c (fts_read): Guard uses of the new member,
69229         parent->fts_n_dirs_remaining, since it's not relevant for
69230         the parent of a directory specified on the command-line.
69232 2009-02-17  James Youngman  <jay@gnu.org>
69233             Bruno Haible  <bruno@clisp.org>
69235         * m4/include_next.m4: Reformulate comment.
69237 2009-02-16  Jim Meyering  <meyering@redhat.com>
69239         fts: add #if guards so that the fts_lgpl module still builds
69240         * lib/fts.c: Guard just-added hash-table-using parts with
69241         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
69242         Reported by Simon Josefsson.
69244 2009-02-15  Bruno Haible  <bruno@clisp.org>
69246         * modules/array-mergesort-tests: New file.
69247         * tests/test-array-mergesort.c: New file.
69249         New module 'array-mergesort'.
69250         * modules/array-mergesort: New file.
69251         * lib/array-mergesort.h: New file.
69253 2009-02-15  Bruno Haible  <bruno@clisp.org>
69255         Fix 2009-02-07 commit.
69256         * lib/gen-uni-tables.c (output_predicate, output_category,
69257         output_combclass, output_bidi_category, output_decimal_digit,
69258         output_digit, output_numeric, output_mirror, output_scripts,
69259         output_ident_category, output_simple_mapping): Fix format directives.
69260         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
69262 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
69264         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
69265         fixes are available from IBM.
69267 2009-02-13  Jim Meyering  <meyering@redhat.com>
69269         fts: arrange not to stat non-directories in more cases
69270         This makes GNU find (when it doesn't need to stat each file)
69271         *much* more efficient at traversing reiserfs file systems.
69272         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
69273         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
69274         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
69275         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
69276         (leaf_optimization_applies): New function.
69277         (LCO_hash, LCO_compare): New helper functions.
69278         (link_count_optimize_ok): New function.
69279         (fts_stat): Initialize new member (if dir).
69280         (fts_read): Decrement parent's fts_n_dirs_remaining count if
69281         we've just stat'ed a directory.  Skip the stat call when possible.
69282         ---
69283         Note this AFS-related exchange:
69284         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
69285         and note find's pioctl call in find/fstype.c.
69286         But that is necessary only if you want to enable the
69287         optimization for AFS, and for now, I don't.
69289         fts: move a function definition "up" (no semantic change)
69290         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
69291         "up" to precede upcoming use of a related function.
69293 2009-02-11  Jim Meyering  <meyering@redhat.com>
69295         fts: correct internal computation of nlinks (optimization-related)
69296         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
69297         whether the current entry is a directory, so don't test it.
69299 2009-02-10  Bruno Haible  <bruno@clisp.org>
69301         Tests for module 'uniwbrk/ulc-wordbreaks'.
69302         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
69303         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
69304         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
69306         Tests for module 'uniwbrk/u32-wordbreaks'.
69307         * modules/uniwbrk/u32-wordbreaks-tests: New file.
69308         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
69310         Tests for module 'uniwbrk/u16-wordbreaks'.
69311         * modules/uniwbrk/u16-wordbreaks-tests: New file.
69312         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
69314         Tests for module 'uniwbrk/u8-wordbreaks'.
69315         * modules/uniwbrk/u8-wordbreaks-tests: New file.
69316         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
69318 2009-02-10  Bruno Haible  <bruno@clisp.org>
69320         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
69321         property.
69322         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
69323         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
69324         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
69326 2009-02-10  Simon Josefsson  <simon@josefsson.org>
69328         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
69329         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
69331 2009-02-10  Bruno Haible  <bruno@clisp.org>
69333         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
69334         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
69335         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
69336         * lib/unilbrk/u8-possible-linebreaks.c: Update.
69337         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
69338         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
69340 2009-02-09  Simon Josefsson  <simon@josefsson.org>
69342         * lib/sockets.h (gl_fd_to_handle): New function.
69344         * tests/test-sockets.c: Call gl_fd_to_handle.
69346 2009-02-09  Bruno Haible  <bruno@clisp.org>
69348         * doc/havelib.texi: Document the conventions on bi-arch systems.
69350 2009-02-08  Bruno Haible  <bruno@clisp.org>
69352         Document the AC_LIB_LINKFLAGS macro.
69353         * doc/havelib.texi: New file, mostly written on 2005-05-24.
69354         * doc/gnulib.texi: Include it.
69356 2009-02-08  Bruno Haible  <bruno@clisp.org>
69358         Fix wrong order of sections, compared to TOC.
69359         * doc/gnulib.texi: Include relocatable-maint.texi after the
69360         "Regular expressions" node, not before.
69362 2009-02-08  Bruno Haible  <bruno@clisp.org>
69364         Tests for module 'unicase/totitle'.
69365         * modules/unicase/totitle-tests: New file.
69367         Tests for module 'unicase/tolower'.
69368         * modules/unicase/tolower-tests: New file.
69370         Tests for module 'unicase/toupper'.
69371         * modules/unicase/toupper-tests: New file.
69372         * tests/unicase/test-mapping-part1.h: New file.
69373         * tests/unicase/test-mapping-part2.h: New file.
69375         New module 'unicase/totitle'.
69376         * modules/unicase/totitle: New file.
69377         * lib/unicase/totitle.c: New file.
69379         New module 'unicase/tolower'.
69380         * modules/unicase/tolower: New file.
69381         * lib/unicase/tolower.c: New file.
69383         New module 'unicase/toupper'.
69384         * modules/unicase/toupper: New file.
69385         * lib/unicase/toupper.c: New file.
69386         * lib/unicase/simple-mapping.h: New file.
69388         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
69389         (mapping_table): New structure.
69390         (output_simple_mapping): New function.
69391         (main): Invoke output_simple_mapping_test and output_simple_mapping.
69392         * modules/gen-uni-tables (Description): Update.
69393         * lib/unicase/toupper.h: New file, automatically generated by
69394         gen-uni-tables.
69395         * lib/unicase/tolower.h: New file, automatically generated by
69396         gen-uni-tables.
69397         * lib/unicase/totitle.h: New file, automatically generated by
69398         gen-uni-tables.
69399         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
69400         gen-uni-tables.
69401         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
69402         gen-uni-tables.
69403         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
69404         gen-uni-tables.
69406         New module 'unicase/base'.
69407         * modules/unicase/base: New file.
69408         * lib/unicase.h: New file.
69410 2009-02-08  Bruno Haible  <bruno@clisp.org>
69412         New module 'uniwbrk/ulc-wordbreaks'.
69413         * modules/uniwbrk/ulc-wordbreaks: New file.
69414         * lib/uniwbrk/ulc-wordbreaks.c: New file.
69416         New module 'uniwbrk/u32-wordbreaks'.
69417         * modules/uniwbrk/u32-wordbreaks: New file.
69418         * lib/uniwbrk/u32-wordbreaks.c: New file.
69420         New module 'uniwbrk/u16-wordbreaks'.
69421         * modules/uniwbrk/u16-wordbreaks: New file.
69422         * lib/uniwbrk/u16-wordbreaks.c: New file.
69424         New module 'uniwbrk/u8-wordbreaks'.
69425         * modules/uniwbrk/u8-wordbreaks: New file.
69426         * lib/uniwbrk/u8-wordbreaks.c: New file.
69427         * lib/uniwbrk/u-wordbreaks.h: New file.
69429         New module 'uniwbrk/table'.
69430         * modules/uniwbrk/table: New file.
69431         * lib/uniwbrk/wbrktable.h: New file.
69432         * lib/uniwbrk/wbrktable.c: New file.
69434         New module 'uniwbrk/wordbreak-property'.
69435         * modules/uniwbrk/wordbreak-property: New file.
69436         * lib/uniwbrk/wordbreak-property.c: New file.
69438         * lib/gen-uni-tables.c (WBP_*): New enum items.
69439         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
69440         (unicode_org_wbp): New variable.
69441         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
69442         New functions.
69443         (wbp_table): New structure.
69444         (output_wbp, output_wbrk_tables): New functions.
69445         (main): Accept additional argument. Invoke fill_org_wbp,
69446         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
69447         output_wbrk_tables.
69448         * modules/gen-uni-tables (Description): Update.
69449         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
69450         gen-uni-tables.
69452         New module 'uniwbrk/base'.
69453         * modules/uniwbrk/base: New file.
69454         * lib/uniwbrk.h: New file.
69456 2009-02-08  Bruno Haible  <bruno@clisp.org>
69458         Update to Unicode 5.1.0.
69459         * lib/gen-uni-tables.c (is_property_alphabetic): Include
69460         U+2185..U+2188.
69461         (is_property_default_ignorable_code_point): Don't include characters
69462         of category Cc or Cs and not-a-characters.
69463         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
69464         U+0D79, U+109E, U+109F, U+A60C.
69465         * lib/unictype/bidi_of.h: Regenerated.
69466         * lib/unictype/blocks.h: Regenerated.
69467         * lib/unictype/categ_C.h: Regenerated.
69468         * lib/unictype/categ_Cf.h: Regenerated.
69469         * lib/unictype/categ_Cn.h: Regenerated.
69470         * lib/unictype/categ_L.h: Regenerated.
69471         * lib/unictype/categ_Ll.h: Regenerated.
69472         * lib/unictype/categ_Lm.h: Regenerated.
69473         * lib/unictype/categ_Lo.h: Regenerated.
69474         * lib/unictype/categ_Lu.h: Regenerated.
69475         * lib/unictype/categ_M.h: Regenerated.
69476         * lib/unictype/categ_Mc.h: Regenerated.
69477         * lib/unictype/categ_Me.h: Regenerated.
69478         * lib/unictype/categ_Mn.h: Regenerated.
69479         * lib/unictype/categ_N.h: Regenerated.
69480         * lib/unictype/categ_Nd.h: Regenerated.
69481         * lib/unictype/categ_Nl.h: Regenerated.
69482         * lib/unictype/categ_No.h: Regenerated.
69483         * lib/unictype/categ_P.h: Regenerated.
69484         * lib/unictype/categ_Pd.h: Regenerated.
69485         * lib/unictype/categ_Pe.h: Regenerated.
69486         * lib/unictype/categ_Pf.h: Regenerated.
69487         * lib/unictype/categ_Pi.h: Regenerated.
69488         * lib/unictype/categ_Po.h: Regenerated.
69489         * lib/unictype/categ_Ps.h: Regenerated.
69490         * lib/unictype/categ_S.h: Regenerated.
69491         * lib/unictype/categ_Sk.h: Regenerated.
69492         * lib/unictype/categ_Sm.h: Regenerated.
69493         * lib/unictype/categ_So.h: Regenerated.
69494         * lib/unictype/categ_of.h: Regenerated.
69495         * lib/unictype/combining.h: Regenerated.
69496         * lib/unictype/ctype_alnum.h: Regenerated.
69497         * lib/unictype/ctype_alpha.h: Regenerated.
69498         * lib/unictype/ctype_graph.h: Regenerated.
69499         * lib/unictype/ctype_lower.h: Regenerated.
69500         * lib/unictype/ctype_print.h: Regenerated.
69501         * lib/unictype/ctype_punct.h: Regenerated.
69502         * lib/unictype/ctype_upper.h: Regenerated.
69503         * lib/unictype/decdigit.h: Regenerated.
69504         * lib/unictype/digit.h: Regenerated.
69505         * lib/unictype/mirror.h: Regenerated.
69506         * lib/unictype/numeric.h: Regenerated.
69507         * lib/unictype/pr_alphabetic.h: Regenerated.
69508         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
69509         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
69510         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
69511         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
69512         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
69513         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
69514         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
69515         * lib/unictype/pr_combining.h: Regenerated.
69516         * lib/unictype/pr_dash.h: Regenerated.
69517         * lib/unictype/pr_decimal_digit.h: Regenerated.
69518         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
69519         * lib/unictype/pr_deprecated.h: Regenerated.
69520         * lib/unictype/pr_diacritic.h: Regenerated.
69521         * lib/unictype/pr_extender.h: Regenerated.
69522         * lib/unictype/pr_format_control.h: Regenerated.
69523         * lib/unictype/pr_grapheme_base.h: Regenerated.
69524         * lib/unictype/pr_grapheme_extend.h: Regenerated.
69525         * lib/unictype/pr_grapheme_link.h: Regenerated.
69526         * lib/unictype/pr_id_continue.h: Regenerated.
69527         * lib/unictype/pr_id_start.h: Regenerated.
69528         * lib/unictype/pr_ideographic.h: Regenerated.
69529         * lib/unictype/pr_ignorable_control.h: Regenerated.
69530         * lib/unictype/pr_lowercase.h: Regenerated.
69531         * lib/unictype/pr_math.h: Regenerated.
69532         * lib/unictype/pr_numeric.h: Regenerated.
69533         * lib/unictype/pr_other_alphabetic.h: Regenerated.
69534         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
69535         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
69536         * lib/unictype/pr_other_id_continue.h: Regenerated.
69537         * lib/unictype/pr_other_lowercase.h: Regenerated.
69538         * lib/unictype/pr_other_math.h: Regenerated.
69539         * lib/unictype/pr_punctuation.h: Regenerated.
69540         * lib/unictype/pr_sentence_terminal.h: Regenerated.
69541         * lib/unictype/pr_soft_dotted.h: Regenerated.
69542         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
69543         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
69544         * lib/unictype/pr_unified_ideograph.h: Regenerated.
69545         * lib/unictype/pr_uppercase.h: Regenerated.
69546         * lib/unictype/pr_xid_continue.h: Regenerated.
69547         * lib/unictype/pr_xid_start.h: Regenerated.
69548         * lib/unictype/pr_zero_width.h: Regenerated.
69549         * lib/unictype/scripts.h: Regenerated.
69550         * lib/unictype/scripts_byname.gperf: Regenerated.
69551         * lib/unictype/sy_java_ident.h: Regenerated.
69552         * lib/unilbrk/lbrkprop1.h: Regenerated.
69553         * lib/unilbrk/lbrkprop2.h: Regenerated.
69554         * tests/unictype/test-categ_C.c: Regenerated.
69555         * tests/unictype/test-categ_Cf.c: Regenerated.
69556         * tests/unictype/test-categ_Cn.c: Regenerated.
69557         * tests/unictype/test-categ_L.c: Regenerated.
69558         * tests/unictype/test-categ_Ll.c: Regenerated.
69559         * tests/unictype/test-categ_Lm.c: Regenerated.
69560         * tests/unictype/test-categ_Lo.c: Regenerated.
69561         * tests/unictype/test-categ_Lu.c: Regenerated.
69562         * tests/unictype/test-categ_M.c: Regenerated.
69563         * tests/unictype/test-categ_Mc.c: Regenerated.
69564         * tests/unictype/test-categ_Me.c: Regenerated.
69565         * tests/unictype/test-categ_Mn.c: Regenerated.
69566         * tests/unictype/test-categ_N.c: Regenerated.
69567         * tests/unictype/test-categ_Nd.c: Regenerated.
69568         * tests/unictype/test-categ_Nl.c: Regenerated.
69569         * tests/unictype/test-categ_No.c: Regenerated.
69570         * tests/unictype/test-categ_P.c: Regenerated.
69571         * tests/unictype/test-categ_Pd.c: Regenerated.
69572         * tests/unictype/test-categ_Pe.c: Regenerated.
69573         * tests/unictype/test-categ_Pf.c: Regenerated.
69574         * tests/unictype/test-categ_Pi.c: Regenerated.
69575         * tests/unictype/test-categ_Po.c: Regenerated.
69576         * tests/unictype/test-categ_Ps.c: Regenerated.
69577         * tests/unictype/test-categ_S.c: Regenerated.
69578         * tests/unictype/test-categ_Sk.c: Regenerated.
69579         * tests/unictype/test-categ_Sm.c: Regenerated.
69580         * tests/unictype/test-categ_So.c: Regenerated.
69581         * tests/unictype/test-ctype_alnum.c: Regenerated.
69582         * tests/unictype/test-ctype_alpha.c: Regenerated.
69583         * tests/unictype/test-ctype_graph.c: Regenerated.
69584         * tests/unictype/test-ctype_lower.c: Regenerated.
69585         * tests/unictype/test-ctype_print.c: Regenerated.
69586         * tests/unictype/test-ctype_punct.c: Regenerated.
69587         * tests/unictype/test-ctype_upper.c: Regenerated.
69588         * tests/unictype/test-decdigit.h: Regenerated.
69589         * tests/unictype/test-digit.h: Regenerated.
69590         * tests/unictype/test-numeric.h: Regenerated.
69591         * tests/unictype/test-pr_alphabetic.c: Regenerated.
69592         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
69593         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
69594         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
69595         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
69596         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
69597         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
69598         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
69599         * tests/unictype/test-pr_combining.c: Regenerated.
69600         * tests/unictype/test-pr_dash.c: Regenerated.
69601         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
69602         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
69603         * tests/unictype/test-pr_deprecated.c: Regenerated.
69604         * tests/unictype/test-pr_diacritic.c: Regenerated.
69605         * tests/unictype/test-pr_extender.c: Regenerated.
69606         * tests/unictype/test-pr_format_control.c: Regenerated.
69607         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
69608         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
69609         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
69610         * tests/unictype/test-pr_id_continue.c: Regenerated.
69611         * tests/unictype/test-pr_id_start.c: Regenerated.
69612         * tests/unictype/test-pr_ideographic.c: Regenerated.
69613         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
69614         * tests/unictype/test-pr_lowercase.c: Regenerated.
69615         * tests/unictype/test-pr_math.c: Regenerated.
69616         * tests/unictype/test-pr_numeric.c: Regenerated.
69617         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
69618         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
69619         Regenerated.
69620         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
69621         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
69622         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
69623         * tests/unictype/test-pr_other_math.c: Regenerated.
69624         * tests/unictype/test-pr_punctuation.c: Regenerated.
69625         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
69626         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
69627         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
69628         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
69629         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
69630         * tests/unictype/test-pr_uppercase.c: Regenerated.
69631         * tests/unictype/test-pr_xid_continue.c: Regenerated.
69632         * tests/unictype/test-pr_xid_start.c: Regenerated.
69633         * tests/unictype/test-pr_zero_width.c: Regenerated.
69635         Update to Unicode 5.1.0.
69636         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
69637         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
69638         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
69639         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
69640         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
69641         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
69642         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
69643         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
69644         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
69645         (nonspacing_table_ind): Update.
69646         * tests/uniwidth/test-uc_width2.sh: Update expected result.
69648         Update to Unicode 5.1.0.
69649         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
69650         code transform.
69651         * lib/uniname/uniname.c (unicode_character_name,
69652         unicode_name_character): Add the range 0x1Fxxx to the code transform.
69653         * lib/uniname/uninames.h: Regenerated.
69654         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
69656 2009-02-07  Bruno Haible  <bruno@clisp.org>
69658         Merge gen-ctype and gen-lbrk into a single program.
69659         * lib/gen-uni-tables.c: New file, incorporating
69660         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
69661         Add directory prefixes to the names of the generated files.
69662         * lib/unictype/gen-ctype.c: Remove file.
69663         * lib/unilbrk/gen-lbrk.c: Remove file.
69664         * modules/gen-uni-tables: New file.
69665         * modules/unictype/gen-ctype: Remove file.
69666         * modules/unilbrk/gen-lbrk: Remove file.
69668 2009-02-07  Bruno Haible  <bruno@clisp.org>
69670         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
69672         New module 'unistr/u32-strcoll'.
69673         * modules/unistr/u32-strcoll: New file.
69674         * lib/unistr/u32-strcoll.c: New file.
69676         New module 'unistr/u16-strcoll'.
69677         * modules/unistr/u16-strcoll: New file.
69678         * lib/unistr/u16-strcoll.c: New file.
69680         New module 'unistr/u8-strcoll'.
69681         * modules/unistr/u8-strcoll: New file.
69682         * lib/unistr/u8-strcoll.c: New file.
69683         * lib/unistr/u-strcoll.h: New file.
69685 2009-02-07  Bruno Haible  <bruno@clisp.org>
69687         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
69688         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
69689         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
69690         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
69691         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
69692         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
69694 2009-02-07  Bruno Haible  <bruno@clisp.org>
69696         Make 64-bit clean.
69697         * lib/unictype/gen-ctype.c (output_predicate, output_category,
69698         output_combclass, output_bidi_category, output_decimal_digit,
69699         output_digit, output_numeric, output_mirror, output_scripts,
69700         output_ident_category): Use proper width specifier in format strings.
69702 2009-02-07  Bruno Haible  <bruno@clisp.org>
69704         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
69705         failure behaviour.
69707 2009-02-07  Jim Meyering  <meyering@redhat.com>
69709         regex: avoid compilation failure with upcoming gcc-4.4
69710         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
69711         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
69712         "... error: integer overflow in preprocessor expression".
69714 2009-02-05  Ben Pfaff  <blp@gnu.org>
69716         Fix link errors on Windows when close module is used.
69717         * modules/close: Add $(LIB_CLOSE) to Link section.
69718         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
69719         $(LIB_CLOSE) on Windows.
69721 2009-02-05  Jim Meyering  <meyering@redhat.com>
69723         still avoid unused-parameter warnings, but do it cleanly
69724         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
69725         (get_fs_usage): Cast to void instead.
69726         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
69727         (dev_from_mount_options, read_file_system_list): Cast to void.
69728         Prompted by Bruno Haible.
69730 2009-02-04  Jim Meyering  <meyering@redhat.com>
69732         fsusage.c: correct copyright year
69733         * lib/fsusage.c: Reflect year in which the change is pushed into
69735         avoid misc. warnings
69736         * lib/fsusage.c (UNUSED_PARAM): Define.
69737         (get_fs_usage): Mark parameter "disk" as unused.
69738         * lib/getugroups.c (getgrent): Use "void" in prototype.
69739         * lib/mountlist.c: Mark unused parameters.
69740         (read_file_system_list): Declare a local with "const".
69741         * lib/nanosleep.c (getnow): Declare static.
69742         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
69744         dirfd: set errno upon failure
69745         * lib/dirfd.c: Include <errno.h>.
69746         Set errno to ENOTSUP when returning -1.
69747         * modules/dirfd (Depends-on): Add errno.
69748         Suggested by John Kodis <kodis@comcast.net>.
69750 2009-02-01  Bruno Haible  <bruno@clisp.org>
69752         Don't assume sizeof (long) >= sizeof (void *).
69753         * lib/memcmp.c: Include stdint.h.
69754         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
69755         srcp2 to 'const byte *'.
69756         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
69757         types to uintptr_t.
69758         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
69759         * modules/memcmp (Depends-on): Add stdint.
69760         Reported by Ozkan Sezer <sezeroz@gmail.com>.
69762 2009-01-30  Eric Blake  <ebb9@byu.net>
69764         fix more require-before-expand issues
69765         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
69766         expand, AC_PROG_AWK.
69767         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
69769 2009-01-28  Eric Blake  <ebb9@byu.net>
69771         version-etc: use consistent URL formatting
69772         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
69773         Improve formatting.  Use fputs for string without %.
69775 2009-01-28  Jim Meyering  <meyering@redhat.com>
69777         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
69778         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
69779         "underquoted definition of NAME" from autoconf-2.59.
69781 2009-01-28  Bruno Haible  <bruno@clisp.org>
69783         * doc/gnulib.texi: Add "Obsolete modules" to index.
69785 2009-01-28  Jim Meyering  <meyering@redhat.com>
69787         useless-if-before-free: recognize more variants
69788         * build-aux/useless-if-before-free: Also recognize e.g.,
69789         if (NULL != p) free (p);
69791 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
69793         test-getaddrinfo: skip (don't fail) this test when there's no network
69794         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
69795         on the presumption that it means you lack network access.
69797 2009-01-26  Jim Meyering  <meyering@redhat.com>
69799         fflush: avoid warnings on modern systems
69800         * lib/fflush.c (rpl_fflush): Move declarations of locals,
69801         pos and result, into scopes where they're used.
69803 2009-01-26  Eric Blake  <ebb9@byu.net>
69805         Silence warning reintroduced by recent extensions patch.
69806         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
69807         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
69808         autoconf.
69810         Backport improved autoconf semantics of AC_DEFUN_ONCE.
69811         * m4/00gnulib.m4: New file.
69812         * gnulib-tool (func_get_filelist): Always use it.
69813         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
69814         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
69816 2009-01-25  Bruno Haible  <bruno@clisp.org>
69818         Make test-quotearg work on MacOS X and AIX.
69819         * tests/test-quotearg.sh: New file.
69820         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
69821         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
69822         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
69823         include <libintl.h>.
69824         (fake_locale): Remove variable.
69825         (gettext, dgettext, dcgettext): Remove functions.
69826         (main): Instead of setting a fake locale, set a real locale. Call
69827         textdomain and bindtextdomain.
69828         * modules/quotearg-tests (Files): Add the new files.
69829         (Depends-on): Add gettext, setenv, unsetenv.
69830         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
69831         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
69832         Augment TESTS_ENVIRONMENT.
69834 2009-01-25  Bruno Haible  <bruno@clisp.org>
69836         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
69837         fr_FR.ISO8859-1 locale on MacOS X.
69838         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
69839         ja_JP.eucJP locale on MacOS X.
69840         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
69841         zh_CN.GB18030 locale on MacOS X.
69843 2009-01-25  Bruno Haible  <bruno@clisp.org>
69845         Avoid link errors on MacOS X 10.3.
69846         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
69847         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
69849 2009-01-25  Bruno Haible  <bruno@clisp.org>
69851         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
69852         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
69853         * modules/pipe (Files): Remove m4/posix_spawn.m4.
69854         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
69855         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
69856         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
69857         posix_spawnattr_init, posix_spawnattr_setsigmask,
69858         posix_spawnattr_setflags, posix_spawnattr_destroy.
69860         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
69861         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
69862         * modules/execute (Files): Remove m4/posix_spawn.m4.
69863         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
69864         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
69865         posix_spawnattr_init, posix_spawnattr_setsigmask,
69866         posix_spawnattr_setflags, posix_spawnattr_destroy.
69868 2009-01-25  Bruno Haible  <bruno@clisp.org>
69870         * lib/glthread/threadlib.c: Include <stdlib.h>.
69872 2009-01-25  Bruno Haible  <bruno@clisp.org>
69874         * lib/glthread/threadlib.c (dummy): New declaration.
69876 2009-01-25  Bruno Haible  <bruno@clisp.org>
69878         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
69879         multibyte characters also for the GB18030 encoding. Don't crash when
69880         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
69882 2009-01-25  Bruno Haible  <bruno@clisp.org>
69884         Avoid redefining 'struct random_data' on OSF/1 5.1.
69885         * lib/stdlib.in.h: Include <random.h> if it exists.
69886         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
69887         HAVE_RANDOM_H. Include <random.h> when testing whether
69888         'struct random_data' exists.
69889         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
69891 2009-01-25  Bruno Haible  <bruno@clisp.org>
69893         Don't install charset.alias on MacOS X >= 10.3.
69894         * lib/localcharset.c (DARWIN7): New macro.
69895         (get_charset_aliases): Hardcode the result for Darwin7.
69896         * modules/localcharset (install-exec-local): Don't install
69897         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
69899 2009-01-25  Bruno Haible  <bruno@clisp.org>
69901         Don't install charset.alias on mingw and Cygwin.
69902         * modules/localcharset (install-exec-local): Don't install
69903         charset.alias on mingw and Cygwin, if the file does not yet exist.
69904         The result for these platforms is hardcoded in localcharset.c.
69906 2009-01-25  Bruno Haible  <bruno@clisp.org>
69908         Make it possible again to use AC_GNU_SOURCE together with gnulib.
69909         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
69910         before requiring AC_USE_SYSTEM_EXTENSIONS.
69912 2009-01-25  Jim Meyering  <meyering@redhat.com>
69914         c-strtod: avoid warnings
69915         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
69916         "assignment discards qualifiers from pointer target type" warnings.
69918 2009-01-24  Bruno Haible  <bruno@clisp.org>
69920         Add support for non-UTF-8 locales on MacOS X.
69921         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
69922         canonical encodings. For Darwin 7 and newer, don't map traditional
69923         encodings to UTF-8.
69924         Reported by Vincent Lefevre <vincent@vinc17.org>
69925         at <http://savannah.gnu.org/bugs/?25235>.
69927 2009-01-24  Bruno Haible  <bruno@clisp.org>
69929         * doc/gnulib.texi (Obsolete modules): New section.
69930         Reported by Mike Frysinger <vapier@gentoo.org>.
69932 2009-01-24  Bruno Haible  <bruno@clisp.org>
69934         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
69935         (%.dvi): New rule.
69937 2009-01-24  Bruno Haible  <bruno@clisp.org>
69939         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
69940         Reported by Eric Blake.
69942 2009-01-24  Bruno Haible  <bruno@clisp.org>
69944         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
69945         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
69946         Reported by Gary V. Vaughan <gary@gnu.org>.
69948 2009-01-24  Bruno Haible  <bruno@clisp.org>
69950         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
69952 2009-01-23  Bruno Haible  <bruno@clisp.org>
69954         Make c-strtod, c-strtold usable in libraries.
69955         * lib/c-strtod.c: Include string.h instead of xalloc.h.
69956         (C_STRTOD): Call strdup instead of xstrdup.
69957         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
69958         * modules/c-strtold (Depends-on): Likewise.
69959         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
69960         * NEWS: Mention the change.
69961         Reported by Michael Gold <mgold@ncf.ca>.
69963 2009-01-23  Jim Meyering  <meyering@redhat.com>
69965         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
69966         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
69967         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
69969 2009-01-23  Simon Josefsson  <simon@josefsson.org>
69971         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
69972         GNU CoreUtils.
69973         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
69974         * modules/version-etc (Description): Update.
69976 2009-01-22  Bruno Haible  <bruno@clisp.org>
69978         Cache the C locale object.
69979         * lib/c-strtod.c (c_locale_cache): New variable.
69980         (c_locale): New function.
69981         (C_STRTOD): Use it, and don't call freelocale.
69982         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
69983         Suggested by Paolo Bonzini.
69985 2009-01-21  Bruno Haible  <bruno@clisp.org>
69987         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
69988         conditions other than overflow.
69990 2009-01-21  Bruno Haible  <bruno@clisp.org>
69992         * lib/c-strtod.c: Include errno.h.
69993         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
69994         value from STRTOD_L and STRTOD.
69996 2009-01-21  Bruno Haible  <bruno@clisp.org>
69997         and Jim Meyering  <meyering@redhat.com>
69999         nanosleep: skip configure test (fail it) for apple universal builds
70000         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
70001         universal builds, assume that nanosleep does not work.
70002         * modules/nanosleep (Depends-on): Add multiarch.
70004         mktime: skip configure test (fail it) for apple universal builds
70005         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
70006         universal builds, assume that mktime does not work.
70007         * modules/mktime (Depends-on): Add multiarch.
70009 2009-01-21  Eric Blake  <ebb9@byu.net>
70011         multiarch: avoid expand-before-require warning
70012         * modules/multiarch (configure.ac): Require, rather than expand,
70013         gl_MULTIARCH.
70014         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
70015         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
70016         enforce that all clients require it.  Partial reversion of
70017         2008-12-29 patch.
70019         error: avoid expand-before-require warning
70020         * modules/errno (configure.ac): Require, rather than expand,
70021         gl_HEADER_ERRNO_H.
70022         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
70023         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
70024         enforce that all clients require it.
70026         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
70027         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
70028         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
70029         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
70031 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
70033         Revert:
70034         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
70036         regex: do not depend on obsolete modules.
70037         * modules/regex: Remove memcmp and memmove.
70039 2009-01-20  Bruno Haible  <bruno@clisp.org>
70041         Make the 'link' module link on Windows NT 4.
70042         * lib/link.c (_WIN32_WINNT): Don't define.
70043         (CreateHardLinkFuncType): New type.
70044         (CreateHardLinkFunc, initialized): New variables.
70045         (initialize): New function.
70046         (link): Invoke CreateHardLink indirectly through the function pointer.
70048 2009-01-20  Bruno Haible  <bruno@clisp.org>
70050         Fix compilation failure on mingw.
70051         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
70053 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
70055         * doc/c-strtod.texi: Mention a couple of restrictions.
70057 2009-01-20  Jim Meyering  <meyering@redhat.com>
70059         gettimeofday: move more declarations out of functions
70060         * lib/gettimeofday.c: Move extern declarations of tzset and
70061         gmtime out of containing functions.  Prompted by Bruno Haible.
70063 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
70065         regex: do not depend on obsolete modules.
70066         * modules/regex: Remove memcmp and memmove.
70068 2009-01-19  Bruno Haible  <bruno@clisp.org>
70070         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
70071         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
70072         gl_BIGENDIAN, not AC_C_BIGENDIAN.
70073         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
70074         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
70076 2009-01-19  Bruno Haible  <bruno@clisp.org>
70078         * tests/test-link.c: Include <errno.h>.
70079         (main): Exit with code 77 when a hard link cannot be created due to
70080         the file system.
70081         * tests/test-link.sh: Skip test when a hard link cannot be created due
70082         to the file system.
70083         Suggested by Eric Blake.
70085 2009-01-19  Martin Lambers  <marlam@marlam.de>
70087         * modules/link-tests: New file.
70088         * tests/test-link.sh: New file.
70089         * tests/test-link.c: New file.
70091 2009-01-19  Eric Blake  <ebb9@byu.net>
70093         doc: mention another function added in cygwin 1.7.0
70094         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
70095         Another new function in cygwin 1.7.
70097 2009-01-19  Bruno Haible  <bruno@clisp.org>
70099         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
70100         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
70101         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
70102         gl_BIGENDIAN, not AC_C_BIGENDIAN.
70103         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
70104         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
70105         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
70106         * m4/md4.m4 (gl_MD4): Likewise.
70107         * m4/md5.m4 (gl_MD5): Likewise.
70108         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
70109         * m4/sha1.m4 (gl_SHA1): Likewise.
70110         * m4/sha256.m4 (gl_SHA256): Likewise.
70111         * m4/sha512.m4 (gl_SHA512): Likewise.
70113 2009-01-19  Bruno Haible  <bruno@clisp.org>
70115         * modules/uniname/uniname-tests (Depends-on): Add progname.
70116         * tests/uniname/test-uninames.c: Include progname.h.
70117         (main): Call set_program_name.
70119         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
70120         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
70121         (main): Call set_program_name.
70123         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
70124         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
70125         (main): Call set_program_name.
70127         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
70128         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
70129         (main): Call set_program_name.
70131         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
70132         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
70133         (main): Call set_program_name.
70135         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
70136         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
70137         (main): Call set_program_name.
70139         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
70140         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
70141         (main): Call set_program_name.
70143         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
70144         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
70145         (main): Call set_program_name.
70147         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
70148         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
70149         (main): Call set_program_name.
70151 2009-01-19  Eric Blake  <ebb9@byu.net>
70153         test-unistd: test previous patch
70154         * tests/test-unistd.c: Test *_FILENO macros.
70156         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
70157         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
70158         Guarantee a definition.
70159         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
70160         * modules/unistd-safer (Depends-on): Add dependency on unistd.
70161         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
70162         * lib/dup-safer.c (STDERR_FILENO): Likewise.
70163         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
70164         Likewise.
70165         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
70166         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
70167         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
70168         Likewise.
70169         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
70170         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
70171         (STDERR_FILENO): Likewise.
70172         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
70173         (STDERR_FILENO): Likewise.
70174         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
70175         (STDERR_FILENO): Likewise.
70176         Reported by Elbert Pol.
70178 2009-01-19  Eric Blake  <ebb9@byu.net>
70180         doc: mention more functions added in cygwin 1.7.0
70181         * doc/posix-functions/abort.texi (abort): Update wording related
70182         to cygwin.
70183         * doc/posix-functions/daylight.texi (daylight): Likewise.
70184         * doc/posix-functions/optarg.texi (optarg): Likewise.
70185         * doc/posix-functions/optarg.texi (opterr): Likewise.
70186         * doc/posix-functions/optarg.texi (optind): Likewise.
70187         * doc/posix-functions/optarg.texi (optopt): Likewise.
70188         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
70189         worked in 1.5.x, and was withdrawn in 1.7.
70190         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
70191         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
70192         cygwin versions.
70193         * doc/posix-functions/perror.texi (perror): Likewise.
70194         * doc/posix-functions/printf.texi (printf): Likewise.
70195         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
70196         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
70197         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
70198         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
70199         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
70200         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
70201         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
70202         Likewise.
70203         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
70204         Likewise.
70205         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
70206         this function.
70207         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
70208         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
70209         Likewise.
70210         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
70211         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
70212         * doc/posix-functions/confstr.texi (confstr): Likewise.
70213         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
70214         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
70215         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
70216         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
70217         * doc/posix-functions/fputws.texi (fputws): Likewise.
70218         * doc/posix-functions/fwide.texi (fwide): Likewise.
70219         * doc/posix-functions/getwc.texi (getwc): Likewise.
70220         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
70221         * doc/posix-functions/putwc.texi (putwc): Likewise.
70222         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
70223         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
70224         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
70225         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
70226         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
70227         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
70228         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
70229         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
70230         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
70231         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
70232         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
70234 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
70236         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
70237         * lib/ioctl.c: Include <sys/ioctl.h>.
70239 2009-01-19  Simon Josefsson  <simon@josefsson.org>
70241         * modules/getdate-tests (Depends-on): Add progname.
70242         * tests/test-getdate.c: Use progname module, to avoid link errors
70243         on non-glibc systems.
70245 2009-01-18  Simon Josefsson  <simon@josefsson.org>
70247         * modules/filenamecat-tests (Depends-on): Add progname.
70248         * modules/fstrcmp-tests (Depends-on): Likewise.
70250         * tests/test-filenamecat.c: Use progname module, to avoid link
70251         errors on non-glibc systems.
70252         * tests/test-fstrcmp.c: Likewise.
70254 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
70256         gettimeofday: avoid warning: nested extern declaration of 'localtime'
70257         * lib/gettimeofday.c: Move extern declaration out of function.
70259 2009-01-18  Bruno Haible  <bruno@clisp.org>
70261         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
70262         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
70263         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
70265 2009-01-18  Bruno Haible  <bruno@clisp.org>
70267         * lib/strftime.c (MEMPCPY): Remove unused macro.
70268         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
70270 2009-01-18  Martin Lambers  <marlam@marlam.de>
70272         New module 'link'.
70273         * lib/unistd.in.h (link): New declaration.
70274         * lib/link.c: New file.
70275         * m4/link.m4: New file.
70276         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
70277         HAVE_LINK.
70278         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
70279         * modules/link: New file.
70280         * doc/posix-functions/link.texi: Mention the new module.
70282 2009-01-18  Bruno Haible  <bruno@clisp.org>
70284         * tests/test-avltree_list.c (main): Call set_program_name.
70285         * tests/test-avltree_oset.c (main): Likewise.
70286         * tests/test-obstack-printf.c: Include progname.h.
70287         (main): Call set_program_name.
70288         * tests/test-quotearg.c: Include progname.h.
70289         (main): Call set_program_name.
70290         * tests/test-xmemdup0.c: Include progname.h.
70291         (main): Call set_program_name.
70293 2009-01-18  Bruno Haible  <bruno@clisp.org>
70295         New module 'alphasort'.
70296         * lib/dirent.in.h (alphasort): New declaration.
70297         * lib/alphasort.c: New file, from glibc with modifications.
70298         * m4/alphasort.m4: New file.
70299         * modules/alphasort: New file.
70300         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
70301         HAVE_ALPHASORT.
70302         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
70303         HAVE_ALPHASORT.
70304         * doc/posix-functions/alphasort.texi: Mention the new module and the
70305         portability problems.
70307 2009-01-18  Bruno Haible  <bruno@clisp.org>
70309         New module 'scandir'.
70310         * lib/dirent.in.h (scandir): New declaration.
70311         * lib/scandir.c: New file, from glibc with modifications.
70312         * m4/scandir.m4: New file.
70313         * modules/scandir: New file.
70314         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
70315         HAVE_SCANDIR.
70316         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
70317         HAVE_SCANDIR.
70318         * doc/posix-functions/scandir.texi: Mention the new module and the
70319         portability problems.
70321 2009-01-17  Bruno Haible  <bruno@clisp.org>
70323         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
70324         Update documentation.
70325         (func_remove_suffix): Escape all dots in the suffix. Update
70326         documentation.
70327         (func_filter_filelist): Update documentation.
70328         Reported by Ralf Wildenhues.
70330 2009-01-17  Bruno Haible  <bruno@clisp.org>
70332         * modules/dprintf-posix-tests: New file.
70333         * tests/test-dprintf-posix.sh: New file.
70334         * tests/test-dprintf-posix.c: New file.
70336         New modules 'dprintf', 'dprintf-posix'.
70337         * lib/stdio.in.h (dprintf): New declaration.
70338         * lib/dprintf.c: New file.
70339         * m4/dprintf.m4: New file.
70340         * m4/dprintf-posix.m4: New file.
70341         * modules/dprintf: New file.
70342         * modules/dprintf-posix: New file.
70343         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
70344         HAVE_DPRINTF, REPLACE_DPRINTF.
70345         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
70346         HAVE_DPRINTF, REPLACE_DPRINTF.
70347         * doc/posix-functions/dprintf.texi: Mention the new modules.
70349 2009-01-17  Bruno Haible  <bruno@clisp.org>
70351         * modules/vdprintf-posix-tests: New file.
70352         * tests/test-vdprintf-posix.sh: New file.
70353         * tests/test-vdprintf-posix.c: New file.
70355         New modules 'vdprintf', 'vdprintf-posix'.
70356         * lib/stdio.in.h (vdprintf): New declaration.
70357         * lib/vdprintf.c: New file.
70358         * m4/vdprintf.m4: New file.
70359         * m4/vdprintf-posix.m4: New file.
70360         * modules/vdprintf: New file.
70361         * modules/vdprintf-posix: New file.
70362         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
70363         HAVE_VDPRINTF, REPLACE_VDPRINTF.
70364         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
70365         HAVE_VDPRINTF, REPLACE_VDPRINTF.
70366         * doc/posix-functions/vdprintf.texi: Mention the new modules.
70368 2009-01-17  Bruno Haible  <bruno@clisp.org>
70370         Fix replacement of fopen on mingw.
70371         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
70372         mingw.
70374 2009-01-17  Bruno Haible  <bruno@clisp.org>
70376         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
70377         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
70379 2009-01-17  Bruno Haible  <bruno@clisp.org>
70381         Avoid test-fflush2.sh failure on mingw.
70382         * tests/test-fflush2.c: Include binary-io.h.
70383         (main): Put standard input into binary mode.
70384         * modules/fflush-tests (Depends-on): Add binary-io.
70386 2009-01-17  Bruno Haible  <bruno@clisp.org>
70388         * lib/wchar.in.h: In another particular situation, include only the
70389         system's <wchar.h> file.
70390         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
70391         Reported by Albert Chin-A-Young <china@thewrittenword.com>
70392         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
70394 2009-01-17  Bruno Haible  <bruno@clisp.org>
70396         Support for stripping executables in --enable-relocatable.
70397         * build-aux/install-reloc: Expect one more argument, or an environment
70398         variable RELOC_STRIP_PROG. If set, strip the destination program and
70399         its wrapper.
70400         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
70401         RELOC_STRIP_PROG.
70402         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
70403         to set RELOCATABLE_STRIP.
70404         * NEWS: Mention the new Makefile requirement.
70406 2009-01-17  Bruno Haible  <bruno@clisp.org>
70408         * build-aux/install-reloc: Remove debugging information left over by
70409         C compiler on MacOS X.
70411 2009-01-17  Bruno Haible  <bruno@clisp.org>
70413         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
70414         * lib/progreloc.c (find_executable): Fix type of pointer passed to
70415         _NSGetExecutablePath.
70417 2009-01-16  Jim Meyering  <meyering@redhat.com>
70419         strerror: avoid warnings about discarding "const"
70420         * lib/strerror.c (rpl_strerror): Instead of returning a const
70421         string from each and every "case", use a variable, and add a single
70422         cast after the switch.
70424 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
70426         * lib/arpa_inet.in.h: Add extern "C" block for C++.
70428 2009-01-16  Bruno Haible  <bruno@clisp.org>
70430         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
70431         array initializer syntax that also works in C++ mode.
70432         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70434 2009-01-16  Jim Meyering  <meyering@redhat.com>
70436         poll: suppress a warning
70437         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
70438         to ignore "...unsigned expression < 0 is always false" warnings.
70440 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
70442         poll: remove declarations of unused variables
70443         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
70444         sockbuf and optlen.
70446 2009-01-15  Bruno Haible  <bruno@clisp.org>
70448         Make fflush-after-ungetc POSIX compliant on BSD systems.
70449         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
70450         (clear_ungetc_buffer): Implement also for other systems.
70451         (rpl_fflush): On glibc systems, invoke
70452         clear_ungetc_buffer_preserving_position. Otherwise, invoke
70453         clear_ungetc_buffer after fetching the stream's position, not before.
70455 2009-01-15  Bruno Haible  <bruno@clisp.org>
70457         Make fflush-after-ungetc POSIX compliant on glibc systems.
70458         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
70459         after ungetc.
70460         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
70461         (rpl_fflush): On glibc systems, simply call the system's fflush
70462         function after clearing the ungetc buffer.
70463         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
70464         Instead, lseek only to the end of file, then use the system's fseeko
70465         for the rest. On glibc systems, reset the EOF indicator bit.
70467 2009-01-15  Jim Meyering  <meyering@redhat.com>
70469         openmp.m4: revert quote-adding change, for portability to older autoconf
70470         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
70471         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
70472         Simon Josefsson noticed the problem when using autoconf-2.61.
70474 2009-01-15  Bruno Haible  <bruno@clisp.org>
70476         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
70477         * tests/test-fflush2.c (ASSERT): Always fail.
70478         (main): Add two tests for fflush() after ungetc(), taking into account
70479         the Austin Group's clarification.
70480         Suggested by Eric Blake.
70482 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
70484         mktime.m4: remove K&R-style function prototypes
70485         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
70486         for the Sun C++ compiler.
70488 2009-01-14  Bruno Haible  <bruno@clisp.org>
70490         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
70491         while including <wchar.h>.
70492         * lib/wchar.in.h: In two particular situations on HP-UX, include only
70493         the system's <wchar.h> file.
70494         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70496 2009-01-14  Bruno Haible  <bruno@clisp.org>
70498         * m4/csharp.m4: Don't mention gettext on the serial number line.
70499         * m4/csharpexec.m4: Likewise.
70500         * m4/eaccess.m4: Likewise.
70501         * m4/javaexec.m4: Likewise.
70502         * m4/sig_atomic_t.m4: Likewise.
70503         * m4/tmpdir.m4: Likewise.
70504         * m4/intldir.m4: Bump gettext version.
70505         * m4/lib-ld.m4: Likewise.
70507 2009-01-14  Bruno Haible  <bruno@clisp.org>
70509         * lib/progname.c (set_program_name): Add more comments.
70510         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
70512 2009-01-14  Simon Josefsson  <simon@josefsson.org>
70514         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
70515         were sys/stat.h does not define it.
70517 2009-01-14  Jim Meyering  <meyering@redhat.com>
70519         many *.m4 files: improve m4 quoting
70520         99% of this change was performed by running the following commands:
70521         git ls-files | grep '\.m4$' | xargs perl -pi \
70522           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
70523           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
70524           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
70525           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
70526         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
70527         The remainder were to add Copyright dates, increment serial numbers,
70528         undo some changes in comments, exclude m4/intl.m4, and add quotes
70529         around the "1" in ",1" where the unusual spacing prohibited the
70530         above regexps from doing the job.  For more details, see
70531         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
70532         * m4/acl.m4: Modified.
70533         * m4/afs.m4: Likewise.
70534         * m4/alloca.m4: Likewise.
70535         * m4/argp.m4: Likewise.
70536         * m4/argz.m4: Likewise.
70537         * m4/atexit.m4: Likewise.
70538         * m4/bison-i18n.m4: Likewise.
70539         * m4/bison.m4: Likewise.
70540         * m4/byteswap.m4: Likewise.
70541         * m4/c-stack.m4: Likewise.
70542         * m4/c-strtod.m4: Likewise.
70543         * m4/calloc.m4: Likewise.
70544         * m4/canonicalize-lgpl.m4: Likewise.
70545         * m4/chown.m4: Likewise.
70546         * m4/clock_time.m4: Likewise.
70547         * m4/codeset.m4: Likewise.
70548         * m4/copy-file.m4: Likewise.
70549         * m4/csharp.m4: Likewise.
70550         * m4/csharpcomp.m4: Likewise.
70551         * m4/csharpexec.m4: Likewise.
70552         * m4/d-ino.m4: Likewise.
70553         * m4/d-type.m4: Likewise.
70554         * m4/dirfd.m4: Likewise.
70555         * m4/double-slash-root.m4: Likewise.
70556         * m4/eaccess.m4: Likewise.
70557         * m4/eealloc.m4: Likewise.
70558         * m4/environ.m4: Likewise.
70559         * m4/errno_h.m4: Likewise.
70560         * m4/euidaccess.m4: Likewise.
70561         * m4/execute.m4: Likewise.
70562         * m4/fatal-signal.m4: Likewise.
70563         * m4/fchdir.m4: Likewise.
70564         * m4/fcntl_h.m4: Likewise.
70565         * m4/fileblocks.m4: Likewise.
70566         * m4/filenamecat.m4: Likewise.
70567         * m4/findprog.m4: Likewise.
70568         * m4/flexmember.m4: Likewise.
70569         * m4/fnmatch.m4: Likewise.
70570         * m4/fopen.m4: Likewise.
70571         * m4/fpending.m4: Likewise.
70572         * m4/fprintf-posix.m4: Likewise.
70573         * m4/free.m4: Likewise.
70574         * m4/frexp.m4: Likewise.
70575         * m4/frexpl.m4: Likewise.
70576         * m4/fsusage.m4: Likewise.
70577         * m4/ftruncate.m4: Likewise.
70578         * m4/gc-camellia.m4: Likewise.
70579         * m4/gc-random.m4: Likewise.
70580         * m4/gc.m4: Likewise.
70581         * m4/getaddrinfo.m4: Likewise.
70582         * m4/getcwd-abort-bug.m4: Likewise.
70583         * m4/getcwd-path-max.m4: Likewise.
70584         * m4/getdate.m4: Likewise.
70585         * m4/getdomainname.m4: Likewise.
70586         * m4/getgroups.m4: Likewise.
70587         * m4/gethostname.m4: Likewise.
70588         * m4/gethrxtime.m4: Likewise.
70589         * m4/getline.m4: Likewise.
70590         * m4/getloadavg.m4: Likewise.
70591         * m4/getndelim2.m4: Likewise.
70592         * m4/getpass.m4: Likewise.
70593         * m4/gettext.m4: Likewise.
70594         * m4/gettime.m4: Likewise.
70595         * m4/gettimeofday.m4: Likewise.
70596         * m4/gnulib-common.m4: Likewise.
70597         * m4/group-member.m4: Likewise.
70598         * m4/host-os.m4: Likewise.
70599         * m4/iconv.m4: Likewise.
70600         * m4/iconv_open.m4: Likewise.
70601         * m4/inet_ntop.m4: Likewise.
70602         * m4/inet_pton.m4: Likewise.
70603         * m4/inline.m4: Likewise.
70604         * m4/intldir.m4: Likewise.
70605         * m4/intlmacosx.m4: Likewise.
70606         * m4/intmax.m4: Likewise.
70607         * m4/intmax_t.m4: Likewise.
70608         * m4/inttypes.m4: Likewise.
70609         * m4/inttypes_h.m4: Likewise.
70610         * m4/inttypes-pri.m4: Likewise.
70611         * m4/isapipe.m4: Likewise.
70612         * m4/isnand.m4: Likewise.
70613         * m4/isnanf.m4: Likewise.
70614         * m4/isnanl.m4: Likewise.
70615         * m4/javacomp.m4: Likewise.
70616         * m4/javaexec.m4: Likewise.
70617         * m4/jm-winsz1.m4: Likewise.
70618         * m4/jm-winsz2.m4: Likewise.
70619         * m4/lchown.m4: Likewise.
70620         * m4/lcmessage.m4: Likewise.
70621         * m4/ldexpl.m4: Likewise.
70622         * m4/lib-ld.m4: Likewise.
70623         * m4/lib-link.m4: Likewise.
70624         * m4/libsigsegv.m4: Likewise.
70625         * m4/link-follow.m4: Likewise.
70626         * m4/localcharset.m4: Likewise.
70627         * m4/locale-fr.m4: Likewise.
70628         * m4/locale-ja.m4: Likewise.
70629         * m4/locale-tr.m4: Likewise.
70630         * m4/locale-zh.m4: Likewise.
70631         * m4/lock.m4: Likewise.
70632         * m4/longlong.m4: Likewise.
70633         * m4/ls-mntd-fs.m4: Likewise.
70634         * m4/lstat.m4: Likewise.
70635         * m4/malloc.m4: Likewise.
70636         * m4/mathl.m4: Likewise.
70637         * m4/mbrtowc.m4: Likewise.
70638         * m4/mbstate_t.m4: Likewise.
70639         * m4/mbswidth.m4: Likewise.
70640         * m4/memchr.m4: Likewise.
70641         * m4/memcmp.m4: Likewise.
70642         * m4/memcpy.m4: Likewise.
70643         * m4/memmem.m4: Likewise.
70644         * m4/memmove.m4: Likewise.
70645         * m4/mempcpy.m4: Likewise.
70646         * m4/memrchr.m4: Likewise.
70647         * m4/memset.m4: Likewise.
70648         * m4/minmax.m4: Likewise.
70649         * m4/mkdir-slash.m4: Likewise.
70650         * m4/mkdtemp.m4: Likewise.
70651         * m4/mktime.m4: Likewise.
70652         * m4/mmap-anon.m4: Likewise.
70653         * m4/mountlist.m4: Likewise.
70654         * m4/nanosleep.m4: Likewise.
70655         * m4/nls.m4: Likewise.
70656         * m4/nocrash.m4: Likewise.
70657         * m4/open.m4: Likewise.
70658         * m4/openat.m4: Likewise.
70659         * m4/openmp.m4: Likewise.
70660         * m4/pathmax.m4: Likewise.
70661         * m4/perl.m4: Likewise.
70662         * m4/physmem.m4: Likewise.
70663         * m4/pipe.m4: Likewise.
70664         * m4/po.m4: Likewise.
70665         * m4/poll.m4: Likewise.
70666         * m4/posixtm.m4: Likewise.
70667         * m4/posixver.m4: Likewise.
70668         * m4/printf-frexp.m4: Likewise.
70669         * m4/printf-frexpl.m4: Likewise.
70670         * m4/printf-posix.m4: Likewise.
70671         * m4/printf-posix-rpl.m4: Likewise.
70672         * m4/printf.m4: Likewise.
70673         * m4/progtest.m4: Likewise.
70674         * m4/putenv.m4: Likewise.
70675         * m4/readline.m4: Likewise.
70676         * m4/readlink.m4: Likewise.
70677         * m4/readutmp.m4: Likewise.
70678         * m4/realloc.m4: Likewise.
70679         * m4/regex.m4: Likewise.
70680         * m4/relocatable.m4: Likewise.
70681         * m4/relocatable-lib.m4: Likewise.
70682         * m4/rename-dest-slash.m4: Likewise.
70683         * m4/rename.m4: Likewise.
70684         * m4/rmdir-errno.m4: Likewise.
70685         * m4/rmdir.m4: Likewise.
70686         * m4/roundf.m4: Likewise.
70687         * m4/roundl.m4: Likewise.
70688         * m4/rpmatch.m4: Likewise.
70689         * m4/save-cwd.m4: Likewise.
70690         * m4/selinux-selinux-h.m4: Likewise.
70691         * m4/setenv.m4: Likewise.
70692         * m4/settime.m4: Likewise.
70693         * m4/sig2str.m4: Likewise.
70694         * m4/sig_atomic_t.m4: Likewise.
70695         * m4/signalblocking.m4: Likewise.
70696         * m4/signbit.m4: Likewise.
70697         * m4/sigpipe.m4: Likewise.
70698         * m4/sockets.m4: Likewise.
70699         * m4/sockpfaf.m4: Likewise.
70700         * m4/st_dm_mode.m4: Likewise.
70701         * m4/stat-time.m4: Likewise.
70702         * m4/stdbool.m4: Likewise.
70703         * m4/stdint.m4: Likewise.
70704         * m4/stdint_h.m4: Likewise.
70705         * m4/stpcpy.m4: Likewise.
70706         * m4/stpncpy.m4: Likewise.
70707         * m4/strcase.m4: Likewise.
70708         * m4/strchrnul.m4: Likewise.
70709         * m4/strcspn.m4: Likewise.
70710         * m4/strdup.m4: Likewise.
70711         * m4/strftime.m4: Likewise.
70712         * m4/strndup.m4: Likewise.
70713         * m4/strnlen.m4: Likewise.
70714         * m4/strpbrk.m4: Likewise.
70715         * m4/strptime.m4: Likewise.
70716         * m4/strsep.m4: Likewise.
70717         * m4/strtod.m4: Likewise.
70718         * m4/strtoimax.m4: Likewise.
70719         * m4/strtok_r.m4: Likewise.
70720         * m4/strtol.m4: Likewise.
70721         * m4/strtoll.m4: Likewise.
70722         * m4/strtoul.m4: Likewise.
70723         * m4/strtoull.m4: Likewise.
70724         * m4/strtoumax.m4: Likewise.
70725         * m4/strverscmp.m4: Likewise.
70726         * m4/threadlib.m4: Likewise.
70727         * m4/timegm.m4: Likewise.
70728         * m4/tm_gmtoff.m4: Likewise.
70729         * m4/tmpdir.m4: Likewise.
70730         * m4/tmpfile.m4: Likewise.
70731         * m4/tzset.m4: Likewise.
70732         * m4/uintmax_t.m4: Likewise.
70733         * m4/unlinkdir.m4: Likewise.
70734         * m4/unlocked-io.m4: Likewise.
70735         * m4/uptime.m4: Likewise.
70736         * m4/userspec.m4: Likewise.
70737         * m4/utimbuf.m4: Likewise.
70738         * m4/utime.m4: Likewise.
70739         * m4/utimes-null.m4: Likewise.
70740         * m4/utimes.m4: Likewise.
70741         * m4/vararrays.m4: Likewise.
70742         * m4/vasnprintf.m4: Likewise.
70743         * m4/vfprintf-posix.m4: Likewise.
70744         * m4/vprintf-posix.m4: Likewise.
70745         * m4/wait-process.m4: Likewise.
70746         * m4/wchar_t.m4: Likewise.
70747         * m4/wint_t.m4: Likewise.
70748         * m4/write-any-file.m4: Likewise.
70749         * m4/yield.m4: Likewise.
70751 2009-01-13  Bruno Haible  <bruno@clisp.org>
70753         Avoid test-copy-file.sh failures when ACL support insufficient.
70754         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
70755         TESTS_ENVIRONMENT.
70756         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
70757         Reported by Jim Meyering.
70759 2009-01-13  Bruno Haible  <bruno@clisp.org>
70761         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
70762         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
70763         * modules/unistdio/u8-printf-parse (Files): Likewise.
70764         * modules/unistdio/u32-printf-parse (Files): Likewise.
70765         * modules/unistdio/ulc-printf-parse (Files): Likewise.
70767 2009-01-13  Simon Josefsson  <simon@josefsson.org>
70769         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
70770         and m4/inttypes_h.m4 too.
70772 2009-01-12  Eric Blake  <ebb9@byu.net>
70774         tests: IRIX 6.2 cc can't compile -0.0 into .data
70775         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
70776         rather than at compile-time.
70777         * tests/test-floorl.c (minus_zero): Likewise.
70778         * tests/test-frexpl.c (minus_zero): Likewise.
70779         * tests/test-isnan.c (minus_zerol): Likewise.
70780         * tests/test-isnanl.h (minus_zero): Likewise.
70781         * tests/test-ldexpl.c (minus_zero): Likewise.
70782         * tests/test-roundl.c (minus_zero): Likewise.
70783         * tests/test-signbit.c (minus_zerol): Likewise.
70784         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
70785         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
70786         * tests/test-truncl.c (minus_zero): Likewise.
70787         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
70788         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
70789         Reported by Tom G. Christensen and Nelson H. F. Beebe.
70791 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70793         regex: fix glibc bug 9697
70794         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
70795         handling.
70797 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70799         regex: fix glibc bug 697
70800         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
70801         being NULL also if there are no backreferences.
70803 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70805         regex: merge glibc changes
70806         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
70807         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
70808         re_string_skip_chars, re_string_reconstruct): Likewise.
70809         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
70811 2009-01-07  Jim Meyering  <meyering@redhat.com>
70813         poll: filter through cppi
70814         * lib/poll.c: Indent cpp directives to reflect nesting.
70816 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
70818         poll: don't return uninitialized
70819         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
70821 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
70823         avoid compile failure on AIX 6.1
70824         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
70825         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
70827 2009-01-04  Jim Meyering  <meyering@redhat.com>
70829         remove duplicate inclusion of <stdio.h>
70830         * tests/test-fprintf-posix.c: Likewise.
70831         * tests/test-printf-posix.c: Likewise.
70832         * tests/test-snprintf-posix.c: Likewise.
70833         * tests/test-sprintf-posix.c: Likewise.
70834         * tests/test-vasprintf-posix.c: Likewise.
70835         * tests/test-vfprintf-posix.c: Likewise.
70836         * tests/test-vprintf-posix.c: Likewise.
70837         * tests/test-vsnprintf-posix.c: Likewise.
70838         * tests/test-vsprintf-posix.c: Likewise.
70840 2009-01-03  Jim Meyering  <meyering@redhat.com>
70842         gnulib-tool: fix sed-based filtering
70843         * gnulib-tool (func_filter_filelist): Remove extra backslash
70844         in sed_fff_filter definition.
70846 2009-01-02  Jim Meyering  <meyering@redhat.com>
70848         strftime: avoid compilation failure on Solaris 2.6
70849         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
70850         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
70851         Don't #define mbrlen or mbsinit, since now they're guaranteed to
70852         be available.  Reported by Tom G. Christensen.  Details in
70853         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
70855 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70856             Bruno Haible  <bruno@clisp.org>
70858         Speed up gnulib-tool by doing more string processing through shell
70859         built-ins.
70860         * gnulib-tool (fast_func_append): New variable.
70861         (func_remove_prefix, func_remove_suffix): New functions.
70862         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
70863         (func_filter_filelist): New function.
70864         (func_get_dependencies): Use func_remove_suffix instead of sed.
70865         (func_get_automake_snippet): Use func_filter_filelist instead of a
70866         subshell and sed invocation.
70868 2009-01-01  Bruno Haible  <bruno@clisp.org>
70870         Fix a security bug.
70871         * gnulib-tool (func_import, import, update): Don't allow the characters
70872         '"', '$', '`', '\' in macro arguments that become part of commands that
70873         are evaluated.
70875 2009-01-01  Bruno Haible  <bruno@clisp.org>
70877         * gnulib-tool (func_reset_sigpipe): Add more comments.
70879 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70881         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
70882         func_emit_tests_Makefile_am, func_import): Abort loops early if we
70883         already know the answer.
70885 2009-01-01  Jim Meyering  <meyering@redhat.com>
70887         * lib/version-etc.c (version_etc_va): Update copyright year.
70889 2008-12-30  Bruno Haible  <bruno@clisp.org>
70891         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
70892         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
70893         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
70895 2008-12-29  Eric Blake  <ebb9@byu.net>
70897         multiarch: avoid autoconf AC_REQUIRE bug
70898         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
70899         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
70900         2.63 and older.
70901         Reported by Bruno Haible, and analyzed in
70902         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
70904 2008-12-29  Bruno Haible  <bruno@clisp.org>
70906         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
70907         files in subdirectories correctly.
70908         Reported by Ralf Wildenhues.
70910 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70912         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
70913         rather than 'join FILE -', for Solaris join.
70915 2008-12-29  Bruno Haible  <bruno@clisp.org>
70917         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
70918         quoting.
70919         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
70920         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
70921         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
70922         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
70923         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
70924         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
70925         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
70926         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
70927         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
70928         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
70929         * m4/nls.m4 (AM_NLS): Likewise.
70930         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
70931         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
70932         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
70933         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
70934         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
70935         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
70936         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
70937         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
70938         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
70939         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
70940         * m4/xsize.m4 (gl_XSIZE): Likewise.
70941         Suggested by Jim Meyering.
70943 2008-11-17  Bruce Korb  <bkorb@gnu.org>
70945         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
70946         * lib/parse-duration.c: use a switch instead of cascading if's.
70948 2008-12-29  Eric Blake  <ebb9@byu.net>
70950         wchar.h: supply WEOF on Irix 5.3
70951         * lib/wchar.in.h (wint_t): Also supply WEOF.
70952         * lib/wctype.in.h (wint_t): Likewise.
70953         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
70954         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
70955         Reported by Tom G. Christensen.
70957 2008-12-26  Bruno Haible  <bruno@clisp.org>
70959         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
70960         i486, i586, i686.
70962 2008-12-26  Bruno Haible  <bruno@clisp.org>
70964         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
70966 2008-12-26  Bruno Haible  <bruno@clisp.org>
70968         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
70969         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
70970         not __STDC_CONSTANT_MACROS.
70971         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
70973 2008-12-25  Bruno Haible  <bruno@clisp.org>
70975         Add support for universal builds to vasnprintf.
70976         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
70977         universal builds, guess no.
70978         * modules/vasnprintf-posix (Depends-on): Add multiarch.
70979         * modules/vasprintf-posix (Depends-on): Likewise.
70980         * modules/fprintf-posix (Depends-on): Likewise.
70981         * modules/vfprintf-posix (Depends-on): Likewise.
70982         * modules/snprintf-posix (Depends-on): Likewise.
70983         * modules/vsnprintf-posix (Depends-on): Likewise.
70984         * modules/sprintf-posix (Depends-on): Likewise.
70985         * modules/vsprintf-posix (Depends-on): Likewise.
70986         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
70987         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
70988         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
70989         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
70990         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
70991         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
70992         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
70994         Add support for universal builds to <inttypes.h>.
70995         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
70996         _SCNu64_PREFIX): In Apple
70997         universal builds, define directly, using _LP64.
70998         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
70999         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
71000         * modules/inttypes (Depends-on): Add multiarch.
71001         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
71003         Add support for universal builds to <stdint.h>.
71004         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
71005         universal builds, define directly, using _LP64.
71006         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
71007         Apple universal builds, don't test for the size and suffix of ptrdiff_t
71008         and size_t.
71009         * modules/stdint (Depends-on): Add multiarch.
71010         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
71012         New module 'multiarch'.
71013         * modules/multiarch: New file.
71014         * m4/multiarch.m4: New file.
71016 2008-12-25  Bruno Haible  <bruno@clisp.org>
71018         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
71020 2008-12-25  Bruno Haible  <bruno@clisp.org>
71022         * modules/btowc (License): Relicense under LGPLv2+.
71023         * modules/mbsinit (License): Likewise.
71024         * modules/mbrtowc (License): Likewise.
71025         * modules/wcrtomb (License): Likewise.
71026         * modules/streq (License): Likewise.
71027         Reported by David Lutterkort <lutter@redhat.com>.
71029 2008-12-23  Bruno Haible  <bruno@clisp.org>
71031         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
71033 2008-12-23  Bruno Haible  <bruno@clisp.org>
71035         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
71036         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
71037         GETADDRINFO_LIB, not in LIBS.
71038         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
71039         * modules/canon-host (Link): Likewise.
71040         * NEWS: Mention the change.
71041         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
71042         GETADDRINFO_LIB.
71044 2008-12-22  Bruno Haible  <bruno@clisp.org>
71046         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
71047         * doc/posix-functions/iswalpha_l.texi: Likewise.
71048         * doc/posix-functions/iswblank_l.texi: Likewise.
71049         * doc/posix-functions/iswcntrl_l.texi: Likewise.
71050         * doc/posix-functions/iswctype_l.texi: Likewise.
71051         * doc/posix-functions/iswdigit_l.texi: Likewise.
71052         * doc/posix-functions/iswgraph_l.texi: Likewise.
71053         * doc/posix-functions/iswlower_l.texi: Likewise.
71054         * doc/posix-functions/iswprint_l.texi: Likewise.
71055         * doc/posix-functions/iswpunct_l.texi: Likewise.
71056         * doc/posix-functions/iswspace_l.texi: Likewise.
71057         * doc/posix-functions/iswupper_l.texi: Likewise.
71058         * doc/posix-functions/iswxdigit_l.texi: Likewise.
71059         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
71060         * doc/posix-functions/open_wmemstream.texi: Likewise.
71061         * doc/posix-functions/swscanf.texi: Likewise.
71062         * doc/posix-functions/towctrans_l.texi: Likewise.
71063         * doc/posix-functions/towlower.texi: Likewise.
71064         * doc/posix-functions/towlower_l.texi: Likewise.
71065         * doc/posix-functions/towupper.texi: Likewise.
71066         * doc/posix-functions/towupper_l.texi: Likewise.
71067         * doc/posix-functions/vfwprintf.texi: Likewise.
71068         * doc/posix-functions/vfwscanf.texi: Likewise.
71069         * doc/posix-functions/vswscanf.texi: Likewise.
71070         * doc/posix-functions/vwprintf.texi: Likewise.
71071         * doc/posix-functions/vwscanf.texi: Likewise.
71072         * doc/posix-functions/wcpcpy.texi: Likewise.
71073         * doc/posix-functions/wcpncpy.texi: Likewise.
71074         * doc/posix-functions/wcscasecmp.texi: Likewise.
71075         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
71076         * doc/posix-functions/wcscoll_l.texi: Likewise.
71077         * doc/posix-functions/wcsdup.texi: Likewise.
71078         * doc/posix-functions/wcsncasecmp.texi: Likewise.
71079         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
71080         * doc/posix-functions/wcsnlen.texi: Likewise.
71081         * doc/posix-functions/wcsnrtombs.texi: Likewise.
71082         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
71083         * doc/posix-functions/wctrans_l.texi: Likewise.
71084         * doc/posix-functions/wctype_l.texi: Likewise.
71085         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
71086         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
71087         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
71088         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
71089         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
71090         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
71091         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
71092         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
71093         * doc/glibc-functions/wcschrnul.texi: Likewise.
71094         * doc/glibc-functions/wcsftime_l.texi: Likewise.
71095         * doc/glibc-functions/wcstod_l.texi: Likewise.
71096         * doc/glibc-functions/wcstof_l.texi: Likewise.
71097         * doc/glibc-functions/wcstol_l.texi: Likewise.
71098         * doc/glibc-functions/wcstold_l.texi: Likewise.
71099         * doc/glibc-functions/wcstoll_l.texi: Likewise.
71100         * doc/glibc-functions/wcstoq.texi: Likewise.
71101         * doc/glibc-functions/wcstoul_l.texi: Likewise.
71102         * doc/glibc-functions/wcstoull_l.texi: Likewise.
71103         * doc/glibc-functions/wcstouq.texi: Likewise.
71104         * doc/glibc-functions/wmempcpy.texi: Likewise.
71106 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
71107             Eric Blake  <ebb9@byu.net>
71108             Paolo Bonzini  <bonzini@gnu.org>
71109             Bruno Haible  <bruno@clisp.org>
71111         Make c-stack work on Haiku.
71112         * lib/c-stack.c (SA_ONSTACK): Define fallback.
71113         (c_stack_action): Use SA_ONSTACK flag.
71115 2008-12-22  Bruno Haible  <bruno@clisp.org>
71117         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
71119 2008-12-22  Bruno Haible  <bruno@clisp.org>
71121         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
71122         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
71123         being overridden.
71124         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
71125         New macros.
71126         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
71127         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
71128         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
71129         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
71131 2008-12-22  Bruno Haible  <bruno@clisp.org>
71133         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
71134         from test code.
71136 2008-12-22  Eric Blake  <ebb9@byu.net>
71138         Avoid gcc warnings on cygwin.
71139         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
71140         Avoid unused variable.
71141         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
71142         Likewise.
71144 2008-12-22  Bruno Haible  <bruno@clisp.org>
71146         Remove HAVE_MBRTOWC conditionals.
71147         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
71148         (mbscasecmp): Assume mbrtowc function.
71149         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
71150         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
71151         * lib/mbschr.c: Include mbuiter.h unconditionally.
71152         (mbschr): Assume mbrtowc function.
71153         * lib/mbscspn.c: Include mbuiter.h unconditionally.
71154         (mbscspn): Assume mbrtowc function.
71155         * lib/mbslen.c: Include mbuiter.h unconditionally.
71156         (mbslen): Assume mbrtowc function.
71157         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
71158         (mbsncasecmp): Assume mbrtowc function.
71159         * lib/mbsnlen.c: Include mbiter.h unconditionally.
71160         (mbsnlen): Assume mbrtowc function.
71161         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
71162         (mbspbrk): Assume mbrtowc function.
71163         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
71164         (mbspcasecmp): Assume mbrtowc function.
71165         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
71166         (mbsrchr): Assume mbrtowc function.
71167         * lib/mbssep.c: Include mbuiter.h unconditionally.
71168         (mbssep): Assume mbrtowc function.
71169         * lib/mbsspn.c: Include mbuiter.h unconditionally.
71170         (mbsspn): Assume mbrtowc function.
71171         * lib/mbsstr.c: Include mbuiter.h unconditionally.
71172         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
71173         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
71174         (mbstok_r): Assume mbrtowc function.
71175         * lib/propername.c: Include mbuiter.h unconditionally.
71176         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
71177         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
71178         (trim2): Assume mbrtowc function.
71179         * lib/mbswidth.c (mbsinit): Remove fallback definition.
71180         (mbsnwidth): Assume mbrtowc function.
71181         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
71182         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
71183         fallback definitions.
71184         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
71186 2008-12-22  Bruno Haible  <bruno@clisp.org>
71188         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
71190 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
71192         * modules/regex: Request emulations for the mb*/wc* functions we need.
71193         * m4/regex.m4: Don't look for those functions here.
71194         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
71196 2008-12-22  Bruno Haible  <bruno@clisp.org>
71198         * modules/fnmatch (Depends-on): Remove duplicated dependency.
71200 2008-12-21  Bruno Haible  <bruno@clisp.org>
71202         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
71203         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
71204         (Include): Remove conditionalization.
71205         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
71206         (Include): Remove conditionalization.
71207         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
71208         (Include): Remove conditionalization.
71209         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
71210         * m4/mbfile.m4 (gl_MBFILE): Likewise.
71211         * NEWS: Mention the change.
71212         Reported by Alan Hourihane <alanh@fairlite.co.uk>
71213         via Sergey Poznyakoff <gray@gnu.org.ua>.
71215 2008-12-21  Bruno Haible  <bruno@clisp.org>
71217         * MODULES.html.sh (Extended multibyte and wide character utilities
71218         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
71219         wcrtomb, wcsrtombs.
71220         (Support for systems lacking POSIX:2008): Add accept, bind, close,
71221         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
71222         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
71223         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
71225 2008-12-21  Bruno Haible  <bruno@clisp.org>
71227         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
71229 2008-12-21  Bruno Haible  <bruno@clisp.org>
71231         * modules/wcsnrtombs-tests: New file.
71232         * tests/test-wcsnrtombs1.sh: New file.
71233         * tests/test-wcsnrtombs2.sh: New file.
71234         * tests/test-wcsnrtombs3.sh: New file.
71235         * tests/test-wcsnrtombs4.sh: New file.
71236         * tests/test-wcsnrtombs.c: New file.
71238         New module 'wcsnrtombs'.
71239         * lib/wchar.in.h (wcsnrtombs): New declaration.
71240         * lib/wcsnrtombs.c: New file.
71241         * lib/wcsrtombs-state.c: New file.
71242         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
71243         (internal_state): Remove variable.
71244         * m4/wcsnrtombs.m4: New file.
71245         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
71246         compilation units.
71247         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
71248         HAVE_WCSNRTOMBS.
71249         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
71250         HAVE_WCSNRTOMBS.
71251         * modules/wcsnrtombs: New file.
71252         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
71253         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
71255 2008-12-21  Bruno Haible  <bruno@clisp.org>
71257         * modules/wcsrtombs-tests: New file.
71258         * tests/test-wcsrtombs1.sh: New file.
71259         * tests/test-wcsrtombs2.sh: New file.
71260         * tests/test-wcsrtombs3.sh: New file.
71261         * tests/test-wcsrtombs4.sh: New file.
71262         * tests/test-wcsrtombs.c: New file.
71264         New module 'wcsrtombs'.
71265         * lib/wchar.in.h (wcsrtombs): New declaration.
71266         * lib/wcsrtombs.c: New file.
71267         * m4/wcsrtombs.m4: New file.
71268         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
71269         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
71270         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
71271         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
71272         * modules/wcsrtombs: New file.
71273         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
71274         bugs.
71276 2008-12-21  Bruno Haible  <bruno@clisp.org>
71278         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
71279         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
71280         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
71281         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
71282         if not correct.
71283         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
71284         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
71285         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
71286         m4/locale-zh.m4, m4/codeset.m4.
71287         * doc/posix-functions/wcrtomb.texi: Document the bug.
71289 2008-12-21  Bruno Haible  <bruno@clisp.org>
71291         Work around a btowc() bug on IRIX 6.5.
71292         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
71293         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
71294         REPLACE_WTOBC if not.
71295         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
71296         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
71297         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
71299 2008-12-21  Bruno Haible  <bruno@clisp.org>
71301         * modules/wcrtomb-tests: New file.
71302         * tests/test-wcrtomb.sh: New file.
71303         * tests/test-wcrtomb.c: New file.
71305         New module 'wcrtomb'.
71306         * lib/wchar.in.h (wcrtomb): New declaration.
71307         * lib/wcrtomb.c: New file.
71308         * m4/wcrtomb.m4: New file.
71309         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
71310         HAVE_WCRTOMB.
71311         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
71312         HAVE_WCRTOMB.
71313         * modules/wcrtomb: New file.
71314         * doc/posix-functions/wcrtomb.texi: Mention the new module.
71316 2008-12-21  Bruno Haible  <bruno@clisp.org>
71318         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
71319         * modules/mbsrtowcs (Files): Likewise.
71320         * modules/wctob (Files): Likewise.
71321         * modules/c-strcase-tests (Files): Likewise.
71322         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
71323         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
71324         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
71325         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
71326         * modules/vasnprintf-posix-tests (Files): Likewise.
71328 2008-12-21  William Pursell  <bill.pursell@gmail.com>
71330         gitlog-to-changelog: pass all command-line arguments to git-log
71331         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
71332         it is sometimes convenient to filter the commits in various ways.
71333         gitlog-to-changelog only allows --since to specify a start date,
71334         but git-log itself supports many other filtering mechanisms.
71335         At the moment, I want to filter by branch name.  Rather than
71336         adding a --branch option to gitlog-to-changelog, it seems more
71337         flexible to simply pass all options directly to git-log and let
71338         git do the work.  Notice that this effectively makes --since a
71339         redundant option for gitlog-to-changelog, but removing it would
71340         require current usage to change since calls would then require
71341         an additional '--'.
71343 2008-12-21  Bruno Haible  <bruno@clisp.org>
71345         * modules/mbsnrtowcs-tests: New file.
71346         * tests/test-mbsnrtowcs1.sh: New file.
71347         * tests/test-mbsnrtowcs2.sh: New file.
71348         * tests/test-mbsnrtowcs3.sh: New file.
71349         * tests/test-mbsnrtowcs4.sh: New file.
71350         * tests/test-mbsnrtowcs.c: New file.
71352         New module 'mbsnrtowcs'.
71353         * lib/wchar.in.h (mbsnrtowcs): New declaration.
71354         * lib/mbsnrtowcs.c: New file.
71355         * lib/mbsrtowcs-state.c: New file.
71356         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
71357         (internal_state): Remove variable.
71358         * m4/mbsnrtowcs.m4: New file.
71359         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
71360         compilation units.
71361         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
71362         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
71363         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
71364         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
71365         * modules/mbsnrtowcs: New file.
71366         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
71367         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
71368         portability problem.
71370 2008-12-21  Bruno Haible  <bruno@clisp.org>
71372         Work around mbsrtowcs bug.
71373         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
71374         (gl_FUNC_MBSRTOWCS): Invoke it.
71375         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
71376         m4/locale-zh.m4.
71377         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
71379 2008-12-21  Bruno Haible  <bruno@clisp.org>
71381         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
71383 2008-12-21  Bruno Haible  <bruno@clisp.org>
71385         Update doc for AIX.
71386         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
71387         16-bit wchar_t type.
71388         * doc/posix-functions/btowc.texi: Likewise.
71389         * doc/posix-functions/fgetwc.texi: Likewise.
71390         * doc/posix-functions/fgetws.texi: Likewise.
71391         * doc/posix-functions/fputwc.texi: Likewise.
71392         * doc/posix-functions/fputws.texi: Likewise.
71393         * doc/posix-functions/fwide.texi: Likewise.
71394         * doc/posix-functions/fwprintf.texi: Likewise.
71395         * doc/posix-functions/fwscanf.texi: Likewise.
71396         * doc/posix-functions/getwchar.texi: Likewise.
71397         * doc/posix-functions/getwc.texi: Likewise.
71398         * doc/posix-functions/iswalnum.texi: Likewise.
71399         * doc/posix-functions/iswalpha.texi: Likewise.
71400         * doc/posix-functions/iswblank.texi: Likewise.
71401         * doc/posix-functions/iswcntrl.texi: Likewise.
71402         * doc/posix-functions/iswctype.texi: Likewise.
71403         * doc/posix-functions/iswdigit.texi: Likewise.
71404         * doc/posix-functions/iswgraph.texi: Likewise.
71405         * doc/posix-functions/iswlower.texi: Likewise.
71406         * doc/posix-functions/iswprint.texi: Likewise.
71407         * doc/posix-functions/iswpunct.texi: Likewise.
71408         * doc/posix-functions/iswspace.texi: Likewise.
71409         * doc/posix-functions/iswupper.texi: Likewise.
71410         * doc/posix-functions/iswxdigit.texi: Likewise.
71411         * doc/posix-functions/mbrtowc.texi: Likewise.
71412         * doc/posix-functions/mbsrtowcs.texi: Likewise.
71413         * doc/posix-functions/mbstowcs.texi: Likewise.
71414         * doc/posix-functions/mbtowc.texi: Likewise.
71415         * doc/posix-functions/putwchar.texi: Likewise.
71416         * doc/posix-functions/putwc.texi: Likewise.
71417         * doc/posix-functions/swprintf.texi: Likewise.
71418         * doc/posix-functions/tolower.texi: Likewise.
71419         * doc/posix-functions/toupper.texi: Likewise.
71420         * doc/posix-functions/towctrans.texi: Likewise.
71421         * doc/posix-functions/ungetwc.texi: Likewise.
71422         * doc/posix-functions/vswprintf.texi: Likewise.
71423         * doc/posix-functions/wcrtomb.texi: Likewise.
71424         * doc/posix-functions/wcscat.texi: Likewise.
71425         * doc/posix-functions/wcschr.texi: Likewise.
71426         * doc/posix-functions/wcscmp.texi: Likewise.
71427         * doc/posix-functions/wcscoll.texi: Likewise.
71428         * doc/posix-functions/wcscpy.texi: Likewise.
71429         * doc/posix-functions/wcscspn.texi: Likewise.
71430         * doc/posix-functions/wcsftime.texi: Likewise.
71431         * doc/posix-functions/wcslen.texi: Likewise.
71432         * doc/posix-functions/wcsncat.texi: Likewise.
71433         * doc/posix-functions/wcsncmp.texi: Likewise.
71434         * doc/posix-functions/wcsncpy.texi: Likewise.
71435         * doc/posix-functions/wcspbrk.texi: Likewise.
71436         * doc/posix-functions/wcsrchr.texi: Likewise.
71437         * doc/posix-functions/wcsrtombs.texi: Likewise.
71438         * doc/posix-functions/wcsspn.texi: Likewise.
71439         * doc/posix-functions/wcsstr.texi: Likewise.
71440         * doc/posix-functions/wcstod.texi: Likewise.
71441         * doc/posix-functions/wcstof.texi: Likewise.
71442         * doc/posix-functions/wcstoimax.texi: Likewise.
71443         * doc/posix-functions/wcstok.texi: Likewise.
71444         * doc/posix-functions/wcstold.texi: Likewise.
71445         * doc/posix-functions/wcstoll.texi: Likewise.
71446         * doc/posix-functions/wcstol.texi: Likewise.
71447         * doc/posix-functions/wcstombs.texi: Likewise.
71448         * doc/posix-functions/wcstoull.texi: Likewise.
71449         * doc/posix-functions/wcstoul.texi: Likewise.
71450         * doc/posix-functions/wcstoumax.texi: Likewise.
71451         * doc/posix-functions/wcswidth.texi: Likewise.
71452         * doc/posix-functions/wcsxfrm.texi: Likewise.
71453         * doc/posix-functions/wctob.texi: Likewise.
71454         * doc/posix-functions/wctomb.texi: Likewise.
71455         * doc/posix-functions/wctrans.texi: Likewise.
71456         * doc/posix-functions/wctype.texi: Likewise.
71457         * doc/posix-functions/wcwidth.texi: Likewise.
71458         * doc/posix-functions/wmemchr.texi: Likewise.
71459         * doc/posix-functions/wmemcmp.texi: Likewise.
71460         * doc/posix-functions/wmemcpy.texi: Likewise.
71461         * doc/posix-functions/wmemmove.texi: Likewise.
71462         * doc/posix-functions/wmemset.texi: Likewise.
71463         * doc/posix-functions/wprintf.texi: Likewise.
71464         * doc/posix-functions/wscanf.texi: Likewise.
71466 2008-12-21  Bruno Haible  <bruno@clisp.org>
71468         Update doc for HP-UX 11.11.
71469         * doc/posix-functions/btowc.texi: Clarify that the function is missing
71470         in HP-UX version 11.00, not in all versions of HP-UX 11.
71471         * doc/posix-functions/fwide.texi: Likewise.
71472         * doc/posix-functions/fwprintf.texi: Likewise.
71473         * doc/posix-functions/fwscanf.texi: Likewise.
71474         * doc/posix-functions/inet_ntop.texi: Likewise.
71475         * doc/posix-functions/inet_pton.texi: Likewise.
71476         * doc/posix-functions/mbrlen.texi: Likewise.
71477         * doc/posix-functions/mbrtowc.texi: Likewise.
71478         * doc/posix-functions/mbsinit.texi: Likewise.
71479         * doc/posix-functions/mbsrtowcs.texi: Likewise.
71480         * doc/posix-functions/swprintf.texi: Likewise.
71481         * doc/posix-functions/swscanf.texi: Likewise.
71482         * doc/posix-functions/towctrans.texi: Likewise.
71483         * doc/posix-functions/vfwprintf.texi: Likewise.
71484         * doc/posix-functions/vswprintf.texi: Likewise.
71485         * doc/posix-functions/vwprintf.texi: Likewise.
71486         * doc/posix-functions/wcrtomb.texi: Likewise.
71487         * doc/posix-functions/wcsrtombs.texi: Likewise.
71488         * doc/posix-functions/wcsstr.texi: Likewise.
71489         * doc/posix-functions/wctob.texi: Likewise.
71490         * doc/posix-functions/wctrans.texi: Likewise.
71491         * doc/posix-functions/wmemchr.texi: Likewise.
71492         * doc/posix-functions/wmemcmp.texi: Likewise.
71493         * doc/posix-functions/wmemcpy.texi: Likewise.
71494         * doc/posix-functions/wmemmove.texi: Likewise.
71495         * doc/posix-functions/wmemset.texi: Likewise.
71496         * doc/posix-functions/wprintf.texi: Likewise.
71497         * doc/posix-functions/wscanf.texi: Likewise.
71499 2008-12-21  Bruno Haible  <bruno@clisp.org>
71501         Work around a portability problem.
71502         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
71503         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
71505 2008-12-20  Bruno Haible  <bruno@clisp.org>
71507         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
71508         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
71509         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
71510         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
71511         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
71513         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
71514         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
71515         set.
71516         (GNULIB_defined_mbstate_t): New macro.
71517         (mbsinit): Redefine if REPLACE_MBSINIT is set.
71518         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
71519         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
71520         reuses the system's mbrtowc function but works around the bugs.
71521         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
71522         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
71523         macros.
71524         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
71525         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
71526         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
71527         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
71528         REPLACE_MBSINIT if mbsinit needs to be overridden.
71529         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
71530         REPLACE_MBSINIT, REPLACE_MBRTOWC.
71531         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
71532         REPLACE_MBSINIT, REPLACE_MBRTOWC.
71533         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
71534         m4/locale-zh.m4.
71535         (Depends): Add mbsinit.
71536         * modules/mbsinit (Depends): Add mbrtowc.
71537         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
71539 2008-12-20  Bruno Haible  <bruno@clisp.org>
71541         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
71542         so that there are no conversion errors on AIX.
71543         * tests/test-mbsrtowcs.c (main): LIkewise.
71545 2008-12-20  Bruno Haible  <bruno@clisp.org>
71547         Work around wctob bug on Solaris <= 9.
71548         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
71549         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
71550         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
71551         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
71552         * modules/wctob (Files): Add m4/locale-fr.m4.
71553         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
71555 2008-12-20  Bruno Haible  <bruno@clisp.org>
71557         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
71558         /dev/null.
71559         * tests/test-select-in.sh: Likewise.
71560         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
71562 2008-12-20  Bruno Haible  <bruno@clisp.org>
71564         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
71565         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
71566         Cygwin 1.5.x.
71568 2008-12-20  Bruno Haible  <bruno@clisp.org>
71570         Ensure mbstate_t is defined on HP-UX 11.11.
71571         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
71572         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
71573         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
71574         AC_USE_SYSTEM_EXTENSIONS.
71575         * modules/fnmatch (Depends-on): Add extensions.
71576         * modules/mbrlen (Depends-on): Likewise.
71577         * modules/mbrtowc (Depends-on): Likewise.
71578         * modules/mbsinit (Depends-on): Likewise.
71579         * modules/mbsrtowcs (Depends-on): Likewise.
71580         * modules/mbswidth (Depends-on): Likewise.
71581         * modules/quotearg (Depends-on): Likewise.
71582         * modules/strftime (Depends-on): Likewise.
71584 2008-12-20  Bruno Haible  <bruno@clisp.org>
71586         Ensure wctob is declared on IRIX 6.5.
71587         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
71588         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
71589         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
71590         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
71591         of HAVE_WCTOB.
71592         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
71593         HAVE_WCTOB.
71594         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
71596 2008-12-19  Bruno Haible  <bruno@clisp.org>
71598         * modules/mbsrtowcs-tests: New file.
71599         * tests/test-mbsrtowcs1.sh: New file.
71600         * tests/test-mbsrtowcs2.sh: New file.
71601         * tests/test-mbsrtowcs3.sh: New file.
71602         * tests/test-mbsrtowcs4.sh: New file.
71603         * tests/test-mbsrtowcs.c: New file.
71605         New module 'mbsrtowcs'.
71606         * lib/wchar.in.h (mbsrtowcs): New declaration.
71607         * lib/mbsrtowcs.c: New file.
71608         * m4/mbsrtowcs.m4: New file.
71609         * modules/mbsrtowcs: New file.
71610         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
71611         HAVE_MBSRTOWCS.
71612         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
71613         HAVE_MBSRTOWCS.
71614         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
71616 2008-12-19  Bruno Haible  <bruno@clisp.org>
71618         New module 'mbrlen'.
71619         * lib/wchar.in.h (mbrlen): New declaration.
71620         * lib/mbrlen.c: New file.
71621         * m4/mbrlen.m4: New file.
71622         * modules/mbrlen: New file.
71623         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
71624         HAVE_MBRLEN.
71625         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
71626         HAVE_MBRLEN.
71627         * doc/posix-functions/mbrlen.texi: Document the new module.
71629 2008-12-19  Bruno Haible  <bruno@clisp.org>
71631         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
71632         * modules/mbrtowc (Depends-on): Add verify.
71633         Suggested by Paul Eggert.
71635 2008-12-18  Bruno Haible  <bruno@clisp.org>
71637         * modules/mbsinit-tests: New file.
71638         * tests/test-mbsinit.sh: New file.
71639         * tests/test-mbsinit.c: New file.
71641 2008-12-18  Bruno Haible  <bruno@clisp.org>
71643         * modules/mbrtowc-tests: New file.
71644         * tests/test-mbrtowc1.sh: New file.
71645         * tests/test-mbrtowc2.sh: New file.
71646         * tests/test-mbrtowc3.sh: New file.
71647         * tests/test-mbrtowc4.sh: New file.
71648         * tests/test-mbrtowc.c: New file.
71650         New module 'mbrtowc'.
71651         * lib/wchar.in.h (mbstate_t): Override when the system does not have
71652         mbsinit and mbrtowc.
71653         (mbrtowc): New declaration.
71654         * lib/mbrtowc.c: New file.
71655         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
71656         * modules/mbrtowc: New file.
71657         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
71658         HAVE_MBRTOWC.
71659         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
71660         HAVE_MBRTOWC.
71661         * doc/posix-functions/mbrtowc.texi: Document the new module.
71663 2008-12-18  Bruno Haible  <bruno@clisp.org>
71665         New module 'wctob'.
71666         * lib/wchar.in.h (wctob): New declaration.
71667         * lib/wctob.c: New file.
71668         * m4/wctob.m4: New file.
71669         * modules/wctob: New file.
71670         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
71671         HAVE_WCTOB.
71672         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
71673         * doc/posix-functions/wctob.texi: Document the new module.
71675 2008-12-18  Bruno Haible  <bruno@clisp.org>
71677         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
71678         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
71680 2008-12-18  Simon Josefsson  <simon@josefsson.org>
71682         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
71683         G. Christensen" <tgc@jupiterrise.com>.
71685         * lib/flock.c: Need to include errno.h.  Reported by "Tom
71686         G. Christensen" <tgc@jupiterrise.com>.
71688         * lib/flock.c: Need to include string.h.  Reported by "Tom
71689         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
71690         <ebb9@byu.net>.
71692 2008-12-18  Bruno Haible  <bruno@clisp.org>
71694         * m4/locale-ja.m4: New file, from GNU gettext.
71696 2008-12-17  Bruno Haible  <bruno@clisp.org>
71698         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
71699         Suggested by Eric Blake.
71701 2008-12-17  Bruno Haible  <bruno@clisp.org>
71703         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
71705 2008-12-17  Bruno Haible  <bruno@clisp.org>
71707         * lib/mbsinit.c: Include verify.h. Verify an assumption.
71708         * modules/mbsinit (Depends-on): Add verify.
71709         Suggested by Paul Eggert.
71711 2008-12-17  Bruno Haible  <bruno@clisp.org>
71713         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
71714         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
71715         gl_FUNC_MBRTOWC.
71716         * m4/mbiter.m4 (gl_MBITER): LIkewise.
71717         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
71718         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
71719         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
71720         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
71721         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
71722         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
71723         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
71724         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
71725         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
71726         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
71727         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
71728         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
71729         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
71730         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
71731         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71732         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
71733         * modules/trim (configure.ac): Likewise.
71735 2008-12-17  Bruno Haible  <bruno@clisp.org>
71737         * modules/btowc-tests: New file.
71738         * tests/test-btowc1.sh: New file.
71739         * tests/test-btowc2.sh: New file.
71740         * tests/test-btowc.c: New file.
71742         New module 'btowc'.
71743         * lib/wchar.in.h (btowc): New declaration.
71744         * lib/btowc.c: New file.
71745         * m4/btowc.m4: New file.
71746         * modules/btowc: New file.
71747         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
71748         HAVE_BTOWC.
71749         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
71750         * doc/posix-functions/btowc.texi: Document the new module.
71752 2008-12-17  Bruno Haible  <bruno@clisp.org>
71754         New module 'mbsinit'.
71755         * lib/wchar.in.h (mbsinit): New declaration.
71756         * lib/mbsinit.c: New file.
71757         * m4/mbsinit.m4: New file.
71758         * modules/mbsinit: New file.
71759         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
71760         HAVE_MBSINIT.
71761         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
71762         HAVE_MBSINIT.
71763         * doc/posix-functions/mbsinit.texi: Document the new module.
71765 2008-12-16  Bruno Haible  <bruno@clisp.org>
71767         * lib/unistd.in.h: Add comment.
71768         * tests/test-environ.c: Don't include <stdlib.h>.
71770 2008-12-16  Bruno Haible  <bruno@clisp.org>
71772         * lib/parse-duration.h (parse_duration): Document return value
71773         convention.
71774         * lib/parse-duration.c: Include specification header first. Add
71775         comments.
71776         (_): Remove macro.
71777         (parse_year_month_day, parse_hour_minute_second): Move side effects
71778         outside of strchr call.
71779         (parse_non_iso8601): Move side effects outside of isspace call.
71780         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
71781         call.
71783 2008-12-16  Bruno Haible  <bruno@clisp.org>
71785         * tests/test-parse-duration.sh: Produce no output when the test
71786         succeeds.
71788 2008-12-16  Bruno Haible  <bruno@clisp.org>
71790         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
71791         expressions.
71793 2008-12-15  Bruno Haible  <bruno@clisp.org>
71795         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
71796         * doc/glibc-functions/flistxattr.texi: Likewise.
71797         * doc/glibc-functions/fopencookie.texi: Likewise.
71798         * doc/glibc-functions/fremovexattr.texi: Likewise.
71799         * doc/glibc-functions/fsetxattr.texi: Likewise.
71800         * doc/glibc-functions/getxattr.texi: Likewise.
71801         * doc/glibc-functions/lgetxattr.texi: Likewise.
71802         * doc/glibc-functions/listxattr.texi: Likewise.
71803         * doc/glibc-functions/llistxattr.texi: Likewise.
71804         * doc/glibc-functions/lremovexattr.texi: Likewise.
71805         * doc/glibc-functions/lsetxattr.texi: Likewise.
71806         * doc/glibc-functions/removexattr.texi: Likewise.
71807         * doc/glibc-functions/setxattr.texi: Likewise.
71808         * doc/posix-functions/open_memstream.texi: Likewise.
71810 2008-12-15  Eric Blake  <ebb9@byu.net>
71812         Update doc for cygwin 1.7.
71813         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
71814         functions.
71815         * doc/posix-functions/fchmodat.texi: Likewise.
71816         * doc/posix-functions/fchownat.texi: Likewise.
71817         * doc/posix-functions/fdopendir.texi: Likewise.
71818         * doc/posix-functions/fmemopen.texi: Likewise.
71819         * doc/posix-functions/freeaddrinfo.texi: Likewise.
71820         * doc/posix-functions/fstatat.texi: Likewise.
71821         * doc/posix-functions/futimens.texi: Likewise.
71822         * doc/posix-functions/gai_strerror.texi: Likewise.
71823         * doc/posix-functions/getaddrinfo.texi: Likewise.
71824         * doc/posix-functions/getnameinfo.texi: Likewise.
71825         * doc/posix-functions/if_freenameindex.texi: Likewise.
71826         * doc/posix-functions/if_indextoname.texi: Likewise.
71827         * doc/posix-functions/if_nameindex.texi: Likewise.
71828         * doc/posix-functions/if_nametoindex.texi: Likewise.
71829         * doc/posix-functions/insque.texi: Likewise.
71830         * doc/posix-functions/linkat.texi: Likewise.
71831         * doc/posix-functions/llrint.texi: Likewise.
71832         * doc/posix-functions/llrintf.texi: Likewise.
71833         * doc/posix-functions/llrintl.texi: Likewise.
71834         * doc/posix-functions/lockf.texi: Likewise.
71835         * doc/posix-functions/lrintl.texi: Likewise.
71836         * doc/posix-functions/mkdirat.texi: Likewise.
71837         * doc/posix-functions/mkfifoat.texi: Likewise.
71838         * doc/posix-functions/mknodat.texi: Likewise.
71839         * doc/posix-functions/mq_close.texi: Likewise.
71840         * doc/posix-functions/mq_getattr.texi: Likewise.
71841         * doc/posix-functions/mq_notify.texi: Likewise.
71842         * doc/posix-functions/mq_open.texi: Likewise.
71843         * doc/posix-functions/mq_receive.texi: Likewise.
71844         * doc/posix-functions/mq_send.texi: Likewise.
71845         * doc/posix-functions/mq_setattr.texi: Likewise.
71846         * doc/posix-functions/mq_timedreceive.texi: Likewise.
71847         * doc/posix-functions/mq_timedsend.texi: Likewise.
71848         * doc/posix-functions/mq_unlink.texi: Likewise.
71849         * doc/posix-functions/open_memstream.texi: Likewise.
71850         * doc/posix-functions/openat.texi: Likewise.
71851         * doc/posix-functions/posix_fadvise.texi: Likewise.
71852         * doc/posix-functions/posix_fallocate.texi: Likewise.
71853         * doc/posix-functions/posix_madvise.texi: Likewise.
71854         * doc/posix-functions/posix_memalign.texi: Likewise.
71855         * doc/posix-functions/posix_openpt.texi: Likewise.
71856         * doc/posix-functions/readlinkat.texi: Likewise.
71857         * doc/posix-functions/remque.texi: Likewise.
71858         * doc/posix-functions/renameat.texi: Likewise.
71859         * doc/posix-functions/rintl.texi: Likewise.
71860         * doc/posix-functions/sem_unlink.texi: Likewise.
71861         * doc/posix-functions/shm_open.texi: Likewise.
71862         * doc/posix-functions/shm_unlink.texi: Likewise.
71863         * doc/posix-functions/signgam.texi: Likewise.
71864         * doc/posix-functions/sigset.texi: Likewise.
71865         * doc/posix-functions/stpcpy.texi: Likewise.
71866         * doc/posix-functions/stpncpy.texi: Likewise.
71867         * doc/posix-functions/strerror.texi: Likewise.
71868         * doc/posix-functions/strtod.texi: Likewise.
71869         * doc/posix-functions/symlinkat.texi: Likewise.
71870         * doc/posix-functions/unlinkat.texi: Likewise.
71871         * doc/posix-functions/utimensat.texi: Likewise.
71872         * doc/glibc-functions/bindresvport.texi: Likewise.
71873         * doc/glibc-functions/dn_expand.texi: Likewise.
71874         * doc/glibc-functions/exp10.texi: Likewise.
71875         * doc/glibc-functions/exp10f.texi: Likewise.
71876         * doc/glibc-functions/fgetxattr.texi: Likewise.
71877         * doc/glibc-functions/flistxattr.texi: Likewise.
71878         * doc/glibc-functions/fopencookie.texi: Likewise.
71879         * doc/glibc-functions/freeifaddrs.texi: Likewise.
71880         * doc/glibc-functions/fremovexattr.texi: Likewise.
71881         * doc/glibc-functions/fsetxattr.texi: Likewise.
71882         * doc/glibc-functions/getifaddrs.texi: Likewise.
71883         * doc/glibc-functions/getxattr.texi: Likewise.
71884         * doc/glibc-functions/lgetxattr.texi: Likewise.
71885         * doc/glibc-functions/listxattr.texi: Likewise.
71886         * doc/glibc-functions/llistxattr.texi: Likewise.
71887         * doc/glibc-functions/lremovexattr.texi: Likewise.
71888         * doc/glibc-functions/lsetxattr.texi: Likewise.
71889         * doc/glibc-functions/pow10.texi: Likewise.
71890         * doc/glibc-functions/pow10f.texi: Likewise.
71891         * doc/glibc-functions/rcmd_af.texi: Likewise.
71892         * doc/glibc-functions/removexattr.texi: Likewise.
71893         * doc/glibc-functions/res_init.texi: Likewise.
71894         * doc/glibc-functions/res_mkquery.texi: Likewise.
71895         * doc/glibc-functions/res_query.texi: Likewise.
71896         * doc/glibc-functions/res_querydomain.texi: Likewise.
71897         * doc/glibc-functions/res_send.texi: Likewise.
71898         * doc/glibc-functions/rresvport_af.texi: Likewise.
71899         * doc/glibc-functions/setxattr.texi: Likewise.
71900         * doc/glibc-functions/strcasestr.texi: Likewise.
71902 2008-12-15  Bruno Haible  <bruno@clisp.org>
71904         Fix compilation error on OSF/1 4.0.
71905         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
71906         <sys/time.h>, simply delegate to the system header.
71907         Reported by Daniel Richard G. <oss@teragram.com>.
71909 2008-12-15  Bruno Haible  <bruno@clisp.org>
71911         * doc/posix-functions/openat.texi: Mention the 'openat' module.
71912         * doc/posix-functions/fchmodat.texi: Likewise.
71913         * doc/posix-functions/fchownat.texi: Likewise.
71914         * doc/posix-functions/fdopendir.texi: Likewise.
71915         * doc/posix-functions/fstatat.texi: Likewise.
71916         * doc/posix-functions/mkdirat.texi: Likewise.
71917         * doc/posix-functions/unlinkat.texi: Likewise.
71919 2008-12-14  Bruno Haible  <bruno@clisp.org>
71921         Update doc for POSIX:2008.
71922         * doc/posix-functions/faccessat.texi: New file.
71923         * doc/posix-functions/fchmodat.texi: New file.
71924         * doc/posix-functions/fchownat.texi: New file.
71925         * doc/posix-functions/fdopendir.texi: New file.
71926         * doc/posix-functions/fstatat.texi: New file.
71927         * doc/posix-functions/futimens.texi: New file.
71928         * doc/posix-functions/linkat.texi: New file.
71929         * doc/posix-functions/mkdirat.texi: New file.
71930         * doc/posix-functions/mkfifoat.texi: New file.
71931         * doc/posix-functions/mknodat.texi: New file.
71932         * doc/posix-functions/open_wmemstream.texi: New file.
71933         * doc/posix-functions/openat.texi: New file.
71934         * doc/posix-functions/psiginfo.texi: New file.
71935         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
71936         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
71937         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
71938         * doc/posix-functions/readlinkat.texi: New file.
71939         * doc/posix-functions/renameat.texi: New file.
71940         * doc/posix-functions/strerror_l.texi: New file.
71941         * doc/posix-functions/symlinkat.texi: New file.
71942         * doc/posix-functions/unlinkat.texi: New file.
71943         * doc/posix-functions/utimensat.texi: New file.
71944         * doc/gnulib.texi (Function Substitutes): Add these subsections.
71946 2008-12-14  Bruno Haible  <bruno@clisp.org>
71948         Update doc for POSIX:2008.
71949         * doc/posix-functions/alphasort.texi: Renamed from
71950         doc/glibc-functions/alphasort.texi.
71951         * doc/posix-functions/dirfd.texi: Renamed from
71952         doc/glibc-functions/dirfd.texi.
71953         * doc/posix-functions/dprintf.texi: Renamed from
71954         doc/glibc-functions/dprintf.texi.
71955         * doc/posix-functions/duplocale.texi: Renamed from
71956         doc/glibc-functions/duplocale.texi.
71957         * doc/posix-functions/fexecve.texi: Renamed from
71958         doc/glibc-functions/fexecve.texi.
71959         * doc/posix-functions/fmemopen.texi: Renamed from
71960         doc/glibc-functions/fmemopen.texi.
71961         * doc/posix-functions/freelocale.texi: Renamed from
71962         doc/glibc-functions/freelocale.texi.
71963         * doc/posix-functions/getdate_err.texi: Renamed from
71964         doc/glibc-functions/getdate_err.texi.
71965         * doc/posix-functions/isalnum_l.texi: Renamed from
71966         doc/glibc-functions/isalnum_l.texi.
71967         * doc/posix-functions/isalpha_l.texi: Renamed from
71968         doc/glibc-functions/isalpha_l.texi.
71969         * doc/posix-functions/isblank_l.texi: Renamed from
71970         doc/glibc-functions/isblank_l.texi.
71971         * doc/posix-functions/iscntrl_l.texi: Renamed from
71972         doc/glibc-functions/iscntrl_l.texi.
71973         * doc/posix-functions/isdigit_l.texi: Renamed from
71974         doc/glibc-functions/isdigit_l.texi.
71975         * doc/posix-functions/isgraph_l.texi: Renamed from
71976         doc/glibc-functions/isgraph_l.texi.
71977         * doc/posix-functions/islower_l.texi: Renamed from
71978         doc/glibc-functions/islower_l.texi.
71979         * doc/posix-functions/isprint_l.texi: Renamed from
71980         doc/glibc-functions/isprint_l.texi.
71981         * doc/posix-functions/ispunct_l.texi: Renamed from
71982         doc/glibc-functions/ispunct_l.texi.
71983         * doc/posix-functions/isspace_l.texi: Renamed from
71984         doc/glibc-functions/isspace_l.texi.
71985         * doc/posix-functions/isupper_l.texi: Renamed from
71986         doc/glibc-functions/isupper_l.texi.
71987         * doc/posix-functions/iswalnum_l.texi: Renamed from
71988         doc/glibc-functions/iswalnum_l.texi.
71989         * doc/posix-functions/iswalpha_l.texi: Renamed from
71990         doc/glibc-functions/iswalpha_l.texi.
71991         * doc/posix-functions/iswblank_l.texi: Renamed from
71992         doc/glibc-functions/iswblank_l.texi.
71993         * doc/posix-functions/iswcntrl_l.texi: Renamed from
71994         doc/glibc-functions/iswcntrl_l.texi.
71995         * doc/posix-functions/iswctype_l.texi: Renamed from
71996         doc/glibc-functions/iswctype_l.texi.
71997         * doc/posix-functions/iswdigit_l.texi: Renamed from
71998         doc/glibc-functions/iswdigit_l.texi.
71999         * doc/posix-functions/iswgraph_l.texi: Renamed from
72000         doc/glibc-functions/iswgraph_l.texi.
72001         * doc/posix-functions/iswlower_l.texi: Renamed from
72002         doc/glibc-functions/iswlower_l.texi.
72003         * doc/posix-functions/iswprint_l.texi: Renamed from
72004         doc/glibc-functions/iswprint_l.texi.
72005         * doc/posix-functions/iswpunct_l.texi: Renamed from
72006         doc/glibc-functions/iswpunct_l.texi.
72007         * doc/posix-functions/iswspace_l.texi: Renamed from
72008         doc/glibc-functions/iswspace_l.texi.
72009         * doc/posix-functions/iswupper_l.texi: Renamed from
72010         doc/glibc-functions/iswupper_l.texi.
72011         * doc/posix-functions/iswxdigit_l.texi: Renamed from
72012         doc/glibc-functions/iswxdigit_l.texi.
72013         * doc/posix-functions/isxdigit_l.texi: Renamed from
72014         doc/glibc-functions/isxdigit_l.texi.
72015         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
72016         doc/glibc-functions/mbsnrtowcs.texi.
72017         * doc/posix-functions/mkdtemp.texi: Renamed from
72018         doc/glibc-functions/mkdtemp.texi.
72019         * doc/posix-functions/newlocale.texi: Renamed from
72020         doc/glibc-functions/newlocale.texi.
72021         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
72022         doc/glibc-functions/nl_langinfo_l.texi.
72023         * doc/posix-functions/open_memstream.texi: Renamed from
72024         doc/glibc-functions/open_memstream.texi.
72025         * doc/posix-functions/opterr.texi: Renamed from
72026         doc/glibc-functions/opterr.texi.
72027         * doc/posix-functions/optind.texi: Renamed from
72028         doc/glibc-functions/optind.texi.
72029         * doc/posix-functions/optopt.texi: Renamed from
72030         doc/glibc-functions/optopt.texi.
72031         * doc/posix-functions/psignal.texi: Renamed from
72032         doc/glibc-functions/psignal.texi.
72033         * doc/posix-functions/scandir.texi: Renamed from
72034         doc/glibc-functions/scandir.texi.
72035         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
72036         doc/glibc-functions/sched_get_priority_min.texi.
72037         * doc/posix-functions/signgam.texi: Renamed from
72038         doc/glibc-functions/signgam.texi.
72039         * doc/posix-functions/stpcpy.texi: Renamed from
72040         doc/glibc-functions/stpcpy.texi.
72041         * doc/posix-functions/stpncpy.texi: Renamed from
72042         doc/glibc-functions/stpncpy.texi.
72043         * doc/posix-functions/strcasecmp_l.texi: Renamed from
72044         doc/glibc-functions/strcasecmp_l.texi.
72045         * doc/posix-functions/strcoll_l.texi: Renamed from
72046         doc/glibc-functions/strcoll_l.texi.
72047         * doc/posix-functions/strfmon_l.texi: Renamed from
72048         doc/glibc-functions/strfmon_l.texi.
72049         * doc/posix-functions/strftime_l.texi: Renamed from
72050         doc/glibc-functions/strftime_l.texi.
72051         * doc/posix-functions/strncasecmp_l.texi: Renamed from
72052         doc/glibc-functions/strncasecmp_l.texi.
72053         * doc/posix-functions/strndup.texi: Renamed from
72054         doc/glibc-functions/strndup.texi.
72055         * doc/posix-functions/strnlen.texi: Renamed from
72056         doc/glibc-functions/strnlen.texi.
72057         * doc/posix-functions/strsignal.texi: Renamed from
72058         doc/glibc-functions/strsignal.texi.
72059         * doc/posix-functions/strxfrm_l.texi: Renamed from
72060         doc/glibc-functions/strxfrm_l.texi.
72061         * doc/posix-functions/timer_gettime.texi: Renamed from
72062         doc/glibc-functions/timer_gettime.texi.
72063         * doc/posix-functions/tolower_l.texi: Renamed from
72064         doc/glibc-functions/tolower_l.texi.
72065         * doc/posix-functions/toupper_l.texi: Renamed from
72066         doc/glibc-functions/toupper_l.texi.
72067         * doc/posix-functions/towctrans_l.texi: Renamed from
72068         doc/glibc-functions/towctrans_l.texi.
72069         * doc/posix-functions/towlower_l.texi: Renamed from
72070         doc/glibc-functions/towlower_l.texi.
72071         * doc/posix-functions/towupper_l.texi: Renamed from
72072         doc/glibc-functions/towupper_l.texi.
72073         * doc/posix-functions/uselocale.texi: Renamed from
72074         doc/glibc-functions/uselocale.texi.
72075         * doc/posix-functions/vdprintf.texi: Renamed from
72076         doc/glibc-functions/vdprintf.texi.
72077         * doc/posix-functions/wcpcpy.texi:
72078         Renamed from doc/glibc-functions/wcpcpy.texi.
72079         * doc/posix-functions/wcpncpy.texi: Renamed from
72080         doc/glibc-functions/wcpncpy.texi.
72081         * doc/posix-functions/wcscasecmp.texi: Renamed from
72082         doc/glibc-functions/wcscasecmp.texi.
72083         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
72084         doc/glibc-functions/wcscasecmp_l.texi.
72085         * doc/posix-functions/wcscoll_l.texi: Renamed from
72086         doc/glibc-functions/wcscoll_l.texi.
72087         * doc/posix-functions/wcsdup.texi: Renamed from
72088         doc/glibc-functions/wcsdup.texi.
72089         * doc/posix-functions/wcsncasecmp.texi: Renamed from
72090         doc/glibc-functions/wcsncasecmp.texi.
72091         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
72092         doc/glibc-functions/wcsncasecmp_l.texi.
72093         * doc/posix-functions/wcsnlen.texi: Renamed from
72094         doc/glibc-functions/wcsnlen.texi.
72095         * doc/posix-functions/wcsnrtombs.texi: Renamed from
72096         doc/glibc-functions/wcsnrtombs.texi.
72097         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
72098         doc/glibc-functions/wcsxfrm_l.texi.
72099         * doc/posix-functions/wctrans_l.texi: Renamed from
72100         doc/glibc-functions/wctrans_l.texi.
72101         * doc/posix-functions/wctype_l.texi: Renamed from
72102         doc/glibc-functions/wctype_l.texi.
72103         * doc/gnulib.texi (Function Substitutes): Add these subsections.
72104         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
72105         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
72106         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
72107         these subsections.
72108         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
72109         Remove sections.
72111 2008-12-14  Bruno Haible  <bruno@clisp.org>
72113         Update doc for POSIX:2008.
72114         * doc/posix-functions/*.texi: Update URL of POSIX specification.
72116 2008-12-14  Bruno Haible  <bruno@clisp.org>
72118         Update doc for POSIX:2008.
72119         * doc/pastposix-functions/bcmp.texi: Renamed from
72120         doc/posix-functions/bcmp.texi.
72121         * doc/pastposix-functions/bcopy.texi: Renamed from
72122         doc/posix-functions/bcopy.texi.
72123         * doc/pastposix-functions/bsd_signal.texi: Renamed from
72124         doc/posix-functions/bsd_signal.texi.
72125         * doc/pastposix-functions/bzero.texi: Renamed from
72126         doc/posix-functions/bzero.texi.
72127         * doc/pastposix-functions/ecvt.texi: Renamed from
72128         doc/posix-functions/ecvt.texi.
72129         * doc/pastposix-functions/fcvt.texi: Renamed from
72130         doc/posix-functions/fcvt.texi.
72131         * doc/pastposix-functions/ftime.texi: Renamed from
72132         doc/posix-functions/ftime.texi.
72133         * doc/pastposix-functions/gcvt.texi: Renamed from
72134         doc/posix-functions/gcvt.texi.
72135         * doc/pastposix-functions/getcontext.texi: Renamed from
72136         doc/posix-functions/getcontext.texi.
72137         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
72138         doc/posix-functions/gethostbyaddr.texi.
72139         * doc/pastposix-functions/gethostbyname.texi: Renamed from
72140         doc/posix-functions/gethostbyname.texi.
72141         * doc/pastposix-functions/getwd.texi: Renamed from
72142         doc/posix-functions/getwd.texi.
72143         * doc/pastposix-functions/h_errno.texi: Renamed from
72144         doc/posix-functions/h_errno.texi.
72145         * doc/pastposix-functions/index.texi: Renamed from
72146         doc/posix-functions/index.texi.
72147         * doc/pastposix-functions/makecontext.texi: Renamed from
72148         doc/posix-functions/makecontext.texi.
72149         * doc/pastposix-functions/mktemp.texi: Renamed from
72150         doc/posix-functions/mktemp.texi.
72151         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
72152         doc/posix-functions/pthread_attr_getstackaddr.texi.
72153         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
72154         doc/posix-functions/pthread_attr_setstackaddr.texi.
72155         * doc/pastposix-functions/rindex.texi: Renamed from
72156         doc/posix-functions/rindex.texi.
72157         * doc/pastposix-functions/scalb.texi: Renamed from
72158         doc/posix-functions/scalb.texi.
72159         * doc/pastposix-functions/setcontext.texi: Renamed from
72160         doc/posix-functions/setcontext.texi.
72161         * doc/pastposix-functions/swapcontext.texi: Renamed from
72162         doc/posix-functions/swapcontext.texi.
72163         * doc/pastposix-functions/ualarm.texi: Renamed from
72164         doc/posix-functions/ualarm.texi.
72165         * doc/pastposix-functions/usleep.texi: Renamed from
72166         doc/posix-functions/usleep.texi.
72167         * doc/pastposix-functions/vfork.texi: Renamed from
72168         doc/posix-functions/vfork.texi.
72169         * doc/pastposix-functions/wcswcs.texi: Renamed from
72170         doc/posix-functions/wcswcs.texi.
72171         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
72172         (Function Substitutes): Update.
72174 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72176         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
72177         m4/strerror.m4.
72179 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72180             Bruno Haible  <bruno@clisp.org>
72182         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
72184 2008-12-13  Bruno Haible  <bruno@clisp.org>
72186         * modules/strtoull (Depends-on): Remove unistd.
72188 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72190         * modules/strtoull (Depends-on): Add stdlib.
72192 2008-12-11  Simon Josefsson  <simon@josefsson.org>
72194         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
72196 2008-12-10  Jim Meyering  <meyering@redhat.com>
72198         gl_ASSERT: don't say assertions are disabled when they're not
72199         * m4/assert.m4 (gl_ASSERT): Do not make configure report
72200         "checking whether to enable assertions... no", when they are in
72201         fact enabled.  This is solely a bug in the output of configure.
72202         In spite of saying "no", NDEBUG was not defined in that case.
72203         Also, as noted by Eric Blake, leave assertions enabled upon
72204         --enable-assert=INVALID.
72206 2008-12-10  Bruno Haible  <bruno@clisp.org>
72208         Change MODULES.html to refer to POSIX:2008 where possible.
72209         * MODULES.html.sh (POSIX2008_URL): New variable.
72210         (posix_headers): Remove sys/timeb, ucontext.
72211         (posix2001_headers): New variable.
72212         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
72213         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
72214         index, makecontext, mktemp, pthread_attr_getstackaddr,
72215         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
72216         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
72217         (posix2001_functions): New variable.
72218         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
72219         otherwise.
72221 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72223         add missing include to parse-duration.c
72224         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
72225         * modules/parse-duration (Depends-on): Add xalloc.
72227         fix sed script reading maint.mk
72228         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
72229         (syntax-check-rules): Use it.
72231 2008-12-09  Bruno Haible  <bruno@clisp.org>
72233         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
72234         MacOS X 10.4/PowerPC.
72235         Reported by Simon Josefsson.
72237 2008-12-08  Jim Meyering  <meyering@redhat.com>
72239         work around mingw's lack of some S_IF definitions
72240         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
72241         Reported by Simon Josefsson.
72243 2008-12-08  Bruno Haible  <bruno@clisp.org>
72245         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
72246         applied to variables. Needed on MacOS X 10.4/PowerPC.
72247         Reported by Simon Josefsson.
72249 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
72250         and Eric Blake  <ebb9@byu.net>
72252         assert: honor --enable-assert
72253         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
72254         order to honor --enable-assert, rather than treating it as a
72255         synonym for --disable-assert.
72257 2008-12-08  Jim Meyering  <meyering@redhat.com>
72259         * lib/posixtm.c: Remove now-useless declaration of mktime.
72261         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
72263 2008-12-07  Bruno Haible  <bruno@clisp.org>
72265         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
72266         test_once): Mark functions as static.
72267         * tests/test-tls.c (test_tls): Likewise.
72269 2008-12-07  Bruno Haible  <bruno@clisp.org>
72271         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
72272         iconv_register_autodetect.
72274 2008-12-07  Jim Meyering  <meyering@redhat.com>
72276         posixtm.c: avoid a warning
72277         * lib/posixtm.c (posixtime): Don't initialize tm0.
72278         It's no longer needed to placate gcc4's -Wuninitialized,
72279         and the attempt to placate would elicit a new warning.
72281         unicodeio.c: mark unused parameters
72282         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
72283         (fallback_failure_callback): Likewise.
72285 2008-12-07  Bruno Haible  <bruno@clisp.org>
72287         * gnulib-tool (func_create_testdir): When building the tests
72288         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
72289         Reported by Simon Josefsson.
72291 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72293         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
72295 2008-12-06  Bruno Haible  <bruno@clisp.org>
72297         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
72298         Suggested by Eric Blake.
72300 2008-12-06  Bruno Haible  <bruno@clisp.org>
72302         Fix a c-stack test failure on MacOS X.
72303         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
72304         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
72305         handler for SIGBUS as well.
72306         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
72307         install a signal handler for SIGBUS as well.
72308         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
72310 2008-12-06  Bruno Haible  <bruno@clisp.org>
72312         Advocacy documentation.
72313         * doc/gnulib-intro.texi (Benefits): New section.
72314         * doc/gnulib.texi: Update.
72316 2008-12-06  Bruno Haible  <bruno@clisp.org>
72318         Document the 'manywarnings' module.
72319         * doc/manywarnings.texi: New file.
72320         * doc/gnulib.texi: Include it.
72322 2008-12-05  Eric Blake  <ebb9@byu.net>
72324         tests: silence some gcc warnings
72325         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
72326         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
72327         type mismatches.
72329 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72330             Bruno Haible  <bruno@clisp.org>
72332         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
72334 2008-11-29  Jim Meyering  <meyering@redhat.com>
72336         unicodeio.c: mark unused parameters
72337         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
72338         (fallback_failure_callback): Likewise.
72340         fts: fix a thinko
72341         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
72342         (set_stat_type): Return S_IF*-valued "type" directly.
72343         Prompted by James Youngman's spotting a related bug.
72344         Confirmed by further testing through find.
72346         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
72347         * lib/fts.c (D_TYPE): Define.
72348         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
72349         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
72350         (s_ifmt_shift_bits): New function.
72351         (set_stat_type): New function.
72352         (fts_build): When not calling fts_stat, call set_stat_type
72353         to propagate dirent.d_type info to fts_read caller.
72354         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
72355         fts_statp->st_mode type information may be valid.
72357 2008-11-28  Simon Josefsson  <simon@josefsson.org>
72359         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
72360         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
72361         <sds@gnu.org>.
72363 2008-11-20  Bruno Haible  <bruno@clisp.org>
72365         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
72366         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
72367         INCLUDE_NEXT.
72368         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
72369         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
72370         * modules/math (Makefile.am): Substitute
72371         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
72372         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72374 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
72375             Bruno Haible  <bruno@clisp.org>
72377         * lib/stdint.in.h: Define all type macros so that their expansion is
72378         a single typedef'ed token. Fixes a compilation failure in Boost which
72379         does "using ::int8_t;".
72381 2008-11-18  Simon Josefsson  <simon@josefsson.org>
72383         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
72384         gl_MANYWARN_ALL_GCC.
72385         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
72386         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
72387         * modules/manywarnings: New file.
72388         * MODULES.html.sh: Mention manywarnings module.
72390 2008-11-18  Bruno Haible  <bruno@clisp.org>
72392         * doc/gnulib-tool.texi (Unit tests): New section.
72394 2008-11-18  Simon Josefsson  <simon@josefsson.org>
72396         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
72397         paths like 'lib/po/foo.po'.
72399 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72401         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
72402         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
72404 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72406         * m4/warnings.m4: Use CPPFLAGS to really check whether the
72407         parameter works.
72409 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72411         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
72413 2008-11-17  Bruce Korb  <bkorb@gnu.org>
72415         * modules/parse-duration-tests: New file.
72416         * tests/test-parse-duration.sh: New file.
72417         * tests/test-parse-duration.c: New file.
72419         New module 'parse-duration'.
72420         * lib/parse-duration.h: New file.
72421         * lib/parse-duration.c: New file.
72422         * modules/parse-duration: New file.
72424 2008-11-17  Bruno Haible  <bruno@clisp.org>
72426         * tests/test-select-out.sh: Comment out the first pipe test.
72427         Reported by Simon Josefsson.
72429 2008-11-17  Bruno Haible  <bruno@clisp.org>
72431         * modules/getaddrinfo (Depends-on): Add servent, hostent.
72432         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
72433         gl_HOSTENT.
72435 2008-11-17  Bruno Haible  <bruno@clisp.org>
72437         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
72438         -lnetwork and -lnet. Needed for Haiku and BeOS.
72440 2008-11-16  Bruno Haible  <bruno@clisp.org>
72442         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
72444 2008-11-16  Bruno Haible  <bruno@clisp.org>
72446         Avoid test failure on Haiku.
72447         * tests/test-fsync.c: Include <errno.h>.
72448         (main): Don't require that fsync (0) fails.
72450 2008-11-15  Bruno Haible  <bruno@clisp.org>
72452         New module 'hostent'.
72453         * modules/hostent: New file.
72454         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
72456 2008-11-15  Bruno Haible  <bruno@clisp.org>
72458         New module 'servent'.
72459         * modules/servent: New file.
72460         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
72462 2008-11-15  Bruno Haible  <bruno@clisp.org>
72464         Avoid generating same test program with two different rules.
72465         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
72466         test-frexp to test-frexp-nolibm.
72467         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
72468         test-frexpl to test-frexpl-nolibm.
72470 2008-11-15  Bruno Haible  <bruno@clisp.org>
72472         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
72473         $(FREXPL_LIBM).
72475 2008-11-15  Bruno Haible  <bruno@clisp.org>
72477         * lib/netdb.in.h: Activate the definitions also when the system's
72478         <netdb.h> has 'struct addrinfo'.
72479         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
72480         EAI_OVERFLOW or AI_NUMERICSERV.
72481         * doc/posix-headers/netdb.texi: Document the problem.
72483 2008-11-15  Bruno Haible  <bruno@clisp.org>
72485         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
72487         Make the 'sched' module work on platforms where <sched.h> exists but
72488         is incomplete (such as Haiku).
72489         * lib/sched.in.h; Include the system's <sched.h> if it exists.
72490         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
72491         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
72492         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
72493         HAVE_STRUCT_SCHED_PARAM.
72494         * modules/sched (Depends-on): Add include_next.
72495         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
72496         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
72497         * doc/posix-headers/sched.texi: Document the issue.
72499 2008-11-13  Jim Meyering  <meyering@redhat.com>
72501         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
72502         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
72503         test would fail due to the difference in the Report bugs to ...
72504         line.  The expected address is empty, "<>", while the actual
72505         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
72507 2008-11-12  Bruno Haible  <bruno@clisp.org>
72509         lstat: don't compile lstat.c on systems lacking lstat
72510         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
72511         which don't have lstat; this is handled by lib/sys_stat.in.h already.
72512         Reported by Daniel P. Berrange via Jim Meyering.
72514 2008-11-12  Jim Meyering  <meyering@redhat.com>
72516         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
72518 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72520         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
72521         instead.
72523 2008-11-12  Bruno Haible  <bruno@clisp.org>
72525         * lib/unicodeio.c: Include unistr.h.
72526         (utf8_wctomb): Remove function.
72527         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
72529 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72531         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
72532         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
72533         <bruno@clisp.org>.
72534         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
72536 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72538         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
72539         * doc/gnulib.texi: Add section for warnings.
72541 2008-11-11  Bruno Haible  <bruno@clisp.org>
72543         * lib/sockets.h: Add a comment.
72545 2008-11-11  Karl Berry  <karl@gnu.org>
72547         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
72549 2008-11-11  Eric Blake  <ebb9@byu.net>
72551         fdl.texi: avoid git symlinks
72552         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
72554 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72556         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
72558 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72560         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
72561         (gl_WARN_ADD): Substitute $2 if literal.
72563 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72565         * m4/warning.m4: Remove.
72567 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72569         * m4/warnings.m4: Almost complete rewrite. :-)
72571 2008-11-10  Simon Josefsson  <simon@josefsson.org>
72573         * modules/warnings: New module.
72574         * m4/warnings.m4: New file.
72575         * MODULES.html.sh: Mention warnings module.
72576         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
72577         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72579 2008-11-10  Eric Blake  <ebb9@byu.net>
72581         fdl.texi: make a symlink to the latest version
72582         * doc/standards.texi: Revert today's earlier change.
72583         * doc/fdl-1.2.texi: Rename from old fdl.texi...
72584         * doc/fdl.texi: ...and replace this with a symlink to the newer
72585         fdl-1.3.texi.
72587 2008-11-10  Bruno Haible  <bruno@clisp.org>
72589         * tests/test-select-fd.c (main): Accept the result file name as fourth
72590         argument.
72591         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
72592         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
72594 2008-11-10  Bruno Haible  <bruno@clisp.org>
72596         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
72597         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
72598         as autoconf-substituted macros.
72599         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
72600         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
72601         gl_NETDB_H_DEFAULTS. Set these variables.
72602         * modules/netdb (Makefile.am): Substitute these variables.
72604 2008-11-10  Eric Blake  <ebb9@byu.net>
72606         standards.texi: include correct file for FDL 1.3
72607         * doc/standards.texi (GNU Free Documentation License): Change
72608         include file to pull in FDL 1.3, not 1.2.
72610         fdl.texi: revert accidental change to license
72611         * doc/fdl.texi: This is FDL 1.2, not 1.3.
72613 2008-11-10  Bruno Haible  <bruno@clisp.org>
72615         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
72616         cross-compiling guesses also when the native compile gives no result.
72618 2008-11-10  Bruno Haible  <bruno@clisp.org>
72620         * lib/spawni.c (__spawni): Force variable into the stack.
72622 2008-11-10  Bruno Haible  <bruno@clisp.org>
72624         Add support for Haiku.
72625         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
72626         glibc and BeOS, but also on Haiku.
72627         * lib/fpurge.c (fpurge): Likewise.
72628         * lib/freadable.c (freadable): Likewise.
72629         * lib/freadahead.c (freadahead): Likewise.
72630         * lib/freading.c (freading): Likewise.
72631         * lib/freadptr.c (freadptr): Likewise.
72632         * lib/freadseek.c (freadptrinc): Likewise.
72633         * lib/fseeko.c (rpl_fseeko): Likewise.
72634         * lib/fseterr.c (fseterr): Likewise.
72635         * lib/fwritable.c (fwritable): Likewise.
72636         * lib/fwriting.c (fwriting): Likewise.
72637         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
72639 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
72641         * lib/config.charset: Treat Haiku like BeOS.
72643 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
72645         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
72646         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
72648 2008-11-08  Bruno Haible  <bruno@clisp.org>
72650         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
72651         AC_CACHE_CHECK.
72653 2008-11-08  Bruno Haible  <bruno@clisp.org>
72655         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
72657 2008-11-08  Bruno Haible  <bruno@clisp.org>
72659         * tests/test-select-fd.c: New file.
72660         * tests/test-select-in.sh: New file.
72661         * tests/test-select-out.sh: New file.
72662         * tests/test-select-stdin.c: New file.
72663         * modules/select-tests (Files): Add the new files.
72664         (Depends-on): Add gettimeofday.
72665         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
72666         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
72667         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
72669 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
72670             Bruno Haible  <bruno@clisp.org>
72672         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
72674 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
72676         * build-aux/pmccabe2html: Added support for C++ source files.
72678 2008-11-05  Ben Pfaff  <blp@gnu.org>
72680         Fix lib/close.c build on Windows.
72681         * modules/close (Files): Add lib/w32sock.h.
72683 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
72685         Accept Bison's NEWS format.
72686         * build-aux/announce-gen (print_news_deltas): Tweak
72687         $re_prefix.
72689 2008-11-04  Bruno Haible  <bruno@clisp.org>
72691         * modules/random_r (Maintainer): Add glibc.
72693 2008-11-04  Simon Josefsson  <simon@josefsson.org>
72695         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
72696         by karl@freefriends.org (Karl Berry).
72697         * doc/alloca.texi: Likewise.
72698         * doc/c-ctype.texi: Likewise.
72699         * doc/c-strcase.texi: Likewise.
72700         * doc/c-strcaseeq.texi: Likewise.
72701         * doc/c-strcasestr.texi: Likewise.
72702         * doc/c-strstr.texi: Likewise.
72703         * doc/c-strtod.texi: Likewise.
72704         * doc/c-strtold.texi: Likewise.
72705         * doc/ctime.texi: Likewise.
72706         * doc/error.texi: Likewise.
72707         * doc/fdl.texi: Likewise.
72708         * doc/gcd.texi: Likewise.
72709         * doc/getdate.texi: Likewise.
72710         * doc/gnulib-intro.texi: Likewise.
72711         * doc/gnulib-tool.texi: Likewise.
72712         * doc/gnulib.texi: Likewise.
72713         * doc/inet_ntoa.texi: Likewise.
72714         * doc/maintain.texi: Likewise.
72715         * doc/make-stds.texi: Likewise.
72716         * doc/quote.texi: Likewise.
72717         * doc/regexprops-generic.texi: Likewise.
72718         * doc/standards.texi: Likewise.
72719         * doc/verify.texi: Likewise.
72720         * doc/visibility.texi: Likewise.
72721         * doc/gnulib.texi (GNU Free Documentation License): Include
72722         fdl-1.3.texi instead of fdl.texi.
72724 2008-11-04  Simon Josefsson  <simon@josefsson.org>
72726         * doc/fdl-1.3.texi: New file, from
72727         <http://www.gnu.org/licenses/fdl-1.3.texi>.
72728         * modules/fdl-1.3: Add.
72729         * MODULES.html.sh: Add fdl-1.3.
72731 2008-11-03  Bruno Haible  <bruno@clisp.org>
72733         Make determination of absolute name of header file work with AIX xlc.
72734         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
72735         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
72736         preprocessing.
72737         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
72738         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
72740 2008-11-03  Simon Josefsson  <simon@josefsson.org>
72742         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
72743         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
72744         <ludo@gnu.org>.
72746 2008-11-02  Bruno Haible  <bruno@clisp.org>
72748         Mark 'strpbrk' obsolete.
72749         * modules/strpbrk (Status, Notice): New sections.
72750         * modules/strtok_r (Depends-on): Add strpbrk.
72752 2008-11-02  Bruno Haible  <bruno@clisp.org>
72754         Mark 'strdup' obsolete.
72755         * modules/strdup (Status, Notice): New sections.
72756         * modules/findprog (Depends-on): Add strdup.
72757         * modules/getaddrinfo (Depends-on): Likewise.
72758         * modules/localename (Depends-on): Likewise.
72759         * modules/relocatable-lib (Depends-on): Likewise.
72760         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
72761         * modules/relocatable-prog (Depends-on): Likewise.
72762         * modules/trim (Depends-on): Likewise.
72763         * modules/unictype/gen-ctype (Depends-on): Likewise.
72764         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
72766 2008-11-02  Bruno Haible  <bruno@clisp.org>
72768         Mark 'strcspn' obsolete.
72769         * modules/strcspn (Status, Notice): New sections.
72771 2008-11-02  Bruno Haible  <bruno@clisp.org>
72773         Mark 'rmdir' obsolete.
72774         * modules/rmdir (Status, Notice): New sections.
72775         * modules/clean-temp (Depends-on): Add rmdir.
72776         * modules/openat (Depends-on): Likewise.
72778 2008-11-02  Bruno Haible  <bruno@clisp.org>
72780         Mark 'raise' obsolete.
72781         * modules/raise (Status, Notice): New sections.
72782         (Include): Specify <signal.h>.
72783         * modules/stdio (Depends-on): Add raise.
72784         * modules/write (Depends-on): Likewise.
72786 2008-11-02  Bruno Haible  <bruno@clisp.org>
72788         Mark 'memset' obsolete.
72789         * modules/memset (Status, Notice): New sections.
72791 2008-11-02  Bruno Haible  <bruno@clisp.org>
72793         Mark 'memmove' obsolete.
72794         * modules/memmove (Status, Notice): New sections.
72795         * modules/argp (Depends-on): Add memmove.
72796         * modules/argz (Depends-on): Likewise.
72797         * modules/canonicalize (Depends-on): Likewise.
72798         * modules/canonicalize-lgpl (Depends-on): Likewise.
72799         * modules/fts (Depends-on): Likewise.
72800         * modules/getcwd (Depends-on): Likewise.
72801         * modules/human (Depends-on): Likewise.
72802         * modules/regex (Depends-on): Likewise.
72803         * modules/striconveh (Depends-on): Likewise.
72804         * modules/trim (Depends-on): Likewise.
72805         * modules/unistr/u8-move (Depends-on): Likewise.
72806         * modules/unistr/u16-move (Depends-on): Likewise.
72807         * modules/unistr/u32-move (Depends-on): Likewise.
72809 2008-11-02  Bruno Haible  <bruno@clisp.org>
72811         Mark 'memcpy' obsolete.
72812         * modules/memcpy (Status, Notice): New sections.
72814 2008-11-02  Bruno Haible  <bruno@clisp.org>
72816         Mark 'memcmp' obsolete.
72817         * modules/memcmp (Status, Notice): New sections.
72818         * modules/argmatch (Depends-on): Add memchr.
72819         * modules/backupfile (Depends-on): Likewise.
72820         * modules/c-strcasestr (Depends-on): Likewise.
72821         * modules/crypto/des (Depends-on): Likewise.
72822         * modules/csharpcomp (Depends-on): Likewise.
72823         * modules/fnmatch (Depends-on): Likewise.
72824         * modules/git-merge-changelog (Depends-on): Likewise.
72825         * modules/isnand (Depends-on): Likewise.
72826         * modules/isnand-nolibm (Depends-on): Likewise.
72827         * modules/isnanf (Depends-on): Likewise.
72828         * modules/isnanf-nolibm (Depends-on): Likewise.
72829         * modules/isnanl (Depends-on): Likewise.
72830         * modules/isnanl-nolibm (Depends-on): Likewise.
72831         * modules/mbchar (Depends-on): Likewise.
72832         * modules/memcoll (Depends-on): Likewise.
72833         * modules/quotearg (Depends-on): Likewise.
72834         * modules/regex (Depends-on): Likewise.
72835         * modules/relocatable-prog (Depends-on): Likewise.
72836         * modules/same (Depends-on): Likewise.
72837         * modules/signbit (Depends-on): Likewise.
72838         * modules/strcasestr-simple (Depends-on): Likewise.
72839         * modules/unictype/gen-ctype (Depends-on): Likewise.
72840         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
72841         * modules/uniname/uniname (Depends-on): Likewise.
72842         * modules/unistr/u8-cmp (Depends-on): Likewise.
72844 2008-11-02  Bruno Haible  <bruno@clisp.org>
72846         Mark 'memchr' obsolete.
72847         * modules/memchr (Status, Notice): New sections.
72848         * modules/argp (Depends-on): Add memchr.
72849         * modules/base64 (Depends-on): Likewise.
72850         * modules/c-strcasestr (Depends-on): Likewise.
72851         * modules/chdir-long (Depends-on): Likewise.
72852         * modules/fnmatch (Depends-on): Likewise.
72853         * modules/getsubopt (Depends-on): Likewise.
72854         * modules/git-merge-changelog (Depends-on): Likewise.
72855         * modules/glob (Depends-on): Likewise.
72856         * modules/strcasestr-simple (Depends-on): Likewise.
72857         * modules/strnlen (Depends-on): Likewise.
72859 2008-11-02  Bruno Haible  <bruno@clisp.org>
72861         Mark 'atexit' obsolete.
72862         * modules/atexit (Status, Notice): New sections.
72863         * modules/chdir-long (Depends-on): Add atexit.
72864         * modules/wait-process (Depends-on): Likewise.
72866 2008-11-02  Bruno Haible  <bruno@clisp.org>
72868         * gnulib-tool: New option --with-obsolete.
72869         (func_usage): Document it.
72870         (func_modules_transitive_closure): Drop obsolete dependencies if
72871         incobsolete is not true.
72872         (func_import): Read and save the incobsolete variable to the cache.
72874 2008-11-02  Bruno Haible  <bruno@clisp.org>
72876         * modules/TEMPLATE-EXTENDED: New field 'Status'.
72877         * gnulib-tool: New option --extract-status.
72878         (func_usage): Document it.
72879         (sed_extract_prog): Recognize it.
72880         (func_get_status): New function.
72882 2008-10-30  Simon Josefsson  <simon@josefsson.org>
72884         * modules/sockets (License): Change from LGPL to LGPLv2+.
72886 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72888         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
72890 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72892         * MODULES.html.sh (Support for systems lacking POSIX:2001):
72893         Mention times and sys_times.
72894         * modules/sys_times, modules/sys_times-tests: New modules.
72895         * modules/times, modules/times-tests: Likewise
72896         * m4/sys_times_h.m4: New file.
72897         * lib/sys_times.in.h: Likewise
72898         * lib/times.c: Likewise.
72899         * tests/test-sys_times.c: Likewise.
72900         * tests/test-times.c: Likewise.
72901         * doc/posix-headers/sys_times.texi: Update.
72902         * doc/posix-functions/times.texi: Update.
72904 2008-10-28  Jim Meyering  <meyering@redhat.com>
72906         * modules/tempname (Depends-on): Add lstat.
72908         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
72910 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72912         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
72913         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
72914         using idiom used elsewhere in gnulib.
72916 2008-10-27  Jim Meyering  <meyering@redhat.com>
72918         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
72920 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72922         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
72923         TESTS_ENVIRONMENT, for shell scripts that needs to call built
72924         programs.
72925         * tests/test-argp-2.sh: Use $EXEEXT when needed.
72927 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72929         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
72931 2008-10-27  Bruno Haible  <bruno@clisp.org>
72933         * tests/test-lstat.c: Include <stdio.h>.
72935 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72937         * modules/lstat-tests: New module.
72938         * tests/test-lstat.c: New file.
72940 2008-10-26  Jim Meyering  <meyering@redhat.com>
72942         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
72944 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72945             Bruno Haible  <bruno@clisp.org>
72947         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
72948         * modules/configmake (Include): Add a note that the include must come
72949         after all system headers.
72950         * lib/javaversion.c: Include configmake.h after all other includes.
72952 2008-10-26  Bruno Haible  <bruno@clisp.org>
72954         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
72955         HAVE_STRUCT_RANDOM_DATA to 1.
72956         (gl_STDLIB_H): Simplify.
72958 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72960         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
72961         substitute HAVE_STRUCT_RANDOM_DATA.
72962         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
72963         random_data.
72964         * modules/stdlib (Makefile.am): Substitute
72965         HAVE_STRUCT_RANDOM_DATA.
72967 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72969         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
72970         * doc/gnulib-intro.texi (Copyright): Likewise.
72972 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72974         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
72975         findings.
72977 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
72978             Bruno Haible  <bruno@clisp.org>
72980         * lib/unistd.in.h: Include <winsock2.h>.
72981         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
72982         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
72983         Provide dummy declarations.
72984         (gethostname): Override.
72985         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
72986         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
72987         gl_PREREQ_SYS_H_WINSOCK2.
72988         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
72989         * doc/posix-functions/gethostname.texi: More details.
72991 2008-10-25  Bruno Haible  <bruno@clisp.org>
72993         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
72994         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
72995         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
72997         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
72998         here ...
72999         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
73000         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
73001         gl_UNISTD_H_DEFAULTS.
73003 2008-10-25  Eric Blake  <ebb9@byu.net>
73005         signbit: avoid spurious compiler failure
73006         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
73007         declarations inside function.
73009 2008-10-24  Simon Josefsson  <simon@josefsson.org>
73010             Bruno Haible  <bruno@clisp.org>
73012         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
73013         * modules/random_r (Depends-on): Add stdint.
73015 2008-10-24  Bruno Haible  <bruno@clisp.org>
73017         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
73018         Eggert.
73019         * modules/strerror (License): Likewise.
73021 2008-10-24  Jim Meyering  <meyering@redhat.com>
73023         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
73024         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
73026 2008-10-24  Eric Blake  <ebb9@byu.net>
73028         getgroups: fix compilation when getgroups is available
73029         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
73030         but with <config.h> override of getgroups disabled.
73032 2008-10-24  Simon Josefsson  <simon@josefsson.org>
73034         * doc/gnulib.texi (Header files): Add note about C++ problems.
73035         Explained by Bruno Haible <bruno@clisp.org>.
73037 2008-10-23  Bruno Haible  <bruno@clisp.org>
73039         Define a dummy SA_NODEFER macro on Interix.
73040         * lib/signal.in.h (SA_NODEFER): Define fallback.
73041         Reported by Aleksey Cheusov <cheusov@tut.by> via
73042         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
73044 2008-10-23  Bruno Haible  <bruno@clisp.org>
73046         * modules/freadahead (License): Change to LGPLv2+.
73047         Suggested by Simon Josefsson.
73049 2008-10-23  Jim Meyering  <meyering@redhat.com>
73051         random_r: new module
73052         * modules/random_r: New file.
73053         * m4/random_r.m4: New file.
73054         * lib/random_r.c: New file, from glibc.
73055         * modules/random_r-tests: New file.
73056         * tests/test-random_r.c: New file.
73057         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
73058          Declare.
73059         (RAND_MAX): Define.
73060         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
73061         * modules/stdlib: Substitute them, too.
73062         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
73063         * doc/glibc-functions/initstate_r.texi: Mention the new module.
73064         * doc/glibc-functions/random_r.texi: Likewise.
73065         * doc/glibc-functions/setstate_r.texi: Likewise.
73066         * doc/glibc-functions/srandom_r.texi: Likewise.
73067         * config/srclist.txt: Mention it.
73069 2008-10-23  David Lutterkort  <lutter@redhat.com>
73071         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
73072         link requirement
73074 2008-10-23  Jim Meyering  <meyering@redhat.com>
73076         selinux-h: mark parameters of stub functions as intentionally unused
73077         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
73078         * lib/se-context.in.h: Likewise.
73080 2008-10-22  Simon Josefsson  <simon@josefsson.org>
73082         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
73084 2008-10-22  Simon Josefsson  <simon@josefsson.org>
73086         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
73088 2008-10-22  Eric Blake  <ebb9@byu.net>
73090         glthread/thread: avoid compiler warning
73091         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
73092         Add unreachable abort to silence compiler.
73094 2008-10-22  Eric Blake  <ebb9@byu.net>
73096         netdb: also supply struct addrinfo for cygwin 1.5.x
73097         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
73098         older cygwin.
73099         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
73100         cygwin.
73101         * doc/posix-headers/netdb.texi (netdb.h): Document this.
73103 2008-10-22  Bruno Haible  <bruno@clisp.org>
73105         * users.txt: Update entry about pspp.
73107 2008-10-21  Bruno Haible  <bruno@clisp.org>
73109         Simplification.
73110         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
73111         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
73113         Simplification.
73114         * lib/ioctl.c (ioctl): Don't undefine.
73115         * lib/socket.c (socket): Don't undefine.
73117         Remove unused module indicator macros.
73118         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
73119         GNULIB_$1 as a C macro.
73121         * doc/posix-functions/close.texi: Undo last change.
73122         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
73123         Windows platforms.
73125 2008-10-21  Bruno Haible  <bruno@clisp.org>
73127         Add gethostname() declaration to <unistd.h>.
73128         * lib/unistd.in.h (gethostname): New declaration.
73129         * lib/gethostname.c: Include <unistd.h>.
73130         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
73131         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
73132         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
73133         and HAVE_GETHOSTNAME.
73134         * modules/gethostname (Depends-on): Add unistd.
73135         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73136         (Include): Specify <unistd.h>.
73137         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
73138         HAVE_GETHOSTNAME.
73139         * tests/test-gethostname.c: Include <unistd.h> first.
73141 2008-10-21  Bruno Haible  <bruno@clisp.org>
73143         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
73144         * modules/select-tests (Depends-on): Likewise.
73145         Reported by Simon Josefsson.
73147 2008-10-21  Simon Josefsson  <simon@josefsson.org>
73149         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
73150         * lib/accept.c: New file, based on winsock.c.
73151         * lib/bind.c: New file, based on winsock.c.
73152         * lib/connect.c: New file, based on winsock.c.
73153         * lib/getpeername.c: New file, based on winsock.c.
73154         * lib/getsockname.c: New file, based on winsock.c.
73155         * lib/getsockopt.c: New file, based on winsock.c.
73156         * lib/ioctl.c: New file, based on winsock.c.
73157         * lib/listen.c: New file, based on winsock.c.
73158         * lib/recv.c: New file, based on winsock.c.
73159         * lib/recvfrom.c: New file, based on winsock.c.
73160         * lib/send.c: New file, based on winsock.c.
73161         * lib/sendto.c: New file, based on winsock.c.
73162         * lib/setsockopt.c: New file, based on winsock.c.
73163         * lib/shutdown.c: New file, based on winsock.c.
73164         * lib/socket.c: New file, based on winsock.c.
73165         * lib/w32sock.h: New file, based on winsock.c.
73166         * lib/winsock.c: Remove file.
73167         * modules/accept: Likewise.
73168         * modules/bind: Likewise.
73169         * modules/connect: Likewise.
73170         * modules/getpeername: Likewise.
73171         * modules/getsockname: Likewise.
73172         * modules/getsockopt: Likewise.
73173         * modules/ioctl: Likewise.
73174         * modules/listen: Likewise.
73175         * modules/recv: Likewise.
73176         * modules/recvfrom: Likewise.
73177         * modules/send: Likewise.
73178         * modules/sendto: Likewise.
73179         * modules/setsockopt: Likewise.
73180         * modules/shutdown: Likewise.
73181         * modules/socket: Use socket.c instead of winsock.c.
73182         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
73183         * doc/posix-functions/accept.texi: Doc fix.
73184         * doc/posix-functions/bind.texi: Doc fix.
73185         * doc/posix-functions/close.texi: Doc fix.
73186         * doc/posix-functions/connect.texi: Doc fix.
73187         * doc/posix-functions/getpeername.texi: Doc fix.
73188         * doc/posix-functions/getsockname.texi: Doc fix.
73189         * doc/posix-functions/getsockopt.texi: Doc fix.
73190         * doc/posix-functions/ioctl.texi: Doc fix.
73191         * doc/posix-functions/listen.texi: Doc fix.
73192         * doc/posix-functions/recv.texi: Doc fix.
73193         * doc/posix-functions/recvfrom.texi: Doc fix.
73194         * doc/posix-functions/send.texi: Doc fix.
73195         * doc/posix-functions/sendto.texi: Doc fix.
73196         * doc/posix-functions/setsockopt.texi: Doc fix.
73197         * doc/posix-functions/shutdown.texi: Doc fix.
73198         * doc/posix-functions/socket.texi: Doc fix.
73200 2008-10-20  Bruno Haible  <bruno@clisp.org>
73202         Take into account the role of SIGABRT_COMPAT on Windows 2008.
73203         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
73204         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
73205         as an alias for SIGABRT.
73206         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
73207         (sigaction): Map it to SIGABRT.
73208         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
73210 2008-10-20  Bruno Haible  <bruno@clisp.org>
73212         * lib/fts.c: Don't include lstat.h.
73213         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
73215         Move the lstat() declaration to <sys/stat.h>.
73216         * lib/lstat.h: Remove file.
73217         * lib/sys_stat.in.h: Add special invocation convention.
73218         (lstat): New declaration.
73219         * lib/lstat.c (orig_lstat): New function.
73220         (rpl_lstat): Use orig_lstat instead of lstat.
73221         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
73222         AC_C_INLINE. Set REPLACE_LSTAT.
73223         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
73224         and REPLACE_LSTAT.
73225         * modules/lstat (Files): Remove lib/lstat.h.
73226         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
73227         (Include): Specify <sys/stat.h> instead of lstat.h.
73228         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
73229         REPLACE_LSTAT.
73230         * NEWS: Mention the change.
73232 2008-10-20  Bruno Haible  <bruno@clisp.org>
73234         * modules/posix_spawn-tests: New file.
73235         * tests/test-posix_spawn3.c: New file.
73237 2008-10-20  Bruno Haible  <bruno@clisp.org>
73239         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
73240         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
73241         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
73242         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
73243         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
73245 2008-10-20  Bruno Haible  <bruno@clisp.org>
73247         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
73248         of posix_spawn on AIX 5.3.
73250 2008-10-20  Bruno Haible  <bruno@clisp.org>
73252         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
73254 2008-10-20  Bruno Haible  <bruno@clisp.org>
73256         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
73257         of AC_LANG_PROGRAM.
73259 2008-10-20  Simon Josefsson  <simon@josefsson.org>
73261         * lib/netdb.in.h: Don't define GNU specific constants until they
73262         are supported or needed.  Reported by Bruno Haible
73263         <bruno@clisp.org>.
73265 2008-10-20  Simon Josefsson  <simon@josefsson.org>
73267         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
73269 2008-10-20  Simon Josefsson  <simon@josefsson.org>
73271         * lib/getaddrinfo.h: Remove file.
73272         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
73273         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
73274         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
73275         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
73276         * modules/netdb: Substitute GNULIB_GETADDRINFO.
73277         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
73278         * tests/test-getaddrinfo.c: Likewise.
73279         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
73280         * NEWS: Mention change.
73282 2008-10-19  Bruno Haible  <bruno@clisp.org>
73284         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
73286 2008-10-19  Bruno Haible  <bruno@clisp.org>
73288         * lib/wait-process.c: Include simply <sys/wait.h>.
73289         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
73290         WIFSTOPPED): Remove fallback definitions.
73291         * modules/wait-process (Depends-on): Add sys_wait.
73293         New module 'sys_wait'.
73294         * modules/sys_wait: New file.
73295         * lib/sys_wait.in.h: New file, partially copied from
73296         lib/wait-process.c.
73297         * m4/sys_wait_h.m4: New file.
73298         * doc/posix-headers/sys_wait.texi: Mention the new module.
73300 2008-10-19  Bruno Haible  <bruno@clisp.org>
73302         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
73304 2008-10-19  Bruno Haible  <bruno@clisp.org>
73306         Assume that waitpid() fills an 'int' status, not a 'union wait'.
73307         * lib/wait-process.c (WAIT_T): Remove type.
73308         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
73309         (wait_subprocess): Update.
73311 2008-10-19  Bruno Haible  <bruno@clisp.org>
73313         New module 'atoll'.
73314         * modules/atoll: New file.
73315         * lib/stdlib.in.h (atoll): New declaration.
73316         * lib/atoll.c: New file, from glibc with modifications.
73317         * m4/atoll.m4: New file.
73318         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
73319         HAVE_ATOLL.
73320         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
73321         * doc/posix-functions/atoll.texi: Mention the new module.
73323 2008-10-19  Bruno Haible  <bruno@clisp.org>
73325         Add strtoull() declaration to <stdlib.h>.
73326         * lib/stdlib.in.h (strtoull): New declaration.
73327         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
73328         Set HAVE_STRTOULL.
73329         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
73330         HAVE_STRTOULL.
73331         * modules/strtoull (Depends-on): Add stdlib.
73332         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73333         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
73334         HAVE_STRTOULL.
73336 2008-10-19  Bruno Haible  <bruno@clisp.org>
73338         Add strtoll() declaration to <stdlib.h>.
73339         * lib/stdlib.in.h (strtoll): New declaration.
73340         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
73341         Set HAVE_STRTOLL.
73342         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
73343         HAVE_STRTOLL.
73344         * modules/strtoll (Depends-on): Add stdlib.
73345         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73346         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
73348 2008-10-19  Bruno Haible  <bruno@clisp.org>
73350         * modules/bcopy (Depends-on): Add strings.
73351         (Include): Specify <strings.h>.
73353 2008-10-19  Bruno Haible  <bruno@clisp.org>
73355         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
73357 2008-10-19  Bruno Haible  <bruno@clisp.org>
73359         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
73360         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
73361         mingw.
73363 2008-10-19  Bruno Haible  <bruno@clisp.org>
73365         * lib/atanl.c: Don't include isnanl.h.
73366         * lib/cosl.c: Likewise.
73367         * lib/ldexpl.c: Likewise.
73368         * lib/logl.c: Likewise.
73369         * lib/sinl.c: Likewise.
73370         * lib/sqrtl.c: Likewise.
73371         * lib/tanl.c: Likewise.
73373         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
73374         * lib/isnanf.h: Remove file.
73375         * lib/isnand.h: Remove file.
73376         * lib/isnanl.h: Remove file.
73377         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
73378         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
73379         macros.
73380         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
73381         HAVE_ISNANF, don't define it as a C macro.
73382         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
73383         HAVE_ISNAND, don't define it as a C macro.
73384         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
73385         HAVE_ISNANL, don't define it as a C macro.
73386         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
73387         HAVE_ISNAN[FDL].
73388         * modules/isnanf (Files): Remove lib/isnanf.h.
73389         (Depends-on): Add math.
73390         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
73391         (Include): Specify <math.h> instead of isnanf.h.
73392         * modules/isnand (Files): Remove lib/isnand.h.
73393         (Depends-on): Add math.
73394         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
73395         (Include): Specify <math.h> instead of isnand.h.
73396         * modules/isnanl (Files): Remove lib/isnanl.h.
73397         (Depends-on): Add math.
73398         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
73399         (Include): Specify <math.h> instead of isnanl.h.
73400         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
73401         HAVE_ISNAN[FDL].
73402         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
73403         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
73404         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
73405         * NEWS: Mention the change.
73407 2008-10-18  Bruno Haible  <bruno@clisp.org>
73409         Add getusershell(), setusershell(), endusershell() declarations to
73410         <unistd.h>.
73411         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
73412         declarations.
73413         * lib/getusershell.c: Include unistd.h.
73414         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
73415         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
73416         HAVE_GETUSERSHELL.
73417         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
73418         and HAVE_GETUSERSHELL.
73419         * modules/getusershell (Depends-on): Add unistd, extensions.
73420         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73421         (Include): Specify <unistd.h>.
73422         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
73423         HAVE_GETUSERSHELL.
73425 2008-10-18  Bruno Haible  <bruno@clisp.org>
73427         Add a getloadavg() declaration to <stdlib.h>.
73428         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
73429         getloadavg declaration.
73430         (getloadavg): New declaration.
73431         * lib/getloadavg.c: Include <stdlib.h> first.
73432         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
73433         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
73434         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
73435         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
73436         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
73437         * modules/getloadavg (Depends-on): Add stdlib, extensions.
73438         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73439         (Include): Specify <stdlib.h>.
73440         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
73441         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
73443 2008-10-18  Bruno Haible  <bruno@clisp.org>
73445         * lib/dirchownmod.c: Don't include lchmod.h.
73447         Move the lchmod() declaration to <sys/stat.h>.
73448         * lib/lchmod.h: Remove file.
73449         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
73450         (lchmod): New declaration, moved here from lib/lchown.h.
73451         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
73452         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
73453         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
73454         and HAVE_LCHMOD.
73455         * modules/lchmod (Files): Remove lib/lchmod.h.
73456         (Depends-on): Add sys_stat, extensions.
73457         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
73458         (Include): Specify <sys/stat.h> instead of lchmod.h.
73459         * modules/sys_stat (Depends-on): Add link-warning.
73460         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
73461         definition of GL_LINK_WARNING.
73462         * NEWS: Mention the change.
73464 2008-10-18  Bruno Haible  <bruno@clisp.org>
73466         * lib/fchdir.c: Don't include dirfd.h.
73467         * lib/fts.c: Likewise.
73468         * lib/getcwd.c: Likewise.
73469         * lib/glob.c: Likewise.
73471         Move the dirfd() declaration to <dirent.h>.
73472         * lib/dirfd.h: Remove file.
73473         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
73474         (dirfd): New declaration.
73475         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
73476         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
73477         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
73478         HAVE_DECL_DIRFD.
73479         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
73480         HAVE_DECL_DIRFD.
73481         * modules/dirfd (Files): Remove lib/dirfd.h.
73482         (Depends-on): Add dirent, extensions.
73483         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
73484         (Include): Specify <dirent.h> instead of dirfd.h.
73485         * modules/dirent (Depends-on): Add link-warning.
73486         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
73487         definition of GL_LINK_WARNING.
73488         * NEWS: Mention the change.
73490 2008-10-18  Bruno Haible  <bruno@clisp.org>
73492         Move the euidaccess() declaration to <unistd.h>.
73493         * lib/euidaccess.h: Remove file.
73494         * lib/unistd.in.h (euidaccess): New declaration.
73495         * lib/euidaccess.c: Don't include euidaccess.h.
73496         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
73497         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
73498         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
73499         and HAVE_EUIDACCESS.
73500         * modules/euidaccess (Files): Remove lib/euidaccess.h.
73501         (Depends-on): Add unistd.
73502         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73503         (Include): Specify <unistd.h> instead of euidaccess.h.
73504         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
73505         HAVE_EUIDACCESS.
73506         * NEWS: Mention the change.
73508 2008-10-18  Bruno Haible  <bruno@clisp.org>
73510         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
73512         Move the getdomainname() declaration to <unistd.h>.
73513         * lib/getdomainname.h: Remove file.
73514         * lib/unistd.in.h (getdomainname): New declaration.
73515         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
73516         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
73517         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
73518         HAVE_GETDOMAINNAME.
73519         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73520         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
73521         * modules/getdomainname (Files): Remove lib/getdomainname.h.
73522         (Depends-on): Add unistd, extensions.
73523         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73524         (Includes): Specify <unistd.h> instead of getdomainname.h.
73525         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
73526         HAVE_GETDOMAINNAME.
73527         * NEWS: Mention the change.
73529 2008-10-18  Bruno Haible  <bruno@clisp.org>
73531         * modules/dirent: New file.
73532         * m4/dirent_h.m4: New file.
73533         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
73534         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
73535         * modules/fchdir (Files): Remove lib/dirent.in.h.
73536         (Depends-on): Add dirent.
73537         (Makefile.am): Move rules to modules/dirent.
73538         * doc/posix-headers/dirent.texi: Mention the new module.
73540 2008-10-18  Bruno Haible  <bruno@clisp.org>
73542         Avoid -Wunused-parameter warnings in public gnulib header files.
73543         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
73544         macro.
73545         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
73547 2008-10-18  Bruno Haible  <bruno@clisp.org>
73549         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
73550         * doc/glibc-functions/error.texi: Mention the module 'error'.
73551         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
73552         * doc/glibc-functions/getdomainname.texi: Mention the module
73553         'getdomainname'.
73554         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
73555         * doc/glibc-functions/getpagesize.texi: Mention the module
73556         'getpagesize'.
73557         * doc/glibc-functions/getusershell.texi: Mention the module
73558         'getusershell'.
73559         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
73560         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
73561         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
73562         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
73563         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
73564         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
73565         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
73566         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
73567         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
73568         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
73569         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
73570         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
73571         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
73572         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
73574 2008-10-17  Bruno Haible  <bruno@clisp.org>
73576         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
73577         HP-UX and IRIX, use -0.0L.
73578         * tests/test-ceill.c (minus_zero): Likewise.
73579         * tests/test-floorl.c (minus_zero): Likewise.
73580         * tests/test-frexpl.c (minus_zero): Likewise.
73581         * tests/test-isnan.c (minus_zerol): Likewise.
73582         * tests/test-isnanl.h (minus_zero): Likewise.
73583         * tests/test-ldexpl.c (minus_zero): Likewise.
73584         * tests/test-roundl.c (minus_zero): Likewise.
73585         * tests/test-signbit.c (minus_zerol): Likewise.
73586         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
73587         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
73588         * tests/test-truncl.c (minus_zero): Likewise.
73589         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
73590         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
73591         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
73592         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
73594 2008-10-17  Bruno Haible  <bruno@clisp.org>
73596         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
73597         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
73598         that it gets activated only for gcc >= 3.0.
73599         * lib/dirent.in.h: Likewise.
73600         * lib/errno.in.h: Likewise.
73601         * lib/fcntl.in.h: Likewise.
73602         * lib/float.in.h: Likewise.
73603         * lib/iconv.in.h: Likewise.
73604         * lib/inttypes.in.h: Likewise.
73605         * lib/locale.in.h: Likewise.
73606         * lib/math.in.h: Likewise.
73607         * lib/netdb.in.h: Likewise.
73608         * lib/netinet_in.in.h: Likewise.
73609         * lib/search.in.h: Likewise.
73610         * lib/signal.in.h: Likewise.
73611         * lib/spawn.in.h: Likewise.
73612         * lib/stdarg.in.h: Likewise.
73613         * lib/stdint.in.h: Likewise.
73614         * lib/stdio.in.h: Likewise.
73615         * lib/stdlib.in.h: Likewise.
73616         * lib/string.in.h: Likewise.
73617         * lib/strings.in.h: Likewise.
73618         * lib/sys_file.in.h: Likewise.
73619         * lib/sys_ioctl.in.h: Likewise.
73620         * lib/sys_select.in.h: Likewise.
73621         * lib/sys_socket.in.h: Likewise.
73622         * lib/sys_stat.in.h: Likewise.
73623         * lib/sys_time.in.h: Likewise.
73624         * lib/sysexits.in.h: Likewise.
73625         * lib/time.in.h: Likewise.
73626         * lib/unistd.in.h: Likewise.
73627         * lib/wchar.in.h: Likewise.
73628         * lib/wctype.in.h: Likewise.
73629         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73631 2008-10-17  Jim Meyering  <meyering@redhat.com>
73633         ignore-value: don't depend on inline module
73634         * modules/ignore-value (Depends-on): Remove 'inline'.
73635         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
73636         Suggestion from Bruno Haible.
73638 2008-10-17  Bruno Haible  <bruno@clisp.org>
73640         New implementation of condition variables for Win32.
73641         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
73642         (gl_linked_waitqueue_t): New type.
73643         (gl_cond_t): Use it.
73644         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
73645         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
73646         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
73647         (glthread_cond_init_func, glthread_cond_wait_func,
73648         glthread_cond_timedwait_func, glthread_cond_signal_func,
73649         glthread_cond_broadcast_func, glthread_cond_destroy_func):
73650         Reimplemented on the basis of gl_linked_waitqueue_t.
73651         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
73652         gl_waitqueue_t.
73653         (gl_rwlock_t): Update.
73654         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
73656 2008-10-17  Simon Josefsson  <simon@josefsson.org>
73658         * modules/recvfrom (Depends-on): Add dependency on getpeername.
73659         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
73661 2008-10-17  Jim Meyering  <meyering@redhat.com>
73663         ignore-value: new module
73664         * modules/ignore-value: New file.
73665         * lib/ignore-value.h: New file.
73666         * MODULES.html.sh (Compiler warning management): New section,
73667         just for this module.  More to come.
73669 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
73671         open-safer.c: avoid 'signed and unsigned in conditional...' warning
73672         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
73673         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
73675 2008-10-16  Jim Meyering  <meyering@redhat.com>
73677         openat-die.c: avoid 'no previous prototype' warning
73678         * lib/openat-die.c: Include "openat.h".
73679         Reported by Reuben Thomas <rrt@sc3d.org>.
73681 2008-10-16  Simon Josefsson  <simon@josefsson.org>
73683         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
73684         * lib/netdb.in.h: Fix typo.
73685         Reported by Bruno Haible  <bruno@clisp.org>
73687         * lib/netdb.in.h: Include sys/socket.h for platforms without
73688         netdb.h, to get structures like hostent on MinGW.
73689         * modules/netdb (Depends-on): Add sys_socket.
73691 2008-10-15  Simon Josefsson  <simon@josefsson.org>
73693         * modules/netdb, modules/netdb-tests: New file.
73694         * m4/netdb_h.m4: New file.
73695         * lib/netdb.in.h: Add, currently just an empty file pending
73696         definitions.
73697         * tests/test-netdb.c: New file.
73698         * doc/posix-headers/netdb.texi: Mention that we replace it if
73699         needed.
73700         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73701         netdb.
73703 2008-10-15  Simon Josefsson  <simon@josefsson.org>
73705         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
73706         with code.
73708 2008-10-13  Bruno Haible  <bruno@clisp.org>
73710         * lib/glthread/cond.c (glthread_cond_wait_func,
73711         glthread_cond_timedwait_func): Add a comment.
73713 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73715         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
73716         * tests/test-select.c: Likewise,
73718 2008-10-13  Bruno Haible  <bruno@clisp.org>
73720         * lib/glthread/cond.c (glthread_cond_wait_func,
73721         glthread_cond_timedwait_func): Fix variable name.
73722         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
73724 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
73726         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
73727         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
73728         struct sockaddr.sa_len.
73729         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
73731 2008-10-13  Simon Josefsson  <simon@josefsson.org>
73733         * build-aux/pmccabe2html: Add css and css_url parameters.
73735 2008-10-12  Bruno Haible  <bruno@clisp.org>
73737         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
73738         calling aclx_get.
73739         Reported by Rainer Tammer <tammer@tammer.net>.
73741 2008-10-12  Bruno Haible  <bruno@clisp.org>
73743         Use msvcrt aware primitives for creation/termination of Win32 threads.
73744         * lib/glthread/thread.c: Include <process.h>.
73745         (glthread_create_func): Use _beginthreadex instead of CreateThread.
73746         (wrapper_func): Update signature.
73747         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
73749 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73750             Bruno Haible  <bruno@clisp.org>
73752         Provide a Win32 implementation of the 'cond' module.
73753         * lib/glthread/cond.h [USE_WIN32]: New implementation.
73754         * lib/glthread/cond.c (glthread_cond_init_func,
73755         glthread_cond_wait_func, glthread_cond_timedwait_func,
73756         glthread_cond_signal_func, glthread_cond_broadcast_func,
73757         glthread_cond_destroy_func) [USE_WIN32]: New functions.
73758         * modules/cond (Dependencies): Add gettimeofday.
73760 2008-10-11  Bruno Haible  <bruno@clisp.org>
73762         Make sleep work on older versions of mingw.
73763         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
73764         only whether it exists.
73765         * doc/posix-functions/sleep.texi: Mention the problem with older
73766         versions of mingw.
73768 2008-10-11  Bruno Haible  <bruno@clisp.org>
73770         New module 'shutdown'.
73771         * modules/shutdown: New file.
73772         * lib/sys_socket.in.h (shutdown): New declaration.
73773         * lib/winsock.c (shutdown): New function.
73774         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
73775         GNULIB_SHUTDOWN.
73776         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
73777         * doc/posix-functions/shutdown.texi: Document the new module.
73779 2008-10-11  Jim Meyering  <meyering@redhat.com>
73781         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
73783 2008-10-11  Bruno Haible  <bruno@clisp.org>
73785         New module 'fclose'.
73786         * modules/fclose: New file.
73787         * lib/stdio.in.h (fclose): New declaration.
73788         * lib/fclose.c: New file.
73789         * m4/fclose.m4: New file.
73790         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
73791         REPLACE_FCLOSE.
73792         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
73793         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
73794         REPLACE_FCLOSE.
73795         * modules/close (Depends-on): fclose.
73796         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
73798 2008-10-11  Bruno Haible  <bruno@clisp.org>
73800         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
73801         set errno and don't call _close.
73803 2008-10-10  Bruno Haible  <bruno@clisp.org>
73805         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
73806         ACL, not afterwards. Fixes test failure on Cygwin.
73808 2008-10-09  Ben Pfaff  <blp@gnu.org>
73810         * build-aux/announce-gen: Fix gnulib version related part of usage
73811         message.  Die with a useful error message if no tarballs are
73812         found.
73814 2008-10-10  Jim Meyering  <meyering@redhat.com>
73816         bootstrap: use git's --depth=N option only if it's supported
73817         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
73818         recognize the --depth option.  Reported by Pádraig Brady.
73820 2008-10-09  Bruno Haible  <bruno@clisp.org>
73822         New module 'ioctl'.
73823         * modules/ioctl: New file.
73824         * lib/sys_socket.in.h (ioctl): Remove declaration.
73825         * lib/winsock.c: Include <sys/ioctl.h>.
73826         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
73827         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
73828         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
73829         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
73830         * doc/posix-functions/ioctl.texi: Mention the new module.
73832 2008-10-09  Bruno Haible  <bruno@clisp.org>
73834         New module 'sys_ioctl'.
73835         * lib/sys_ioctl.in.h: New file.
73836         * m4/sys_ioctl_h.m4: New file.
73837         * modules/sys_ioctl: New file.
73838         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
73840 2008-10-09  Bruno Haible  <bruno@clisp.org>
73842         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
73843         * lib/winsock.c: Include <stdarg.h>.
73844         (rpl_ioctl): Change to second argument 'int' and then varargs.
73846 2008-10-09  Bruno Haible  <bruno@clisp.org>
73848         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
73849         when the sys_socket module is present and the system has <winsock2.h>.
73851 2008-10-09  Bruno Haible  <bruno@clisp.org>
73853         * doc/posix-functions/close.texi: Mention module 'close' instead of
73854         module 'sys_socket'.
73856 2008-10-09  Bruno Haible  <bruno@clisp.org>
73858         * doc/glibc-headers/sys_ioctl.texi: New file.
73859         * doc/gnulib.texi: Include it.
73861 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73862             Bruno Haible  <bruno@clisp.org>
73864         Combine the two replacements of 'close'.
73865         * lib/sys_socket.in.h (close): Define to a reminder to include
73866         <unistd.h>.
73867         (_gl_close_fd_maybe_socket): New declaration.
73868         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
73869         * lib/winsock.c (close): Remove undefinition.
73870         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
73871         needed for the gnulib module 'close'.
73872         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
73873         define to an error symbol or to a warning, if suitable.
73874         * lib/close.c: Include <sys/socket.h>.
73875         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
73876         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
73877         UNISTD_H_HAVE_WINSOCK2_H.
73878         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
73879         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73880         UNISTD_H_HAVE_WINSOCK2_H.
73881         * modules/sys_socket (Files): Add m4/unistd_h.m4.
73882         (configure.ac): Set a module indicator.
73883         (Makefile.am): Substitute GNULIB_CLOSE.
73884         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
73885         * modules/poll-tests (Depends-on): Add close.
73886         * modules/select-tests (Depends-on): Likewise.
73888 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73889             Bruno Haible  <bruno@clisp.org>
73891         New module 'close'.
73892         * modules/close: New file.
73893         * lib/unistd.in.h (close): Move declaration out of the
73894         FCHDIR_REPLACEMENT scope.
73895         (_gl_unregister_fd): New declaration.
73896         * lib/close.c: New file.
73897         * lib/fchdir.c (rpl_close): Remove function.
73898         * m4/close.m4: New file.
73899         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
73900         close.
73901         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
73902         REPLACE_CLOSE.
73903         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
73904         REPLACE_CLOSE.
73905         * modules/fchdir (Depends-on): Add close.
73907 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73908             Bruno Haible  <bruno@clisp.org>
73910         * lib/fcntl.in.h (open): Simplify conditionals.
73911         (_gl_register_fd): New declaration.
73912         * lib/fchdir.c (rpl_open): Remove function.
73913         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
73914         also.
73915         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
73916         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
73917         open.
73919 2008-10-09  Jim Meyering  <meyering@redhat.com>
73921         GNUmakefile: use the more name-space-friendly "_version"
73922         * top/GNUmakefile (_dummy): Update.
73923         (_version): Rename from "version".
73925 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73926             Bruno Haible  <bruno@clisp.org>
73928         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
73929         rpl_close.
73930         (_gl_register_fd): New function, extracted from rpl_open.
73931         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
73932         (rpl_open, rpl_opendir): Use _gl_register_fd.
73934 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73936         Fix organization of 'open' replacement.
73937         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
73938         (gl_FUNC_OPEN): Use it.
73939         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
73941 2008-10-08  Bruno Haible  <bruno@clisp.org>
73943         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
73945 2008-10-08  Simon Josefsson  <simon@josefsson.org>
73947         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
73948         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
73949         listen).
73951 2008-10-08  Eric Blake  <ebb9@byu.net>
73953         GNUmakefile: add 'make version' target
73954         * top/GNUmakefile (_curr-ver): Split version update rules...
73955         (version): ...into a target.
73957 2008-10-07  Bruno Haible  <bruno@clisp.org>
73959         Use a more portable replacement expression for -0.0L.
73960         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
73961         instead of -0.0L. Fix m4 quotation.
73963         * tests/test-signbit.c: Include <float.h>.
73964         (minus_zero): New variable.
73965         (test_signbitl): Use minus_zero instead of -zero.
73966         * modules/signbit-tests (Depends-on): Add float.
73968         * tests/test-ceill.c: Include <float.h>.
73969         (zero): Remove variable.
73970         (minus_zero): New variable.
73971         (main): Use minus_zero instead of -zero.
73972         * modules/ceill-tests (Depends-on): Add float.
73974         * tests/test-floorl.c: Include <float.h>.
73975         (zero): Remove variable.
73976         (minus_zero): New variable.
73977         (main): Use minus_zero instead of -zero.
73978         * modules/floorl-tests (Depends-on): Add float.
73980         * tests/test-roundl.c: Include <float.h>.
73981         (zero): Remove variable.
73982         (minus_zero): New variable.
73983         (main): Use minus_zero instead of -zero.
73984         * modules/roundl-tests (Depends-on): Add float.
73986         * tests/test-truncl.c: Include <float.h>.
73987         (zero): Remove variable.
73988         (minus_zero): New variable.
73989         (main): Use minus_zero instead of -zero.
73990         * modules/truncl-tests (Depends-on): Add float.
73992         * tests/test-frexpl.c (zero): Remove variable.
73993         (minus_zero): New variable.
73994         (main): Use minus_zero instead of -zero.
73995         * modules/frexpl-tests (Depends-on): Add float.
73997         * tests/test-isnan.c (zerol): Remove variable.
73998         (minus_zerol): New variable.
73999         (test_long_double): Use minus_zerol instead of -zerol.
74000         * modules/isnan-tests (Depends-on): Add float.
74002         * tests/test-isnanl.h (zero): Remove variable.
74003         (minus_zero): New variable.
74004         (main): Use minus_zero instead of -zero.
74005         * modules/isnanl-nolibm-tests (Depends-on): Add float.
74006         * modules/isnanl-tests (Depends-on): Add float.
74008         * tests/test-ldexpl.c (zero): Remove variable.
74009         (minus_zero): New variable.
74010         (main): Use minus_zero instead of -zero.
74011         * modules/ldexpl-tests (Depends-on): Add float.
74013         * tests/test-snprintf-posix.h (zerol): Remove variable.
74014         (minus_zerol): New variable.
74015         (test_function): Use minus_zerol instead of -zerol.
74016         * modules/snprintf-posix-tests (Depends-on): Add float.
74017         * modules/vsnprintf-posix-tests (Depends-on): Add float.
74019         * tests/test-sprintf-posix.h (zerol): Remove variable.
74020         (minus_zerol): New variable.
74021         (test_function): Use minus_zerol instead of -zerol.
74022         * modules/sprintf-posix-tests (Depends-on): Add float.
74023         * modules/vsprintf-posix-tests (Depends-on): Add float.
74025         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
74026         (minus_zerol): New variable.
74027         (test_function): Use minus_zerol instead of -zerol.
74028         * modules/vasnprintf-posix-tests (Depends-on): Add float.
74030         * tests/test-vasprintf-posix.c (zerol): Remove variable.
74031         (minus_zerol): New variable.
74032         (test_function): Use minus_zerol instead of -zerol.
74033         * modules/vasprintf-posix-tests (Depends-on): Add float.
74035 2008-10-07  Simon Josefsson  <simon@josefsson.org>
74037         * MODULES.html.sh (Support for building documentation): Mention
74038         pmccabe2html.  Sort entries.
74040         Add pmccabe2html module, from gnupdf.
74041         * build-aux/pmccabe.css: New file.
74042         * build-aux/pmccabe2html: New file.
74043         * m4/pmccabe2html.m4: New file.
74044         * modules/pmccabe2html: New file.
74046 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
74048         flock: new module
74049         * MODULES.html.sh: Add to list of modules.
74050         * lib/flock.c: flock implementation for Windows and Unix systems
74051         which have fcntl.
74052         * doc/glibc-functions/flock.texi: Update documentation.
74053         * lib/sys_file.in.h: <sys/file.h> header file.
74054         * m4/flock.m4: M4 macros.
74055         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
74056         * modules/flock: flock module.
74057         * modules/flock-tests: flock tests module.
74058         * modules/sys_file: sys/file.h module.
74059         * tests/test-flock.c: test suite for flock.
74061 2008-10-06  Jim Meyering  <meyering@redhat.com>
74063         bootstrap: check for LT_INIT more portably still ;-)
74064         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
74065         Spotted by Bruno Haible.
74067 2008-10-06  Eric Blake  <ebb9@byu.net>
74069         test-signbit: avoid tripping Irix cc bug on -0.0L
74070         * tests/test-signbit.c (minus_zerol): Delete, and replace with
74071         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
74072         entire testsuite consistent and avoids an Irix 6.2 bug.
74074 2008-10-05  Bruno Haible  <bruno@clisp.org>
74075             Jim Meyering  <jim@meyering.net>
74077         Add an option for ignoring EPIPE during close_stdout.
74078         * lib/closeout.h: Include <stdbool.h>.
74079         (close_stdout_set_ignore_EPIPE): New declaration.
74080         * lib/closeout.c: Include <stdbool.h>.
74081         (ignore_EPIPE): New variable.
74082         (close_stdout_set_ignore_EPIPE): New function.
74083         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
74084         * lib/close-stream.c (close_stream): Mention the possible EPIPE
74085         failure.
74086         * modules/closeout (Depends-on): Add stdbool.
74088 2008-10-05  Bruno Haible  <bruno@clisp.org>
74090         * modules/accept: New file.
74091         * modules/bind: New file.
74092         * modules/connect: New file.
74093         * modules/getpeername: New file.
74094         * modules/getsockname: New file.
74095         * modules/getsockopt: New file.
74096         * modules/listen: New file.
74097         * modules/recv: New file.
74098         * modules/recvfrom: New file.
74099         * modules/send: New file.
74100         * modules/sendto: New file.
74101         * modules/setsockopt: New file.
74102         * modules/socket: New file.
74103         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
74104         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
74105         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
74106         the particular module is requested. Add a link warning when the
74107         particular module is not requested.
74108         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
74109         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
74110         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
74111         the particular module is requested.
74112         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
74113         gl_SYS_SOCKET_H_DEFAULTS): New macros.
74114         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
74115         * modules/sys_socket (Depends-on): Add link-warning.
74116         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
74117         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
74118         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
74119         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
74120         GL_LINK_WARNING.
74121         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
74122         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
74123         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
74124         * doc/posix-functions/getpeername.texi: Mention the new module
74125         'getpeername'.
74126         * doc/posix-functions/getsockname.texi: Mention the new module
74127         'getsockname'.
74128         * doc/posix-functions/getsockopt.texi: Mention the new module
74129         'getsockopt'.
74130         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
74131         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
74132         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
74133         * doc/posix-functions/send.texi: Mention the new module 'send'.
74134         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
74135         * doc/posix-functions/setsockopt.texi: Mention the new module
74136         'setsockopt'.
74137         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
74138         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
74139         listen, connect, accept.
74140         * modules/select-tests (Depends-on): Likewise.
74142 2008-10-05  Bruno Haible  <bruno@clisp.org>
74144         * lib/winsock.c (strerror): Remove unused #undef.
74145         (rpl_close): Remove unused local variable.
74147         * modules/sys_socket (Depends-on); Add errno.
74149 2008-10-05  Bruno Haible  <bruno@clisp.org>
74151         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
74152         (select): Add a link warning when the 'select' module is not used.
74153         * modules/sys_select (Depends-on): Add link-warning.
74154         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
74155         Suggested by Paolo Bonzini.
74157 2008-10-05  Jim Meyering  <meyering@redhat.com>
74159         bootstrap: check for LT_INIT more portably
74160         * build-aux/bootstrap: Avoid using grep -E, since it's not
74161         portable enough.  Suggestion from Bruno Haible.
74163 2008-10-05  Bruno Haible  <bruno@clisp.org>
74165         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
74166         as being fixed by gnulib.
74168 2008-10-05  Bruno Haible  <bruno@clisp.org>
74170         * modules/select-tests: New file, mostly copied from
74171         modules/sys_select-tests.
74172         * tests/test-select.c: New file, mostly copied from
74173         tests/test-sys_select.c.
74174         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
74175         * modules/sys_select-tests (Depends-on): Remove all dependencies.
74176         (Makefile.am): Remove test_sys_select_LDADD.
74178         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
74179         to an undefined symbol, for an error message.
74180         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
74181         (gl_SYS_SELECT_H_DEFAULTS): New macro.
74182         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
74183         winsock-select.c here.
74184         * modules/sys_select (Files): Remove lib/winsock-select.c.
74185         (Depends-on): Remove alloca.
74186         (Makefile.am): Substitute GNULIB_SELECT.
74187         * modules/select: New file.
74188         * doc/posix-functions/select.texi: Update.
74190 2008-10-05  Bruno Haible  <bruno@clisp.org>
74192         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
74193         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
74194         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
74195         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
74196         getdtablesize.
74197         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
74198         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
74200 2008-10-05  Bruno Haible  <bruno@clisp.org>
74202         * modules/getdtablesize-tests: New file.
74203         * tests/test-getdtablesize.c: New file.
74205         New module 'getdtablesize'.
74206         * lib/unistd.in.h (getdtablesize): New declaration.
74207         * lib/getdtablesize.c: New file.
74208         * m4/getdtablesize.m4: New file.
74209         * modules/getdtablesize: New file.
74210         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
74211         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
74212         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
74213         HAVE_GETDTABLESIZE.
74214         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
74216 2008-10-05  Bruno Haible  <bruno@clisp.org>
74218         * modules/sched (Makefile.am): Fix typo.
74219         Reported by Simon Josefsson.
74221 2008-10-05  Jim Meyering  <meyering@redhat.com>
74223         bootstrap: check for LT_INIT, too
74224         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
74225         are deprecated.  Suggestion from Ralf Wildenhues.
74227 2008-10-05  Bruno Haible  <bruno@clisp.org>
74229         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
74230         overriding them by ours.
74231         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
74233 2008-10-05  Jim Meyering  <meyering@redhat.com>
74235         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
74236         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
74237         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
74239 2008-10-04  Bruno Haible  <bruno@clisp.org>
74241         * modules/dup2 (License): Change to LGPLv2+.
74242         * modules/sleep (License): Likewise.
74243         * modules/perror (License): Likewise.
74244         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
74245         Blake.
74246         * modules/signal (License): Likewise.
74247         * modules/sigprocmask (License): Likewise.
74248         * modules/raise (License): Change to LGPLv2+, with approval by Jim
74249         Meyering.
74251 2008-10-04  Bruno Haible  <bruno@clisp.org>
74253         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
74254         Reported by Rainer Tammer <tammer@tammer.net>.
74256 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
74257             Bruno Haible  <bruno@clisp.org>
74259         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
74260         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
74261         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
74263 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
74265         filevercmp: new module
74266         * lib/filevercmp.h: New function filevercmp comparing version strings.
74267         * lib/filevercmp.c: Implementation of filevercmp function.
74268         * modules/filevercmp: Module metadata.
74269         * tests/test-filevercmp.c: Unit test for new module.
74270         * modules/filevercmp-tests: Unit test metadata.
74271         * MODULES.html.sh: Add filevercmp module.
74273 2008-10-03  Bruno Haible  <bruno@clisp.org>
74275         * lib/c-ctype.h: Add comment.
74276         Reported by Jim Meyering.
74278 2008-10-02  Bruno Haible  <bruno@clisp.org>
74280         * modules/posix_spawn-internal (Depends-on): Add 'open'.
74282 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
74284         * build-aux/bootstrap: Allow renaming bootstrap, and change the
74285         name of bootstrap.conf accordingly.
74287 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
74289         * build-aux/bootstrap: Install git-merge-changelog configuration
74290         items into .gitconfig if needed.
74292 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
74294         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
74295         git repository, and initialize/update it accordingly.
74297 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
74299         * modules/fsync-tests: New file.
74300         * tests/test-fsync.c: New file.
74302         New module 'fsync'.
74303         * lib/fsync.c: New file.
74304         * m4/fsync.m4: New file.
74305         * modules/fsync: New file.
74306         * lib/unistd.in.h (fsync): New declaration.
74307         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
74308         GNULIB_FSYNC and HAVE_FSYNC.
74309         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
74310         * MODULES.html.sh (posix_functions): Add fsync.
74311         * doc/posix-functions/fsync.texi: Mention the new module.
74313 2008-10-02  Jim Meyering  <meyering@redhat.com>
74315         fts.c: sync with similar code from coreutils' remove.c
74316         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
74317         Guard also with "#if defined __linux__", since for now at least,
74318         this code is Linux-kernel-specific.
74320 2008-10-02  Jim Meyering  <meyering@redhat.com>
74322         fts: bug fixes
74323         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
74324         Include <sys/vfs.h>, not <sys/statfs.h>.
74326         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
74327         Include <sys/vfs.h>, not <sys/statfs.h>.
74329 2008-10-01  Bruno Haible  <bruno@clisp.org>
74331         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
74332         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
74333         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
74334         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
74335         * doc/posix-functions/posix_spawnp.texi: Likewise.
74336         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
74337         whether posix_spawn actually works.
74338         * m4/pipe.m4 (gl_PIPE): Likewise.
74339         * modules/execute (Files): Add m4/posix_spawn.m4.
74340         * modules/pipe (Files): Add m4/posix_spawn.m4.
74341         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
74343 2008-10-01  Jim Meyering  <meyering@redhat.com>
74345         remove trailing spaces
74346         * NEWS: Likewise.
74347         * lib/poll.c (poll): Likewise.
74348         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
74349         * lib/winsock.c (rpl_close): Likewise.
74350         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
74351         * modules/yield: Likewise.
74352         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
74353         * tests/test-sys_select.c (connect_to_socket): Likewise.
74355         fts.c: adjust a new interface to be more generally useful
74356         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
74357         (fts_build): Adjust caller.
74359 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74361         * modules/cond-tests: New file.
74362         * tests/test-cond.c: New file.
74364 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74365             Bruno Haible  <bruno@clisp.org>
74367         * modules/cond (Dependencies): Add errno, time.
74368         * lib/glthread/cond.h: Include <time.h>.
74369         (gl_cond_define, gl_cond_define_initialized): Use the same definition
74370         across platforms.
74372 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74373             Bruno Haible  <bruno@clisp.org>
74375         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
74377 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74378             Bruno Haible  <bruno@clisp.org>
74380         * modules/tls-tests (Depends-on): Add thread, yield.
74381         (configure.ac): Remove all checks.
74382         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
74383         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
74384         gl_thread_self): Remove definitions. Include glthread/thread.h and
74385         glthread/yield.h instead.
74386         (test_tls): Pass an additional NULL argument to gl_thread_join.
74388 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74389             Bruno Haible  <bruno@clisp.org>
74391         * modules/lock-tests (Depends-on): Add thread, yield.
74392         (configure.ac): Remove all checks.
74393         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
74394         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
74395         gl_thread_self): Remove definitions. Include glthread/thread.h and
74396         glthread/yield.h instead.
74397         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
74398         additional NULL argument to gl_thread_join.
74400 2008-09-30  Bruno Haible  <bruno@clisp.org>
74402         Fix the Win32 implementation of the 'thread' module.
74403         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
74404         pointer type.
74405         (gl_thread_self): Invoke gl_thread_self_func.
74406         (gl_thread_self_func): New declaration.
74407         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
74408         (do_init_self_key, init_self_key): New functions.
74409         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
74410         Remove some fields.
74411         (running_threads, running_lock): Remove variables.
74412         (get_current_thread_handle): New function.
74413         (gl_thread_self_func, wrapper_func, glthread_create_func,
74414         glthread_join_func, gl_thread_exit_func): Largely rewritten and
74415         simplified.
74417 2008-09-30  Bruno Haible  <bruno@clisp.org>
74419         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
74420         files.
74422 2008-09-30  Jim Meyering  <meyering@redhat.com>
74424         fts.m4: correct the test for statfs.f_type
74425         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
74426         when checking for statfs.f_type.
74428 2008-09-15  Simon Josefsson  <simon@josefsson.org>
74430         tests: avoid some compiler warnings
74431         * tests/test-memchr.c (main): Pass NULL indirectly.
74432         * tests/test-getdate.c (main): Remove unused variable 'ret'.
74434 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
74436         getdate.y: disallow countable dayshifts like "4 yesterday ago"
74437         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
74438         exactly specified dayshifts.
74439         (dayshift): New rule.
74440         (rel): Add dayshift.
74441         (relative_time_table) [tomorrow, yesterday, today, now]:
74442         Use tDAY_SHIFT in place of tDAY_UNIT.
74443         * tests/test-getdate.c: Add tests for now-disallowed countable
74444         dayshifts, e.g., "4 yesterday ago".
74446 2008-09-29  Bruno Haible  <bruno@clisp.org>
74448         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
74449         * tests/test-posix_spawn1.in.sh: Renamed from
74450         tests/test-posix_spawn.in.sh.
74451         * tests/test-posix_spawn2.c: New file.
74452         * tests/test-posix_spawn2.in.sh: New file.
74453         * modules/posix_spawnp-tests (Files): Update.
74454         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
74456 2008-09-29  Bruno Haible  <bruno@clisp.org>
74458         Propagate effects of putenv/setenv/unsetenv to child processes.
74459         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
74460         * lib/pipe.c (create_pipe): Likewise.
74462 2008-09-29  Bruno Haible  <bruno@clisp.org>
74464         Enable use of shell scripts as executables in mingw.
74465         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
74466         run the program as a shell script.
74467         * lib/pipe.c (create_pipe): Likewise.
74468         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
74469         resulting array.
74471 2008-09-29  Eric Blake  <ebb9@byu.net>
74473         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
74475 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
74477         * doc/posix-functions/accept.texi: Update mingw problems.
74478         * doc/posix-functions/bind.texi: Update mingw problems.
74479         * doc/posix-functions/close.texi: Update mingw problems.
74480         * doc/posix-functions/connect.texi: Update mingw problems.
74481         * doc/posix-functions/getpeername.texi: Update mingw problems.
74482         * doc/posix-functions/getsockname.texi: Update mingw problems.
74483         * doc/posix-functions/getsockopt.texi: Update mingw problems.
74484         * doc/posix-functions/ioctl.texi: Update mingw problems.
74485         * doc/posix-functions/listen.texi: Update mingw problems.
74486         * doc/posix-functions/recv.texi: Update mingw problems.
74487         * doc/posix-functions/recvfrom.texi: Update mingw problems.
74488         * doc/posix-functions/select.texi: Update mingw problems.
74489         * doc/posix-functions/send.texi: Update mingw problems.
74490         * doc/posix-functions/sendto.texi: Update mingw problems.
74491         * doc/posix-functions/setsockopt.texi: Update mingw problems.
74492         * doc/posix-functions/socket.texi: Update mingw problems.
74494 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
74495             Bruno Haible  <bruno@clisp.org>
74497         * lib/sys_select.in.h: Include sys/time.h.
74498         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
74499         * modules/sys_select: Depend on sys_time.
74500         * tests/test-sys_select.c: Test that sys/select.h defines struct
74501         timeval fully.
74503 2008-09-29  Bruno Haible  <bruno@clisp.org>
74505         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
74506         * lib/sys_select.in.h: Likewise.
74508 2008-09-29  Bruno Haible  <bruno@clisp.org>
74510         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
74512 2008-09-29  Bruno Haible  <bruno@clisp.org>
74514         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
74515         Set LIBSOCKET instead of augmenting LIBS.
74516         * modules/sockets (Link): New section.
74517         * modules/sockets-tests (test_sockets_LDADD): New variable.
74518         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
74519         * modules/poll-tests (test_poll_LDADD): New variable.
74520         * NEWS: Document the change.
74522 2008-09-29  Bruno Haible  <bruno@clisp.org>
74524         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
74525         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
74526         ARPA_INET_H directly.
74527         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
74529 2008-09-28  Bruno Haible  <bruno@clisp.org>
74531         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
74532         from gl_HEADER_SYS_SOCKET.
74533         (gl_HEADER_SYS_SOCKET): Invoke it.
74534         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74536 2008-09-28  Bruno Haible  <bruno@clisp.org>
74538         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
74539         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
74540         Needed on OSF/1 4.0.
74542 2008-09-28  Bruno Haible  <bruno@clisp.org>
74544         Override open more carefully.
74545         * lib/open.c (orig_open): New function.
74546         (rpl_open): Use orig_open instead of open.
74547         * lib/fcntl.in.h: Add special invocation convention.
74548         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
74549         (gl_FUNC_OPEN): Invoke it.
74551         Override freopen more carefully.
74552         * lib/freopen.c (orig_freopen): New function.
74553         (rpl_freopen): Use orig_freopen instead of freopen.
74554         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
74555         (gl_FUNC_FREOPEN): Invoke it.
74557         Override fopen more carefully.
74558         * lib/fopen.c (orig_fopen): New function.
74559         (rpl_fopen): Use orig_fopen instead of fopen.
74560         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
74561         (gl_FUNC_FOPEN): Invoke it.
74562         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
74564 2008-09-28  Bruno Haible  <bruno@clisp.org>
74566         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
74567         SIGPIPE.
74569 2008-09-28  Bruno Haible  <bruno@clisp.org>
74571         * tests/test-sigaction.c (handler, main): Disable the check whether
74572         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
74573         glibc systems with LinuxThreads.
74575 2008-09-28  Bruno Haible  <bruno@clisp.org>
74577         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
74579         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
74580         with AIX xlc.
74581         * lib/fcntl.in.h (open): Likewise.
74582         Reported by Rainer Tammer <tammer@tammer.net>.
74584 2008-09-28  Bruno Haible  <bruno@clisp.org>
74586         * modules/posix_spawnp-tests: New file.
74587         * tests/test-posix_spawn.c: New file.
74588         * tests/test-posix_spawn.in.sh: New file.
74590         New module 'posix_spawnp'.
74591         * modules/posix_spawnp: New file.
74592         * lib/spawnp.c: New file, from GNU libc with modifications.
74593         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
74595         New module 'posix_spawn'.
74596         * modules/posix_spawn: New file.
74597         * lib/spawn.c: New file, from GNU libc with modifications.
74598         * doc/posix-functions/posix_spawn.texi: Mention the new module.
74600         New module 'posix_spawnattr_destroy'.
74601         * modules/posix_spawnattr_destroy: New file.
74602         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
74603         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
74604         module.
74606         New module 'posix_spawnattr_setsigmask'.
74607         * modules/posix_spawnattr_setsigmask: New file.
74608         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
74609         modifications.
74610         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
74611         new module.
74613         New module 'posix_spawnattr_getsigmask'.
74614         * modules/posix_spawnattr_getsigmask: New file.
74615         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
74616         modifications.
74617         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
74618         new module.
74620         New module 'posix_spawnattr_setsigdefault'.
74621         * modules/posix_spawnattr_setsigdefault: New file.
74622         * lib/spawnattr_setdefault.c: New file, from GNU libc with
74623         modifications.
74624         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
74625         new module.
74627         New module 'posix_spawnattr_getsigdefault'.
74628         * modules/posix_spawnattr_getsigdefault: New file.
74629         * lib/spawnattr_getdefault.c: New file, from GNU libc with
74630         modifications.
74631         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
74632         new module.
74634         New module 'posix_spawnattr_setschedpolicy'.
74635         * modules/posix_spawnattr_setschedpolicy: New file.
74636         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
74637         modifications.
74638         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
74639         new module.
74641         New module 'posix_spawnattr_getschedpolicy'.
74642         * modules/posix_spawnattr_getschedpolicy: New file.
74643         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
74644         modifications.
74645         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
74646         new module.
74648         New module 'posix_spawnattr_setschedparam'.
74649         * modules/posix_spawnattr_setschedparam: New file.
74650         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
74651         modifications.
74652         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
74653         new module.
74655         New module 'posix_spawnattr_getschedparam'.
74656         * modules/posix_spawnattr_getschedparam: New file.
74657         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
74658         modifications.
74659         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
74660         new module.
74662         New module 'posix_spawnattr_setpgroup'.
74663         * modules/posix_spawnattr_setpgroup: New file.
74664         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
74665         modifications.
74666         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
74667         module.
74669         New module 'posix_spawnattr_getpgroup'.
74670         * modules/posix_spawnattr_getpgroup: New file.
74671         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
74672         modifications.
74673         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
74674         module.
74676         New module 'posix_spawnattr_setflags'.
74677         * modules/posix_spawnattr_setflags: New file.
74678         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
74679         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
74680         module.
74682         New module 'posix_spawnattr_getflags'.
74683         * modules/posix_spawnattr_getflags: New file.
74684         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
74685         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
74686         module.
74688         New module 'posix_spawnattr_init'.
74689         * modules/posix_spawnattr_init: New file.
74690         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
74691         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
74692         module.
74694         New module 'posix_spawn_file_actions_destroy'.
74695         * modules/posix_spawn_file_actions_destroy: New file.
74696         * lib/spawn_faction_destroy.c: New file, from GNU libc with
74697         modifications.
74698         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
74699         the new module.
74701         New module 'posix_spawn_file_actions_addopen'.
74702         * modules/posix_spawn_file_actions_addopen: New file.
74703         * lib/spawn_faction_addopen.c: New file, from GNU libc with
74704         modifications.
74705         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
74706         the new module.
74708         New module 'posix_spawn_file_actions_adddup2'.
74709         * modules/posix_spawn_file_actions_adddup2: New file.
74710         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
74711         modifications.
74712         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
74713         the new module.
74715         New module 'posix_spawn_file_actions_addclose'.
74716         * modules/posix_spawn_file_actions_addclose: New file.
74717         * lib/spawn_faction_addclose.c: New file, from GNU libc with
74718         modifications.
74719         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
74720         the new module.
74722         New module 'posix_spawn_file_actions_init'.
74723         * modules/posix_spawn_file_actions_init: New file.
74724         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
74725         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
74726         new module.
74728         New module 'posix_spawn-internal'.
74729         * modules/posix_spawn-internal: New file.
74730         * lib/spawn_int.h: New file, from GNU libc with modifications.
74731         * lib/spawni.c: New file, from GNU libc with modifications.
74732         * m4/posix_spawn.m4: New file.
74734         New module 'spawn'.
74735         * modules/spawn: New file.
74736         * lib/spawn.in.h: New file, from GNU libc with modifications.
74737         * m4/spawn_h.m4: New file.
74738         * doc/posix-headers/spawn.texi: Mention the new module.
74740 2008-09-28  Bruno Haible  <bruno@clisp.org>
74742         * modules/sched-tests: New file.
74743         * tests/test-sched.c: New file.
74745         New module 'sched'.
74746         * modules/sched: New file.
74747         * lib/sched.in.h: New file.
74748         * m4/sched_h.m4: New file.
74749         * doc/posix-headers/sched.texi: Mention the new module.
74751 2008-09-27  Eric Blake  <ebb9@byu.net>
74753         Fix previous patch, and tweak references to $0.
74754         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
74755         (func_version, func_gnulib_dir): Don't call this program
74756         gnulib-tool.
74757         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
74758         with using $0 in function.
74759         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
74760         (func_fatal_error): Reuse the name the user invoked us with.
74762 2008-09-27  Bruno Haible  <bruno@clisp.org>
74764         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
74765         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
74766         (gl_ICONV_H): Not here.
74767         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
74768         instead of assigning ICONV_H directly.
74770         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
74771         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
74772         WCHAR_H directly.
74774 2008-09-27  Bruno Haible  <bruno@clisp.org>
74776         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
74777         * modules/arpa_inet (Depends-on): Add link-warning.
74778         (Makefile.am): Insert the definition of GL_LINK-WARNING.
74779         * modules/unistd (Makefile.am): Likewise.
74781 2008-09-26  Bruno Haible  <bruno@clisp.org>
74783         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
74784         variables.
74785         (func_version): Essentially copied from gnulib-tool.
74786         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
74787         func_readlink): Copied from gnulib-tool.
74789 2008-09-26  Bruno Haible  <bruno@clisp.org>
74791         * gnulib-tool (func_version): Change directory to $gnulib_dir before
74792         invoking git-version-gen.
74794 2008-09-26  Bruno Haible  <bruno@clisp.org>
74796         * posix-modules: Update to directory names changed on 2008-01-19.
74797         Remove commas in output before splitting into words. No more need to
74798         avoid 'ftruncate' since 2007-02-19.
74800 2008-09-26  Bruno Haible  <bruno@clisp.org>
74802         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
74804 2008-09-26  Bruno Haible  <bruno@clisp.org>
74806         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
74807         * modules/fwriteerror (Depends-on): Add errno.
74809 2008-09-26  Bruno Haible  <bruno@clisp.org>
74811         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
74812         * tests/test-vc-list-files-cvs.sh: Likewise.
74814 2008-09-26  Bruno Haible  <bruno@clisp.org>
74816         * doc/posix-headers/sys_resource.texi: Reorder items.
74818 2008-09-26  Jim Meyering  <meyering@redhat.com>
74820         fts: tweak inode comparison function
74821         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
74822         inode numbers, as documented.
74824         fts: sort dirent entries on inode number before traversing
74825         This avoids a quadratic, seek-related performance penalty when
74826         operating on a directory containing many entries (measurable at 10k;
74827         3.5 hours at 2 million entries with a cold cache) on certain types
74828         of file systems, including ext3 and ext4, but not tmpfs.
74829         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
74830         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
74831         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
74832         (fs_handles_readdir_ordered_dirents_efficiently): New function.
74833         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
74834         (fts_build): Set the stat.st_ino member from D_INO.
74835         If it is likely to be useful, sort dirent entries on inode number.
74837         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
74838         and the struct statfs.f_type member.
74839         * modules/fts (Depends-on): Add d-ino.
74841 2008-09-26  Bruno Haible  <bruno@clisp.org>
74843         * modules/sigpipe-die (Depends-on): Add sigpipe.
74845         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
74846         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
74847         and GNULIB_STDIO_H_SIGPIPE are set.
74848         * lib/stdio-write.c: New file.
74849         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
74850         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74851         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74852         REPLACE_STDIO_WRITE_FUNCS.
74853         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
74854         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74855         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74856         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
74857         * modules/stdio (Files): Add lib/stdio-write.c.
74858         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
74859         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74860         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74861         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
74862         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
74863         REPLACE_FPRINTF_POSIX.
74864         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
74865         REPLACE_PRINTF_POSIX.
74866         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
74867         REPLACE_VFPRINTF_POSIX.
74868         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
74869         REPLACE_VPRINTF_POSIX.
74870         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
74871         SIGPIPE issue.
74872         * doc/posix-functions/fputc.texi: Likewise.
74873         * doc/posix-functions/fputs.texi: Likewise.
74874         * doc/posix-functions/fwrite.texi: Likewise.
74875         * doc/posix-functions/printf.texi: Likewise.
74876         * doc/posix-functions/putc.texi: Likewise.
74877         * doc/posix-functions/putchar.texi: Likewise.
74878         * doc/posix-functions/puts.texi: Likewise.
74879         * doc/posix-functions/vfprintf.texi: Likewise.
74880         * doc/posix-functions/vprintf.texi: Likewise.
74882         * modules/safe-write (Depends-on): Add write.
74884         * modules/sigpipe-tests: New file.
74885         * tests/test-sigpipe.c: New file.
74886         * tests/test-sigpipe.sh: New file.
74888         * modules/write: New file.
74889         * lib/unistd.in.h: Include <sys/types.h>.
74890         (write): New declaration.
74891         * lib/write.c: New file.
74892         * m4/write.m4: New file.
74893         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
74894         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
74895         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
74896         GNULIB_WRITE, REPLACE_WRITE.
74897         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
74898         and the SIGPIPE issue.
74900         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
74901         (raise): New declaration.
74902         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
74903         (ext_signal): New function.
74904         (rpl_raise): New function.
74905         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
74906         GNULIB_SIGNAL_H_SIGPIPE.
74907         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
74908         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
74910         * modules/sigpipe: New file.
74911         * m4/sigpipe.m4: New file.
74913 2008-09-25  Derek Price  <derek@ximbiot.com>
74914             Bruno Haible  <bruno@clisp.org>
74916         * gnulib-tool (func_import): Report all license incompatibilities, not
74917         just the first one.
74919 2008-09-25  Bruno Haible  <bruno@clisp.org>
74921         * gnulib-tool (func_import): When computing the edits, consider not
74922         only the Makefile.ams that exist but also those that will be generated.
74924 2008-09-25  Simon Josefsson  <simon@josefsson.org>
74926         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
74927         fixes gnulib-tool --test warning about duplicate dependency.
74929 2008-09-25  Bruno Haible  <bruno@clisp.org>
74931         * gnulib-tool: Don't ask the user to perform edits in the generated
74932         Makefile.ams.
74933         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
74934         apply to the Makefile.am being generated.
74935         (func_emit_tests_Makefile_am): Execute edits that apply to the
74936         Makefile.am being generated.
74937         (func_import): Setup list of Makefile.am edits before emitting the
74938         Makefile.ams, not at the end.
74939         (func_create_testdir): Update.
74940         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74942 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74944         * gnulib-tool (func_import): Store the --tests-base option in the
74945         comment in gnulib-cache.m4.
74947 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
74949         * NEWS: Document increased portability that sys_select now provides.
74951         * lib/sys_select.in.h: Install select wrapper.
74952         * lib/sys_socket.in.h: Use more descriptive name when there is no
74953         select wrapper.
74954         * lib/winsock-select.c: New.
74955         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
74956         Require gl_HEADER_SYS_SOCKET.
74957         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
74958         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
74959         * tests/test-sys_select.c: Add functional tests.
74961 2008-09-24  Eric Blake  <ebb9@byu.net>
74963         open, fopen: close fd leak in last patch
74964         * lib/open.c (rpl_open): Close fd before returning error.
74965         * lib/fopen.c (rpl_fopen): Close fd before returning error.
74966         * doc/posix-functions/open.texi (open): Document that Irix also
74967         has the bug.
74968         * doc/posix-functions/fopen.texi (fopen): Likewise.
74969         Reported by Paolo Bonzini.
74971 2008-09-24  Bruno Haible  <bruno@clisp.org>
74973         Ensure that a filename ending in a slash cannot be used to access a
74974         non-directory.
74975         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
74976         to check whether it's really a directory.
74977         * lib/fopen.c: Include fcntl.h, unistd.h.
74978         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
74979         and fdopen().
74980         * modules/fopen (Depends-on): Add unistd.
74981         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
74982         * tests/test-fopen.c (main): Likewise.
74983         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
74984         * doc/posix-functions/fopen.texi: Likewise.
74985         Reported by Eric Blake.
74987 2008-09-23  Eric Blake  <ebb9@byu.net>
74989         c-stack: avoid compiler optimizations when provoking overflow
74990         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
74991         recursion harder to optimize, to ensure a stack overflow occurs.
74992         * tests/test-c-stack.c (recurse): Likewise.
74993         Borrowed from libsigsegv.
74995         c-stack: work around Irix sigaltstack bug
74996         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
74997         whether sigaltstack uses wrong end of stack_t (copied in part from
74998         libsigsegv).
74999         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
75000         Irix bug, without requiring an over-allocation.
75001         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
75002         bug.
75004         fopen: document mingw bug on directories
75005         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
75006         not allowing a stream visiting a directory, even though reading
75007         from such a stream is not portable.
75009 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
75011         * lib/poll.c: Rewrite.
75012         * modules/poll: Depend on alloca.
75014 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
75016         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
75017         instead define prototypes for a full set of wrappers.  Ensure
75018         that Cygwin does not use the compatibility code, which is only
75019         for MinGW.
75020         * lib/winsock.c: New.
75021         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
75022         * modules/sys_socket: Add lib/winsock.c.
75024         * modules/poll-tests: Add errno and perror.
75025         * tests/test-poll.c: Use ioctl, not ioctlsocket.
75027 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
75029         * tests/test-poll.c: Downgrade minimum needed Winsock version.
75031 2008-09-23  Bruno Haible  <bruno@clisp.org>
75033         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
75034         * doc/glibc-functions/*: Likewise.
75036 2008-09-23  Simon Josefsson  <simon@josefsson.org>
75038         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
75039         success.
75041 2008-09-22  Eric Blake  <ebb9@byu.net>
75042             Bruno Haible  <bruno@clisp.org>
75044         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
75045         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
75046         supply %A but mishandle pseudo-NaN.
75047         Reported by Simon Josefsson.
75049 2008-09-21  Bruno Haible  <bruno@clisp.org>
75051         * tests/test-lock.c (main): Tweak skip message.
75052         * tests/test-tls.c (main): Likewise.
75054 2008-09-21  Bruno Haible  <bruno@clisp.org>
75056         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
75057         whether 'struct sigaction' has sa_sigaction here...
75058         (gl_PREREQ_SIG_HANDLER_H): ... not here.
75059         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
75061 2008-09-21  Bruno Haible  <bruno@clisp.org>
75063         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
75064         section.
75065         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
75066         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
75067         the new section.
75068         (Support for obsolete systems lacking POSIX:2001): New section.
75069         (String handling <string.h>): Move strdup to the new section.
75070         Suggested by Simon Josefsson and Paolo Bonzini.
75072 2008-09-21  Bruno Haible  <bruno@clisp.org>
75074         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
75075         exponents in %e and %g results on 'long double'. Needed for mingw's
75076         improved *printf functions.
75077         * tests/test-vasprintf-posix.c (test_function): Likewise.
75078         * tests/test-snprintf-posix.h (test_function): Likewise.
75079         * tests/test-sprintf-posix.h (test_function): Likewise.
75080         Reported by Eric Blake.
75082 2008-09-21  Bruno Haible  <bruno@clisp.org>
75084         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
75085         * tests/test-sprintf-posix.h (test_function): Likewise.
75087 2008-09-21  Bruno Haible  <bruno@clisp.org>
75089         * modules/getpass (Depends-on): Add strdup-posix.
75091         New module 'strdup-posix'.
75092         * modules/strdup-posix: New file.
75093         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
75094         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
75095         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
75096         REPLACE_STRDUP.
75097         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
75098         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
75099         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75100         strdup-posix.
75102         * modules/strdup (Depends-on): Remove malloc-posix.
75104 2008-09-20  Bruno Haible  <bruno@clisp.org>
75106         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
75107         Wildenhues.
75109 2008-09-20  Bruno Haible  <bruno@clisp.org>
75111         Ensure that wint_t gets defined on IRIX 5.3.
75112         * lib/wchar.in.h (wint_t): Define if not defined by the system.
75113         * lib/wctype.in.h (wint_t): Likewise.
75114         (__wctype_wint_t): Remove type.
75115         (isw*): Use wint_t instead of __wctype_wint_t.
75116         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
75117         * modules/wchar (Files): Add m4/wint_t.m4.
75118         (Makefile.am): Substitute HAVE_WINT_T.
75119         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
75120         * tests/test-wctype.c: Check that wint_t is defined.
75121         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
75122         * doc/posix-headers/wctype.texi: Likewise.
75123         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
75125 2008-09-18  Bruno Haible  <bruno@clisp.org>
75127         * gnulib-tool (func_exit): Update comment.
75129 2008-09-18  Simon Josefsson  <simon@josefsson.org>
75131         * modules/getaddrinfo (Depends-on): Remove strdup, this module
75132         assumes strdup exists and does not depend on strdup to return
75133         ENOMEM on out of memory conditions.
75135 2008-09-18  Bruno Haible  <bruno@clisp.org>
75137         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
75138         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
75139         digits for the exponent.
75141 2008-09-18  Jim Meyering  <meyering@redhat.com>
75142             Bruno Haible  <bruno@clisp.org>
75144         * lib/vasnprintf.c (decimal_point_char): Define also if
75145         NEED_PRINTF_INFINITE_LONG_DOUBLE.
75147 2008-09-16  Bruno Haible  <bruno@clisp.org>
75148         and Eric Blake  <ebb9@byu.net>
75150         vasnprintf: support Irix 5.3
75151         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
75152         that mishandle long double infinity.
75153         Reported by Tom G. Christensen.
75155 2008-09-16  Bruno Haible  <bruno@clisp.org>
75157         * doc/glibc-functions/scandir.texi: Mention the function is missing on
75158         Solaris 9.
75159         * doc/glibc-functions/alphasort.texi: Likewise.
75160         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
75162 2008-09-16  Jim Meyering  <meyering@redhat.com>
75164         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
75165         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
75166         a umask modification leak out of a subshell.  Otherwise, the
75167         opensolaris /bin/sh would be accepted and thus cause unwarranted
75168         failures in the coreutils test suite.
75170 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
75172         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
75173         to succeed.
75175 2008-09-16  Jim Meyering  <meyering@redhat.com>
75177         avoid spurious test failure when library is built without ACL support
75178         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
75179         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
75180         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
75181         * tests/test-copy-acl.sh: Likewise.
75183 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75185         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
75186         based on character occurrence counts.
75188 2008-09-15  Eric Blake  <ebb9@byu.net>
75190         tests: avoid some compiler warnings
75191         * tests/test-memchr.c (main): Pass NULL indirectly.
75192         * tests/test-closein.c (main): Avoid unused variable.
75194 2008-09-15  Bruno Haible  <bruno@clisp.org>
75196         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
75197         are missing on OpenBSD 4.0 individually.
75198         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75200 2008-09-15  Bruno Haible  <bruno@clisp.org>
75202         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
75203         * doc/posix-functions/strerror.texi: Mention also Cygwin.
75204         * doc/posix-functions/perror.texi: Likewise.
75205         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
75206         is missing.
75207         Reported by Eric Blake.
75209         * lib/errno.in.h: Use replacement values >= 2000.
75210         Reported by Eric Blake.
75212 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75214         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
75215         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
75216         limit.
75217         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
75218         compareseq was aborted.
75220 2008-09-14  Bruno Haible  <bruno@clisp.org>
75222         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
75223         yvec_edit_count.
75224         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
75225         (fstrcmp_bounded): Simplify result computation accordingly.
75227 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75229         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
75230         (fstrcmp): Define in terms of fstrcmp_bounded.
75231         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
75232         lower_bound argument.
75233         Return quickly if the result is certainly < lower_bound.
75234         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
75236 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75238         * lib/diffseq.h (EARLY_ABORT): New macro.
75239         (compareseq): Change return type to bool. Return true when EARLY_ABORT
75240         evaluates to true.
75242 2008-09-14  Bruno Haible  <bruno@clisp.org>
75244         * modules/perror-tests: New file.
75245         * tests/test-perror.sh: New file.
75246         * tests/test-perror.c: New file.
75248         New module 'perror'.
75249         * lib/stdio.in.h (perror): New declaration.
75250         * lib/perror.c: New file.
75251         * m4/perror.m4: New file.
75252         * modules/perror: New file.
75253         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
75254         * doc/posix-functions/perror.texi: Mention the perror module.
75255         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
75256         REPLACE_PERROR.
75257         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
75258         REPLACE_PERROR.
75260 2008-09-14  Bruno Haible  <bruno@clisp.org>
75262         * modules/stdio (Makefile.am): Reorder to match the order in
75263         lib/stdio.in.h.
75264         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
75266 2008-09-13  Bruno Haible  <bruno@clisp.org>
75268         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
75270 2008-09-13  Bruno Haible  <bruno@clisp.org>
75272         Extend strerror to cover the added errno values.
75273         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
75274         (rpl_strerror): Provide error messages for the added errno values and
75275         for the WSA* values.
75276         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
75277         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
75278         strerror.
75279         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
75280         * modules/strerror (Depends-on): Add errno.
75281         * doc/posix-functions/strerror.texi: Document the change.
75282         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
75283         and EOVERFLOW.
75285 2008-09-13  Bruno Haible  <bruno@clisp.org>
75287         * modules/EOVERFLOW: Remove file.
75288         * m4/eoverflow.m4: Remove file.
75289         * modules/EOVERFLOW-tests: Remove file.
75290         * tests/test-EOVERFLOW.c: Remove file.
75291         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
75292         * modules/ftell (Depends-on): Likewise.
75293         * modules/getdelim (Depends-on): Likewise.
75294         * modules/getugroups (Depends-on): Likewise.
75295         * modules/poll (Depends-on): Likewise.
75296         * modules/snprintf (Depends-on): Likewise.
75297         * modules/sprintf-posix (Depends-on): Likewise.
75298         * modules/vasnprintf (Depends-on): Likewise.
75299         * modules/vasprintf (Depends-on): Likewise.
75300         * modules/vfprintf-posix (Depends-on): Likewise.
75301         * modules/vsnprintf (Depends-on): Likewise.
75302         * modules/vsprintf-posix (Depends-on): Likewise.
75303         * modules/xvasprintf (Depends-on): Likewise.
75304         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
75305         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
75306         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
75307         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
75308         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
75309         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
75310         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
75311         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
75312         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
75313         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
75314         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
75315         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
75316         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
75317         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
75318         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
75319         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
75320         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
75321         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
75322         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
75323         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
75324         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
75325         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
75326         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
75327         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
75328         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
75329         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
75330         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
75331         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
75332         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
75333         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
75334         * MODULES.html.sh: Remove EOVERFLOW.
75335         * NEWS: Mention the change.
75337 2008-09-13  Bruno Haible  <bruno@clisp.org>
75339         * modules/errno-tests: New file.
75340         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
75342         * lib/errno.in.h: New file.
75343         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
75344         * modules/errno: New file.
75345         * doc/posix-headers/errno.texi: Update documentation.
75346         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
75348 2008-09-13  Bruno Haible  <bruno@clisp.org>
75350         * tests/test-poll.c: Use #if for native Windows, rather than testing
75351         __MSVCRT__.
75353 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75354             Bruno Haible  <bruno@clisp.org>
75356         * lib/glob.c: Don't include <pwd.h> on native Windows.
75357         (WINDOWS32): New macro.
75358         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
75360 2008-09-13  Bruno Haible  <bruno@clisp.org>
75362         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
75363         (ETIMEDOUT): Remove macro.
75364         (glthread_cond_timedwait_multithreaded): New declaration.
75365         (glthread_cond_timedwait): Use it.
75366         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
75367         (glthread_cond_timedwait_multithreaded): New function.
75369 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
75371         * modules/poll-tests: Do not check for io.h.
75372         * tests/test-poll.c: Check for __MSVCRT__ instead.
75374 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
75376         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
75377         * modules/poll-tests: Add inet_pton, stdbool, sockets.
75378         * tests/test-poll.c: Use them.  Use _pipe on Windows.
75380 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
75382         * modules/poll-tests: New.
75383         * tests/test-poll.c: New.
75385 2008-09-12  Eric Blake  <ebb9@byu.net>
75387         frexp: test for NetBSD failure on -0.0
75388         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
75389         not all, bugs from NetBSD 3.0 have been fixed.
75390         * doc/posix-functions/frexp.texi (frexp): Document bug.
75391         Reported by Thomas Klausner.
75393         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
75394         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
75395         literal -0.0.
75396         Reported by Jonathan C. Patschke <jp@centtech.com>.
75398 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75400         * lib/glthread/cond.h: Use dummy implementation also if
75401         USE_WIN32_THREADS.
75403 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75405         * modules/fnmatch-posix (License): Change to LGPLv2+.
75406         * modules/fnmatch-gnu (License): Likewise.
75408 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75410         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
75412 2008-09-11  Jim Meyering  <meyering@redhat.com>
75414         * users.txt: Add gtk-vnc.
75416 2008-09-08  Simon Josefsson  <simon@josefsson.org>
75418         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
75419         rotate amounts.
75421         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
75422         required for 16-bit and 8-bit rotates.
75423         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
75424         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
75425         UINT8_MAX instead of hard-coded constants.
75426         Suggested by Paul Eggert.
75428 2008-09-07  Bruno Haible  <bruno@clisp.org>
75430         * tests/test-striconveh.c (main): Check behaviour when converting from
75431         UTF-7.
75433         Make striconveh work better with stateful encodings.
75434         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
75435         that iconv does not increment the inptr when returning -1/EINVAL.
75437 2008-09-07  Bruno Haible  <bruno@clisp.org>
75439         * build-aux/config.rpath: Update according to libtool-2.2.6.
75440         * build-aux/config.libpath: Likewise.
75442 2008-09-06  Bruno Haible  <bruno@clisp.org>
75444         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
75445         * lib/freadptr.c (freadptr): Likewise.
75446         * lib/freadseek.c (freadptrinc): Likewise.
75447         Reported by Simon Josefsson.
75449 2008-09-06  Bruno Haible  <bruno@clisp.org>
75451         * modules/freadptr (License): Change to LGPLv2+.
75452         * modules/freadseek (License): Likewise.
75453         Suggested by Eric Blake.
75455         * modules/memchr2 (License): Change to LGPLv2+.
75456         Approved by Eric Blake.
75458 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75459             Bruno Haible  <bruno@clisp.org>
75461         Make gnulib-tool work with native 'sed' on AIX.
75462         * gnulib-tool (sed_noop): New variable.
75463         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
75464         func_add_or_update, func_create_testdir): Use it to initialize sed
75465         script variables.
75466         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
75468 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
75469             Bruno Haible  <bruno@clisp.org>
75471         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
75472         also works after #include directives.
75474 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
75476         getdate.y: reject an out-of-range timezone value
75477         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
75478         the range [-24...+24].  When specified with only one or two digits,
75479         * tests/test-getdate.c: Tests for the fix.
75480         * doc/getdate.texi: Document this change.
75482 2008-09-03  Bruno Haible  <bruno@clisp.org>
75484         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
75486 2008-09-02  Simon Josefsson  <simon@josefsson.org>
75488         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
75489         <bruce.korb@gmail.com> with ideas from Ben Pfaff
75490         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
75491         Blake <ebb9@byu.net>.
75493         * tests/test-bitrotate.c: Add more test vectors.
75495 2008-09-02  Eric Blake  <ebb9@byu.net>
75497         vasnprintf-posix: handle large precision via %.*d
75498         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
75499         when handling it ourselves.
75500         * tests/test-vasnprintf-posix.c (test_function): Add test.
75501         * tests/test-snprintf-posix.h (test_function): Likewise.
75502         * tests/test-sprintf-posix.h (test_function): Likewise.
75503         * tests/test-vasprintf-posix.c (test_function): Likewise.
75504         Reported by Alain Guibert.
75506 2008-09-01  Eric Blake  <ebb9@byu.net>
75508         c-stack: make configure-time check more robust
75509         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
75510         successful sigaction call.
75511         Reported by Tom G. Christensen.
75513 2008-09-01  Bruno Haible  <bruno@clisp.org>
75515         New module 'findprog-lgpl'.
75516         * modules/findprog-lgpl: New file.
75517         * lib/findprog-lgpl.c: New file.
75518         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
75519         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
75520         to decide whether to use strdup or xstrdup, concatenated_filename or
75521         xconcatenated_filename.
75523 2008-09-01  Bruno Haible  <bruno@clisp.org>
75525         Split module 'concat-filename' into 'concat-filename' (LGPL) and
75526         'xconcat-filename' (GPL).
75527         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
75528         (License): Change to LGPLv2+.
75529         * modules/xconcat-filename: New file.
75530         * lib/concat-filename.h (concatenated_filename): Change specification.
75531         (xconcatenated_filename): New declaration.
75532         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
75533         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
75534         memory situations.
75535         * lib/xconcat-filename.c: New file.
75536         * NEWS: Mention the change.
75537         * lib/findprog.c: Include concat-filename.h, not filename.h.
75538         (find_in_path): Use xconcatenated_filename instead of
75539         concatenated_filename.
75540         * lib/javacomp.c: Include concat-filename.h, not filename.h.
75541         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
75542         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
75543         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
75544         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
75545         instead of concatenated_filename.
75546         * lib/javaexec.c: Include concat-filename.h, not filename.h.
75547         (execute_java_class): Use xconcatenated_filename instead of
75548         concatenated_filename.
75549         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
75550         * modules/javacomp (Depends-on): Likewise.
75551         * modules/javaexec (Depends-on): Likewise.
75553 2008-09-01  Bruno Haible  <bruno@clisp.org>
75555         Split module 'filename' into 'filename' and 'concat-filename'.
75556         * modules/filename: Keep only lib/filename.h.
75557         (License): Change to LGPLv2+.
75558         * modules/concat-filename: New file, extracted from modules/filename.
75559         * lib/filename.h (concatenated_filename): Remove declaration.
75560         * lib/concat-filename.h: New file, extracted from lib/filename.h.
75561         * lib/concat-filename.c: Include concat-filename.h.
75562         * NEWS: Mention the change.
75564 2008-09-01  Simon Josefsson  <simon@josefsson.org>
75566         * lib/bitrotate.h (rotl8, rotr8): Add.
75568         * modules/bitrotate (configure.ac): Need
75569         AC_REQUIRE([AC_C_INLINE]).
75570         (Description): Mention stdint.h.  Reported by Bruno Haible
75571         <bruno@clisp.org>.
75573         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
75574         Paolo Bonzini <bonzini@gnu.org>.
75576 2008-08-31  Bruno Haible  <bruno@clisp.org>
75578         Assume Solaris specific bi-arch conventions on Solaris systems.
75579         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
75580         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
75581         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
75582         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
75583         like acl_libdirstem.
75584         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
75585         acl_libdirstem.
75586         * NEWS: Mention the change.
75587         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
75589 2008-08-31  Jim Meyering  <meyering@redhat.com>
75591         * lib/strftime.h: Add comments describing the two added arguments.
75593         remove duplicate #include directives
75594         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
75595         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
75597 2008-08-31  Bruno Haible  <bruno@clisp.org>
75599         New module 'sigpipe-die'.
75600         * modules/sigpipe-die: New file.
75601         * lib/sigpipe-die.h: New file.
75602         * lib/sigpipe-die.c: New file.
75603         * MODULES.html.sh (Signal handling): Add sigpipe-die.
75605 2008-08-31  Bruno Haible  <bruno@clisp.org>
75607         Don't override previously installed signal handlers.
75608         * lib/fatal-signal.c (saved_sigactions): New variable.
75609         (uninstall_handlers): Reset the signal to the saved handler, not
75610         to SIG_DFL (except when ignored).
75611         (install_handlers): Save the previous handlers.
75613 2008-08-30  Bruno Haible  <bruno@clisp.org>
75615         * gnulib-tool (func_reset_sigpipe): New function.
75616         (func_get_automake_snippet, func_modules_transitive_closure,
75617         func_import): Invoke it before a join command that reads from stdin,
75618         to avoid "echo: write error: Broken pipe" error messages on stderr.
75619         Reported by Sam Steingold <sds@gnu.org>.
75621 2008-08-30  Bruno Haible  <bruno@clisp.org>
75623         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
75624         Code copied from m4/open.m4.
75625         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
75626         access and the filename ends in a slash. Code copied from lib/open.c.
75627         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
75628         * tests/test-fopen.c (main): Check against bug with trailing slash.
75630 2008-08-29  Bruno Haible  <bruno@clisp.org>
75632         Avoid some "gcc -pedantic" warnings.
75633         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
75634         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
75635         * lib/dirent.in.h: Likewise.
75636         * lib/fcntl.in.h: Likewise.
75637         * lib/float.in.h: Likewise.
75638         * lib/iconv.in.h: Likewise.
75639         * lib/inttypes.in.h: Likewise.
75640         * lib/locale.in.h: Likewise.
75641         * lib/math.in.h: Likewise.
75642         * lib/netinet_in.in.h: Likewise.
75643         * lib/search.in.h: Likewise.
75644         * lib/signal.in.h: Likewise.
75645         * lib/stdarg.in.h: Likewise.
75646         * lib/stdint.in.h: Likewise.
75647         * lib/stdio.in.h: Likewise.
75648         * lib/stdlib.in.h: Likewise.
75649         * lib/string.in.h: Likewise.
75650         * lib/strings.in.h: Likewise.
75651         * lib/sys_select.in.h: Likewise.
75652         * lib/sys_socket.in.h: Likewise.
75653         * lib/sys_stat.in.h: Likewise.
75654         * lib/sys_time.in.h: Likewise.
75655         * lib/sysexits.in.h: Likewise.
75656         * lib/time.in.h: Likewise.
75657         * lib/unistd.in.h: Likewise.
75658         * lib/wchar.in.h: Likewise.
75659         * lib/wctype.in.h: Likewise.
75660         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
75661         * modules/fchdir (Makefile.am): Likewise.
75662         * modules/fcntl (Makefile.am): Likewise.
75663         * modules/float (Makefile.am): Likewise.
75664         * modules/iconv_open (Makefile.am): Likewise.
75665         * modules/inttypes (Makefile.am): Likewise.
75666         * modules/locale (Makefile.am): Likewise.
75667         * modules/math (Makefile.am): Likewise.
75668         * modules/netinet_in (Makefile.am): Likewise.
75669         * modules/search (Makefile.am): Likewise.
75670         * modules/signal (Makefile.am): Likewise.
75671         * modules/stdarg (Makefile.am): Likewise.
75672         * modules/stdint (Makefile.am): Likewise.
75673         * modules/stdio (Makefile.am): Likewise.
75674         * modules/stdlib (Makefile.am): Likewise.
75675         * modules/string (Makefile.am): Likewise.
75676         * modules/strings (Makefile.am): Likewise.
75677         * modules/sys_select (Makefile.am): Likewise.
75678         * modules/sys_socket (Makefile.am): Likewise.
75679         * modules/sys_stat (Makefile.am): Likewise.
75680         * modules/sys_time (Makefile.am): Likewise.
75681         * modules/sysexits (Makefile.am): Likewise.
75682         * modules/time (Makefile.am): Likewise.
75683         * modules/unistd (Makefile.am): Likewise.
75684         * modules/wchar (Makefile.am): Likewise.
75685         * modules/wctype (Makefile.am): Likewise.
75686         Reported by Reuben Thomas <rrt@sc3d.org>.
75688 2008-08-29  Bruno Haible  <bruno@clisp.org>
75690         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
75691         any more.
75693 2008-08-29  Simon Josefsson  <simon@josefsson.org>
75695         * MODULES.html.sh (Misc): Add bitrotate.
75697         * modules/bitrotate: New file.
75699         * lib/bitrotate.h: New file.
75701         * modules/bitrotate-tests: New file.
75703         * tests/test-bitrotate.c: New file.
75705         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
75706         on the bitrotate module.
75708         * lib/arctwo.c: Use new bitrotate module.
75710 2008-08-29  Jim Meyering  <meyering@redhat.com>
75712         bootstrap: merge changes from coreutils
75713         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
75714         of copied files.  Remove a kludge, now that this is fixed.
75715         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
75716         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
75717         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
75719 2008-08-29  Bruno Haible  <bruno@clisp.org>
75721         * MODULES.html.sh: Remove --cvs-urls option.
75723 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
75725         maint.mk: adjust to file name change
75726         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
75728 2008-08-28  Jim Meyering  <meyering@redhat.com>
75730         * modules/getndelim2 (License): Relicense to LGPLv2+.
75731         Approved by Richard Stallman for the version of 1995, and by
75732         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
75734 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
75736         * lib/getdelim.c (flockfile, funlockfile): Make all of them
75737         dummy if one is not available.  Do not touch them if
75738         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
75739         (getc_maybe_unlocked): New.
75740         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
75742 2008-08-26  Eric Blake  <ebb9@byu.net>
75744         doc/INSTALL: resync from autoconf
75745         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
75746         (INSTALL_PRELUDE): Delete; this is done more efficiently by
75747         moving...
75748         * install.texi [!autoconf]: ...here.  Resync from autoconf.
75749         * INSTALL: Regenerate.
75750         * INSTALL.ISO: New file.
75751         * INSTALL.UTF-8: Likewise.
75753 2008-08-26  Jim Meyering  <meyering@redhat.com>
75755         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
75756         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
75757         these definitions conditional, so that they may be overridden, too.
75759 2008-08-26  Bruno Haible  <bruno@clisp.org>
75761         Generate INSTALL file variants with prettier quotes.
75762         * doc/Makefile (INSTALL_PRELUDE): New macro.
75763         (INSTALL): Use it.
75764         (INSTALL.ISO, INSTALL.UTF-8): New rules.
75766 2008-08-26  Bruno Haible  <bruno@clisp.org>
75768         Run makeinfo in an English locale.
75769         * doc/Makefile (MAKEINFO): New variable.
75771 2008-08-26  Bruno Haible  <bruno@clisp.org>
75773         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
75774         Suggested by Eric Blake.
75776 2008-08-25  Bruno Haible  <bruno@clisp.org>
75778         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
75780 2008-08-25  Eric Blake  <ebb9@byu.net>
75782         c-stack: test that stack overflow can be caught
75783         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
75784         that platform allows handling stack overflow; at least OS/2 EMX
75785         has sigaltstack, but crashes before transferring control to
75786         handler on stack overflow.
75787         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
75788         check for HAVE_STACK_OVERFLOW_HANDLING.
75789         Reported by Elbert Pol.
75791 2008-08-25  Bruno Haible  <bruno@clisp.org>
75793         * doc/posix-functions/strftime.texi: Fix description of strftime
75794         module.
75796 2008-08-24  Bruno Haible  <bruno@clisp.org>
75798         * tests/uniwidth/test-uc_width2.c: New file.
75799         * tests/uniwidth/test-uc_width2.sh: New file.
75800         * modules/uniwidth/width-tests (Files): Add the new files.
75801         (TESTS): Add uniwidth/test-uc_width2.sh.
75802         (TESTS_ENVIRONMENT): New variable.
75803         (check_PROGRAMS): Add test-uc_width2.
75804         (test_uc_width2_SOURCES): New variable.
75806         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
75807         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
75808         not 0x00AB.
75809         Reported by Alexander V. Lukyanov <lav@netis.ru>.
75811 2008-08-22  Eric Blake  <ebb9@byu.net>
75813         test-lock, test-tls: mention why a test is skipped
75814         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
75815         skipped.
75816         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
75818         count-one-bits: relax license
75819         * modules/count-one-bits (License): Relicense to LGPLv2+.
75820         Suggested by Ludovic Courtès, approved by Ben Pfaff.
75822 2008-08-22  Andreas Schwab  <schwab@suse.de>
75824         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
75825         Remove spurious space in assignment.
75827 2008-08-21  Simon Josefsson  <simon@josefsson.org>
75829         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
75830         Paul Eggert <eggert@CS.UCLA.EDU>.
75832 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
75834         * modules/gettext: Add m4/threadlib.m4.
75836 2008-08-19  Eric Blake  <ebb9@byu.net>
75838         test-c-stack: fix compilation failure on FreeBSD 5.0
75839         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
75840         headers before <sys/resource.h>.
75841         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
75842         the bug.
75843         Reported by Nelson H. F. Beebe.
75845         strverscmp: migrate from "strverscmp.h" to <string.h>
75846         * modules/string (Makefile.am): Add new hooks.
75847         * modules/strverscmp (Files): Remove strverscmp.h.
75848         (Depends-on): Add string.
75849         (configure.ac): Add indicator.
75850         (Include): Mention new header.
75851         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
75852         defaults.
75853         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
75854         results.
75855         * lib/strverscmp.h: Delete.
75856         * lib/string.in.h (strverscmp): Provide declaration, when needed.
75857         * tests/test-strverscmp.c (includes): Adjust client.
75858         * lib/check-version.c (includes): Likewise.
75859         * NEWS: Document the change.
75861         strverscmp: add unit test
75862         * modules/strverscmp-tests: New file.
75863         * tests/test-strverscmp.c: Likewise.
75865 2008-08-19  Simon Josefsson  <simon@josefsson.org>
75867         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
75868         regarding Windows crypto stuff, from Mono.
75870 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
75872         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
75873         if present, for intel RND.  Return error on failures.
75875 2008-08-18  Ben Pfaff  <blp@gnu.org>
75877         gitlog-to-changelog: give better diagnostic for failed pipe-open
75878         * build-aux/gitlog-to-changelog: Improve error message: suggest
75879         that the version of Git may be too old.
75881 2008-08-18  Simon Josefsson  <simon@josefsson.org>
75883         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
75884         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
75886 2008-08-18  Bruno Haible  <bruno@clisp.org>
75888         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
75889         pthread_in_use().
75891 2008-08-18  Bruno Haible  <bruno@clisp.org>
75893         * lib/glthread/threadlib.c: Include <pthread.h>.
75895 2008-08-18  Bruno Haible  <bruno@clisp.org>
75897         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
75898         glthread_recursive_lock_* macros.
75899         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
75900         Fix syntax error.
75902 2008-08-18  Bruno Haible  <bruno@clisp.org>
75904         * lib/glthread/thread.c: Avoid forcing a context switch right after
75905         thread creation.
75907 2008-08-17  Bruno Haible  <bruno@clisp.org>
75909         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
75910         * lib/glthread/thread.h: Provide Win32 specific implementation.
75911         * modules/thread (Files): Add lib/glthread/thread.c.
75912         (Depends-on): Add lock.
75913         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
75915 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75917         New module 'yield'.
75918         * modules/yield: New file.
75919         * lib/glthread/yield.h: New file.
75920         * m4/yield.m4: New file.
75921         * MODULES.html.sh (Multithreading): Add yield.
75923 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75925         New module 'thread'.
75926         * modules/thread: New file.
75927         * lib/glthread/thread.h: New file.
75928         * m4/thread.m4: New file.
75929         * MODULES.html.sh (Multithreading): Add thread.
75931 2008-08-17  Bruno Haible  <bruno@clisp.org>
75933         * lib/glthread/lock.h: Include <stdlib.h> always.
75934         * lib/glthread/tls.h: Likewise.
75935         * lib/glthread/cond.h: Likewise.
75937 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75939         New module 'cond'.
75940         * modules/cond: New file.
75941         * lib/glthread/cond.h: New file.
75942         * lib/glthread/cond.c: New file.
75943         * m4/cond.m4: New file.
75944         * MODULES.html.sh (Multithreading): Add cond.
75946 2008-08-16  Eric Blake  <ebb9@byu.net>
75948         c-stack: fix regression on Irix 5.3 from 2008-06-21
75949         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
75950         sa_sigaction...
75951         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
75952         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
75953         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
75954         * modules/signal (Makefile.am): Use the value.
75955         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
75956         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
75957         * doc/posix-headers/signal.texi (signal.h): Document this
75958         portability issue.
75959         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
75960         Reported by Tom G. Christensen.
75962 2008-08-17  Bruno Haible  <bruno@clisp.org>
75964         New module 'threadlib'.
75965         * modules/threadlib: New file.
75966         * lib/glthread/threadlib.c: New file, extracted from
75967         lib/glthread/lock.c.
75968         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
75969         functions.
75970         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
75971         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
75972         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
75973         macros.
75974         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
75975         (gl_DISABLE_THREADS): Remove macro.
75976         * modules/lock (Files): Remove build-aux/config.rpath.
75977         (Depends-on): Remove havelib. Add threadlib.
75978         (configure.ac-early): Remove section.
75979         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
75980         * modules/tls (Depends-on): Remove lock. Add threadlib.
75981         (Link): New section, copied from threadlib.
75982         * MODULES.html.sh (Multithreading): Add threadlib.
75984 2008-08-14  Bruno Haible  <bruno@clisp.org>
75986         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
75987         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
75988         glthread_rwlock_unlock, glthread_rwlock_destroy,
75989         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
75990         glthread_recursive_lock_destroy): Define as macros always.
75991         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
75992         glthread_lock_lock.
75993         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
75994         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
75995         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
75996         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
75997         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
75998         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
75999         (glthread_recursive_lock_lock_func): Renamed from
76000         glthread_recursive_lock_lock.
76001         (glthread_recursive_lock_unlock_func): Renamed from
76002         glthread_recursive_lock_unlock.
76003         (glthread_recursive_lock_destroy_func): Renamed from
76004         glthread_recursive_lock_destroy.
76006 2008-08-14  Bruno Haible  <bruno@clisp.org>
76008         * lib/glthread/lock.h: Renamed from lib/lock.h.
76009         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
76010         * lib/glthread/tls.h: Renamed from lib/tls.h.
76011         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
76012         * lib/fstrcmp.c: Update includes.
76013         * lib/strsignal.c: Update includes.
76014         * modules/lock (Files, Makefile.am): Update.
76015         (Include): Change to "glthread/lock.h".
76016         * modules/tls (Files, Makefile.am): Update.
76017         (Include): Change to "glthread/tls.h".
76018         * tests/test-lock.c: Update includes.
76019         * tests/test-tls.c: Update includes.
76020         * NEWS: Mention the renamed header files.
76022 2008-08-11  Jim Meyering  <meyering@redhat.com>
76024         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
76026 2008-08-11  Eric Blake  <ebb9@byu.net>
76028         test-c-stack: avoid C99-ism
76029         * tests/test-c-stack.c (main): Fix whitespace, move declaration
76030         before statement.
76031         Reported by Alain Guibert.
76033 2008-08-10  Jim Meyering  <meyering@redhat.com>
76035         ensure that return value of uinttostr et al are not ignored
76036         * lib/inttostr.h (__GNUC_PREREQ): Define.
76037         (__attribute_warn_unused_result__): Define.
76038         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
76040 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
76042         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
76043         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
76045 2008-08-07  Jim Meyering  <meyering@redhat.com>
76047         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
76049         * modules/mkstemp (License): Relicense under LGPLv2+.
76050         * modules/tempname (License): Likewise.
76052 2008-08-06  Bruno Haible  <bruno@clisp.org>
76054         * lib/poll.c (poll): Further micro-optimization.
76056 2008-08-06  Jim Meyering  <meyering@redhat.com>
76058         inet_pton.c: use locale-independent tolower
76059         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
76060         (inet_pton6): Use c_tolower rather than tolower.
76061         * modules/inet_pton (Depends-on): Add c-ctype.
76063 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
76065         * lib/poll.c (poll): Avoid division when timeout is 0, cache
76066         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
76068 2008-08-06  Jim Meyering  <meyering@redhat.com>
76070         * modules/inet_pton (License): Relicense under LGPLv2+.
76072 2008-08-03  Bruno Haible  <bruno@clisp.org>
76074         Additional non-aborting API for lock and tls.
76075         * lib/lock.h: Include <errno.h>.
76076         (glthread_lock_init): New macro/function.
76077         (gl_lock_init): Define as wrapper around glthread_lock_init.
76078         (glthread_lock_lock): New macro/function.
76079         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
76080         (glthread_lock_unlock): New macro/function.
76081         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
76082         (glthread_lock_destroy): New macro/function.
76083         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
76084         (glthread_rwlock_init): New macro/function.
76085         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
76086         (glthread_rwlock_rdlock): New macro/function.
76087         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
76088         (glthread_rwlock_wrlock): New macro/function.
76089         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
76090         (glthread_rwlock_unlock): New macro/function.
76091         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
76092         (glthread_rwlock_destroy): New macro/function.
76093         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
76094         (glthread_recursive_lock_init): New macro/function.
76095         (gl_recursive_lock_init): Define as wrapper around
76096         glthread_recursive_lock_init.
76097         (glthread_recursive_lock_lock): New macro/function.
76098         (gl_recursive_lock_lock): Define as wrapper around
76099         glthread_recursive_lock_lock.
76100         (glthread_recursive_lock_unlock): New macro/function.
76101         (gl_recursive_lock_unlock): Define as wrapper around
76102         glthread_recursive_lock_unlock.
76103         (glthread_recursive_lock_destroy): New macro/function.
76104         (gl_recursive_lock_destroy): Define as wrapper around
76105         glthread_recursive_lock_destroy.
76106         (glthread_once): New macro/function.
76107         (gl_once): Define as wrapper around glthread_once.
76108         Update function declarations.
76109         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
76110         glthread_rwlock_init. Return error code.
76111         (glthread_rwlock_rdlock_multithreaded): Renamed from
76112         glthread_rwlock_rdlock. Return error code.
76113         (glthread_rwlock_wrlock_multithreaded): Renamed from
76114         glthread_rwlock_wrlock. Return error code.
76115         (glthread_rwlock_unlock_multithreaded): Renamed from
76116         glthread_rwlock_unlock. Return error code.
76117         (glthread_rwlock_destroy_multithreaded): Renamed from
76118         glthread_rwlock_destroy. Return error code.
76119         (glthread_recursive_lock_init_multithreaded): Renamed from
76120         glthread_recursive_lock_init. Return error code.
76121         (glthread_recursive_lock_lock_multithreaded): Renamed from
76122         glthread_recursive_lock_lock. Return error code.
76123         (glthread_recursive_lock_unlock_multithreaded): Renamed from
76124         glthread_recursive_lock_unlock. Return error code.
76125         (glthread_recursive_lock_destroy_multithreaded): Renamed from
76126         glthread_recursive_lock_destroy. Return error code.
76127         (glthread_once_call): Make static.
76128         (glthread_once_multithreaded): Renamed from glthread_once.
76129         * lib/tls.h: Include <errno.h>.
76130         (glthread_tls_key_init): New macro/function.
76131         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
76132         (glthread_tls_set): New macro/function.
76133         (gl_tls_set): Define as wrapper around glthread_tls_set.
76134         (glthread_tls_key_destroy): New macro/function.
76135         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
76136         Update function declarations.
76137         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
76138         glthread_tls_get.
76139         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
76141 2008-08-04  Eric Blake  <ebb9@byu.net>
76143         gnumakefile: use space, not TAB, outside of targets
76144         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
76146 2008-08-02  Jim Meyering  <meyering@redhat.com>
76148         getdate.y: avoid locale-dependent date parsing failure
76149         In Turkish locales, getdate would fail to recognize keywords
76150         containing a lowercase "i".  The solution is not to rely on
76151         locale-sensitive case-conversion.
76152         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
76153         (lookup_word): Use c_toupper in place of toupper.
76154         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
76155         Reported by Vefa Bicakci <bicave@superonline.com> in
76156         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
76157         * modules/getdate (Depends-on): Add c-ctype.
76159 2008-08-02  Bruno Haible  <bruno@clisp.org>
76161         * gnulib-tool (func_import): When updating or creating a .gitignore
76162         file, prepend each added line with a slash, and ignore leading slashes
76163         from the existing lines.
76164         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
76166 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76168         Portability fix for GNU make 3.79.1.
76169         * top/GNUmakefile: Avoid 'else COND', which older GNU make
76170         versions do not understand.
76172 2008-08-01  Bruno Haible  <bruno@clisp.org>
76174         Work around bug of HP-UX 10.20 cc with -0.0 literal.
76175         * tests/test-isnanf.h (zero): New variable.
76176         (main): Avoid literal -0.0f.
76177         * tests/test-isnand.h (zero): New variable.
76178         (main): Avoid literal -0.0.
76179         * tests/test-isnanl.h (zero): New variable.
76180         (main): Avoid literal -0.0L.
76181         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
76182         (test_float, test_double, test_long_double): Avoid literals -0.0f,
76183         -0.0, -0.0L.
76184         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
76185         (test_signbitd): Avoid literal -0.0.
76186         (test_signbitl): Avoid literal -0.0L.
76187         * tests/test-ceilf1.c (zero): New variable.
76188         (main): Avoid literal -0.0f.
76189         * tests/test-ceill.c (zero): New variable.
76190         (main): Avoid literal -0.0L.
76191         * tests/test-floorf1.c (zero): New variable.
76192         (main): Avoid literal -0.0f.
76193         * tests/test-floorl.c (zero): New variable.
76194         (main): Avoid literal -0.0L.
76195         * tests/test-roundf1.c (zero): New variable.
76196         (main): Avoid literal -0.0f.
76197         * tests/test-round1.c (zero): New variable.
76198         (main): Avoid literal -0.0.
76199         * tests/test-roundl.c (zero): New variable.
76200         (main): Avoid literal -0.0L.
76201         * tests/test-truncf1.c (zero): New variable.
76202         (main): Avoid literal -0.0f.
76203         * tests/test-trunc1.c (zero): New variable.
76204         (main): Avoid literal -0.0.
76205         * tests/test-truncl.c (zero): New variable.
76206         (main): Avoid literal -0.0L.
76207         * tests/test-frexp.c (zero): New variable.
76208         (main): Avoid literal -0.0.
76209         * tests/test-frexpl.c (zero): New variable.
76210         (main): Avoid literal -0.0L.
76211         * tests/test-ldexpl.c (zero): New variable.
76212         (main): Avoid literal -0.0L.
76213         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
76214         (zerod, zerol): New variables.
76215         (test_function): Avoid literals -0.0, -0.0L.
76216         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
76217         (zerod, zerol): New variables.
76218         (test_function): Avoid literals -0.0, -0.0L.
76219         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
76220         (zerod, zerol): New variables.
76221         (test_function): Avoid literals -0.0, -0.0L.
76222         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
76223         (zerod, zerol): New variables.
76224         (test_function): Avoid literals -0.0, -0.0L.
76225         * tests/test-strtod.c (zero): New variable.
76226         (main): Avoid literal -0.0.
76227         Reported by Jonathan C. Patschke <jp@centtech.com>.
76229 2008-07-31  Jim Meyering  <meyering@redhat.com>
76231         sha256.h: correct definition of SHA224_DIGEST_SIZE
76232         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
76233         Reported by Paulie Pena IV <paulie4@gmail.com>.
76234         Define as 224 / 8, rather than as a literal.
76235         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
76236         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
76237         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
76239 2008-07-31  Bruno Haible  <bruno@clisp.org>
76241         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
76242         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
76243         Reported by Jonathan Patschke <jp@centtech.com>.
76245 2008-07-31  Bruno Haible  <bruno@clisp.org>
76247         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
76248         Reported by Paolo Bonzini <bonzini@gnu.org>.
76250 2008-07-30  Eric Blake  <ebb9@byu.net>
76252         test-strtod: allow compilation without -lm
76253         * tests/test-strtod.c (main): Avoid link dependence on fabs.
76254         Reported by Dennis Clarke <blastwave@gmail.com>.
76256 2008-07-28  Jim Meyering  <meyering@redhat.com>
76258         bootstrap: work also when there are no .po files in po/
76259         * build-aux/bootstrap (update_po_files): Complete the change
76260         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
76262 2008-07-27  Jim Meyering  <meyering@redhat.com>
76264         * users.txt: Add zile.
76266 2008-07-26  Ben Pfaff  <blp@gnu.org>
76268         Add missing dependencies on new m4/exponent[fdl].m4 files.
76269         * modules/isnanf-nolibm: Add m4/exponentf.m4.
76270         * modules/isnand-nolibm: Add m4/exponentd.m4.
76271         * modules/isnanl-nolibm: Add m4/exponentl.m4.
76272         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
76273         m4/isnan[fdl].m4, because the macros actually used moved.
76274         Reported by Jim Meyering.
76276 2008-07-14  Ben Pfaff  <blp@gnu.org>
76278         Add isinf module.
76279         * lib/isinf.c: New file.
76280         * lib/math.in.h: Define isinf macro if we have decided to replace
76281         it.
76282         * m4/isinf.m4: New file.
76283         * m4/math_h.m4: Initialize and substitute variables for isinf
76284         module.
76285         * modules/isinf: New file.
76286         * modules/isinf-tests: New file.
76287         * modules/math: Add substitutions for new module.
76288         * tests/test-isinf.c: New file.
76289         * doc/posix-functions/isinf.texi: Mention new module.
76290         * MODULES.html.sh: Mention new module.
76292 2008-07-14  Ben Pfaff  <blp@gnu.org>
76294         Factor out some macros for use by additional modules.
76295         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
76296         exponentf.m4.
76297         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
76298         exponentd.m4.
76299         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
76300         file exponentl.m4.
76301         * m4/exponentf.m4: New file.
76302         * m4/exponentd.m4: New file.
76303         * m4/exponentl.m4: New file.
76304         * modules/isnanf: Use new file m4/exponentf.m4.
76305         * modules/isnand: Use new file m4/exponentd.m4.
76306         * modules/isnanl: Use new file m4/exponentl.m4.
76308 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
76310         mktime.c: normalize tp->tm_isdst value to -1/0/1.
76311         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
76312         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
76313         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
76315         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
76316         readlink on platforms without PATH_MAX.
76318 2008-07-21  Eric Blake  <ebb9@byu.net>
76320         Warn, not fail, on stale version.
76321         * top/GNUmakefile (_curr-ver): Tone down previous patch.
76323         Don't allow installation with stale devel version number.
76324         * top/GNUmakefile (_is-install-target): New macro.
76325         (_curr-ver): Forbid installation with stale version number.
76327 2008-07-20  Bruno Haible  <bruno@clisp.org>
76329         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
76330         TESTS_ENVIRONMENT.
76331         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
76333 2008-07-20  Bruno Haible  <bruno@clisp.org>
76335         * lib/c-stack.h (c_stack_action): Add documentation.
76336         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
76338 2008-07-20  Bruno Haible  <bruno@clisp.org>
76340         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
76341         * modules/readlink (License): Likewise.
76343 2008-07-17  Eric Blake  <ebb9@byu.net>
76345         * modules/c-stack (Link): Fix typo.
76347         Make c-stack use libsigsegv, when available.
76348         * modules/c-stack (Depends-on): Add libsigsegv.
76349         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
76350         needed.
76351         * lib/c-stack.c (SIGSTKSZ): Define fallback.
76352         (segv_handler, overflow_handler, c_stack_action)
76353         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
76354         implementation when libsigsegv is available, but only when using
76355         the library is necessary.
76356         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
76357         comment, explaining why XSI check fails on Linux.
76358         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
76359         * tests/test-c-stack2.sh: Tweak skip message.
76360         * NEWS: Document new link-time requirements.
76362 2008-07-16  Eric Blake  <ebb9@byu.net>
76364         c-stack: Expose false positives when not using libsigsegv.
76365         * modules/c-stack-tests (Files): Expand test.
76366         * tests/test-c-stack.c (main): Add means to conditionally trigger
76367         non-overflow SIGSEGV.
76368         * tests/test-c-stack2.sh: New file.
76370 2008-07-14  Bruno Haible  <bruno@clisp.org>
76372         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
76373         Reported by Eric Blake.
76375 2008-07-14  Sam Steingold  <sds@gnu.org>
76376             Bruno Haible  <bruno@clisp.org>
76378         New module libsigsegv.
76379         * modules/libsigsegv: New file.
76380         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
76381         modifications.
76382         * MODULES.html.sh (Signal handling): New section.
76384 2008-07-14  Bruno Haible  <bruno@clisp.org>
76386         * modules/unictype/ctype-* (Description): Add the word "function".
76387         Improves the resulting doc in MODULES.html.
76389 2008-07-12  Ben Pfaff  <blp@gnu.org>
76391         Add longlong module.
76392         * modules/longlong: New file.
76394 2008-07-12  Bruno Haible  <bruno@clisp.org>
76396         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
76397         to empty.
76399 2008-07-10  Ben Pfaff  <blp@gnu.org>
76401         Add isnan module.
76402         * doc/posix-functions/isnan.texi: Mention new module.
76403         * lib/math.in.h: Define isnan macro if we have decided to replace
76404         it.
76405         * m4/isnan.m4: New file.
76406         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
76407         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
76408         also.
76409         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
76410         redundancy.
76411         * m4/math_h.m4: Initialize and substitute variables for isnan
76412         module.
76413         * modules/isnan: New file.
76414         * modules/isnan-tests: New file.
76415         * modules/math: Add substitutions for new module.
76416         * tests/test-isnan.c: New file.
76417         * MODULES.html.sh: Mention new module.
76419 2008-07-10  Ben Pfaff  <blp@gnu.org>
76421         Add isnanf module.
76422         * lib/isnanf.m4: New file.
76423         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
76424         (gl_HAVE_ISNANF_IN_LIBM): New macro.
76425         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
76426         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
76427         * modules/isnanf: New file.
76428         * modules/isnanf-tests: New file.
76429         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
76430         files.
76431         * tests/test-isnanf-nolibm.c: factored most of its contents into
76432         new file tests/test-isnanf.h.
76433         * tests/test-isnanf.h: New file.
76434         * tests/test-isnanf.c: New file.
76435         * MODULES.html.sh: Mention new module.
76436         * doc/glibc-functions/isnanf.texi: Mention new module.
76438 2008-07-10  Ben Pfaff  <blp@gnu.org>
76440         Add isnand module.
76441         * lib/isnand.h: New file.
76442         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
76443         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
76444         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
76445         functionality also.
76446         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
76447         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
76448         (gl_HAVE_ISNAND_IN_LIBM): New macro.
76449         * modules/isnand: New file.
76450         * modules/isnand-tests: New file.
76451         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
76452         files.
76453         * tests/test-isnand-nolibm.c: factored most of its contents into
76454         new file tests/test-isnand.h.
76455         * tests/test-isnand.h: New file.
76456         * tests/test-isnand.c: New file.
76457         * MODULES.html.sh: Mention new module.
76459 2008-07-10  Ben Pfaff  <blp@gnu.org>
76461         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
76462         * lib/isnand.h: Rename lib/isnand-nolibm.h.
76463         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
76464         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
76465         * modules/isnanf-nolibm: Update references to renamed files.
76466         * modules/isnand-nolibm: Likewise.
76467         * modules/isnanf-nolibm-tests: Likewise.
76468         * modules/isnand-nolibm-tests: Likewise.
76469         * lib/frexp.c: Likewise.
76470         * lib/isfinite.c: Likewise.
76471         * lib/signbitd.c: Likewise.
76472         * lib/signbitf.c: Likewise.
76473         * lib/vasnprintf.c: Likewise.
76474         * tests/test-ceilf1.c: Likewise.
76475         * tests/test-ceilf2.c: Likewise.
76476         * tests/test-floorf1.c: Likewise.
76477         * tests/test-floorf2.c: Likewise.
76478         * tests/test-frexp.c: Likewise.
76479         * tests/test-round1.c: Likewise.
76480         * tests/test-round2.c: Likewise.
76481         * tests/test-roundf1.c: Likewise.
76482         * tests/test-strtod.c: Likewise.
76483         * tests/test-trunc1.c: Likewise.
76484         * tests/test-trunc2.c: Likewise.
76485         * tests/test-truncf1.c: Likewise.
76486         * tests/test-truncf2.c: Likewise.
76487         * NEWS: Mention the renamed header files.
76489 2008-07-11  Jim Meyering  <meyering@redhat.com>
76491         vc-list-files: make the last-resort awk code more portable
76492         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
76493         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
76494         does not support it.
76496 2008-07-10  Eric Blake  <ebb9@byu.net>
76498         Work with tar's bootstrap.
76499         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
76500         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
76501         an m4 comment.
76503 2008-07-09  Jim Meyering  <meyering@redhat.com>
76505         posix-shell.m4: fix typo that made this test malfunction
76506         * m4/posix-shell.m4: Remove capitalization in variable name.
76508 2008-07-08  Bruno Haible  <bruno@clisp.org>
76510         * m4/onceonly.m4: Update comments.
76511         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76513 2008-07-04  Jim Meyering  <meyering@redhat.com>
76515         * users.txt: Add vc-dwim.
76516         (bison, coreutils): Use the gitweb URL.
76518 2008-07-03  Jim Meyering  <meyering@redhat.com>
76520         * users.txt: Add libffcall.  From Sam Steingold.
76522 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
76524         getdate.y: do not ignore TZ with relative day, month or year offset
76525         * lib/getdate.y (get_date): Move the tz-handling block to follow the
76526         relative-date-handling, since otherwise, the latter would clobber the
76527         sole output (an updated Start value) of the tz-handling block.
76528         * tests/test-getdate.c: Tests for the fix
76530 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76532         Recognize 'foo_LIBRARIES += libgnu.a'.
76533         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
76534         makefile snippet has already specified an installation location,
76535         also using '+='.
76537 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
76539         getdate.y: factor out common actions
76540         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
76541         Use them in place of open-coded actions.
76543 2008-07-01  Simon Josefsson  <simon@josefsson.org>
76545         Add self-test for getdate module.
76546         * modules/getdate-tests: New file.
76547         * tests/test-getdate.c: New file.
76549 2008-06-29  Bruno Haible  <bruno@clisp.org>
76551         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
76552         .gitignore.
76553         Reported by Sylvain Beucler <beuc@beuc.net>.
76555 2008-06-29  Bruno Haible  <bruno@clisp.org>
76557         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
76558         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
76560 2008-06-29  Bruno Haible  <bruno@clisp.org>
76562         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
76563         EXTRA_DIST.
76564         Reported by Sylvain Beucler <beuc@beuc.net>.
76566 2008-06-26  Jim Meyering  <meyering@redhat.com>
76568         make several modules depend on the "open" module
76569         This provides slightly increased consistency when opening-for-write
76570         the name of a non-directory spelled with a trailing slash.
76571         * modules/chdir-safer: Likewise.
76572         * modules/chown: Likewise.
76573         * modules/clean-temp: Likewise.
76574         * modules/copy-file: Likewise.
76575         * modules/fchdir: Likewise.
76576         * modules/fcntl-safer: Likewise.
76577         * modules/pipe: Likewise.
76578         * modules/utime: Likewise.
76579         Prompted by Eric Blake and Bruno Haible.
76581 2008-06-24  Andreas Schwab  <schwab@suse.de>
76583         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
76584         literals can be used as initializers for global variables.
76586 2008-06-23  Eric Blake  <ebb9@byu.net>
76588         Make gnulib-cache.m4 easier to diff.
76589         * gnulib-tool (func_import): Allow newlines when reading cached
76590         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
76592 2008-06-23  Bruno Haible  <bruno@clisp.org>
76594         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
76595         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
76596         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
76597         m4/signalblocking.m4.
76598         (gl_PREREQ_SIGACTION): Don't invoke it.
76599         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
76600         gl_PREREQ_SIG_HANDLER_H.
76601         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
76602         Don't check for sigaction here.
76604 2008-06-23  Bruno Haible  <bruno@clisp.org>
76606         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
76607         (install_handlers): Don't set the SA_RESETHAND flag.
76609 2008-06-23  Bruno Haible  <bruno@clisp.org>
76611         * m4/sigaction.m4: Comment fixes.
76612         * lib/signal.in.h: Likewise.
76614 2008-06-23  Eric Blake  <ebb9@byu.net>
76616         Fix typo.
76617         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
76619         Avoid SA_ namespace.
76620         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
76621         Reported by Ralf Wildenhues.
76623         Avoid test failure due to SA_RESTORER.
76624         * tests/test-sigaction.c (SA_MASK): New macro.
76625         (main): Avoid failing due to extension flags being set.
76626         Reported by Jim Meyering.
76628         Revert use of sig-handler.h in sigprocmask.c.
76629         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
76630         it requires the existence of struct sigaction.
76631         * lib/sigprocmask.c (handler_t): Restore typedef.
76632         (rpl_signal, old_handlers): Use local type.
76634 2008-06-22  Bruno Haible  <bruno@clisp.org>
76636         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
76637         conditionally.
76638         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
76640 2008-06-22  Bruno Haible  <bruno@clisp.org>
76642         * doc/posix-functions/siginterrupt.texi: Move note.
76644         * lib/signal.in.h (SA_RESTART): New macro.
76645         * lib/sigaction.c: Update comment.
76647         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
76649         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
76650         (gl_PREREQ_SIGPROCMASK): Invoke it.
76651         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
76653         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
76655         * lib/sigprocmask.c: Update a comment.
76657 2008-06-21  Eric Blake  <ebb9@byu.net>
76659         Use sigaction module rather than signal().
76660         * modules/c-stack (Depends-on): Add sigaction.
76661         * modules/fatal-signal (Depends-on): Likewise.
76662         * modules/nanosleep (Depends-on): Likewise.
76663         * modules/sigprocmask (Files): Add sig-handler.h.
76664         * modules/sigaction (Files): Likewise.
76665         * lib/sig-handler.h (get_handler): New file, suggested by Paul
76666         Eggert.
76667         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
76668         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
76669         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
76670         (init_fatal_signals): Likewise.
76671         * lib/nanosleep.c (rpl_nanosleep): Likewise.
76672         (siginterrupt): Delete fallback.
76673         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
76674         instead.
76675         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
76676         siginterrupt.
76678         New module sigaction, for mingw.
76679         * modules/sigaction: New module...
76680         * modules/sigaction-tests: ...and its test.
76681         * m4/sigaction.m4: New file.
76682         * lib/sigaction.c: Likewise.
76683         * tests/test-sigaction.c: Likewise.
76684         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
76685         * modules/signal (Makefile.am): Likewise.
76686         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
76687         needed.
76688         * doc/posix-headers/signal.texi (signal.h): Mention provided
76689         types.
76690         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
76691         that sigaction is preferable.
76692         * doc/posix-functions/sigaction.texi (sigaction): Mention new
76693         module.
76694         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76695         sigaction.
76697         Improve robustness of sigprocmask by overriding signal.
76698         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
76699         is in use.
76700         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
76701         (SIGKILL, SIGSTOP): Provide fallbacks.
76702         (rpl_signal): Implement.
76703         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
76704         signal can be called inside handlers.
76706         Fix nanosleep module on mingw.
76707         * modules/nanosleep (Depends-on): Add sys_select.
76708         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
76710         Fix licensing of sigprocmask.
76711         * modules/raise (License): Relicense as LGPL.
76713 2008-06-21  Bruno Haible  <bruno@clisp.org>
76715         * lib/propername.c (proper_name_utf8): Don't use the transliterated
76716         result if it contains question marks.
76717         Reported by Michael Geng <linux@michaelgeng.de>.
76719 2008-06-19  Bruno Haible  <bruno@clisp.org>
76721         Fix CVS-ism.
76722         * doc/gnulib.texi: Include updated-stamp.texi.
76723         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
76724         (updated-stamp.texi): New rule.
76725         (gnulib.info): Depend on it.
76726         * doc/.gitignore: Add updated-stamp.texi.
76727         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
76729 2008-06-19  Bruno Haible  <bruno@clisp.org>
76731         * doc/Makefile (gnulib.info): Update and simplify dependencies.
76732         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
76734 2008-06-19  Eric Blake  <ebb9@byu.net>
76736         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
76737         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
76738         Reported by Stepan Kasal.
76740 2008-06-18  Bruno Haible  <bruno@clisp.org>
76742         * lib/fatal-signal.c (init_fatal_signals): Add comment.
76743         Reported by Eric Blake.
76745 2008-06-18  Eric Blake  <ebb9@byu.net>
76747         Work around cygwin 1.5.25 strsignal bug.
76748         * tests/test-strsignal.c: Allow for const char *.
76749         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
76751 2008-06-18  Simon Josefsson  <simon@josefsson.org>
76753         * users.txt: Update URL to article and add author/date
76754         information.
76756 2008-06-17  Bruno Haible  <bruno@clisp.org>
76758         New macro gl_DISABLE_THREADS.
76759         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
76760         if the user did not pass --enable-threads or --disable-threads option.
76761         (gl_DISABLE_THREADS): New macro.
76762         Reported by Eric Blake <ebb9@byu.net>.
76764 2008-06-17  Bruno Haible  <bruno@clisp.org>
76766         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
76767         when the macro ignores it.
76768         Based on a patch by Eric Blake <ebb9@byu.net>.
76770 2008-06-17  Bruno Haible  <bruno@clisp.org>
76772         * modules/tls (License): Change to LGPLv2+.
76773         Reported by Eric Blake.
76775 2008-06-17  Eric Blake  <ebb9@byu.net>
76777         Simplify c-stack prerequisites.
76778         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
76779         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
76780         no longer requires <ucontext.h> to exist.  Optimize setrlimit
76781         check.
76782         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
76783         <sys/resource.h>.
76785         Move c-stack test into testsuite.
76786         * modules/c-stack-tests: New file.
76787         * lib/c-stack.c [DEBUG]: Move test program...
76788         * tests/test-c-stack.c: ...into this new file.  Skip rather than
76789         fail test if sigaltstack is lacking.
76790         * tests/test-c-stack.sh: New driver file.
76792 2008-06-16  Eric Blake  <ebb9@byu.net>
76794         Use raise module consistently.
76795         * modules/fatal-signal (Depends-on): Add raise.
76796         * modules/sigprocmask (Depends-on): Likewise.
76797         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
76798         * lib/sigprocmask.c (sigprocmask): Likewise.
76799         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
76800         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
76802         Fix compliance bug in sigpending.
76803         * lib/sigprocmask.c (sigpending): Return pending array via
76804         parameter, not return value.
76806 2008-06-14  Eric Blake  <ebb9@byu.net>
76808         Improve obstack-printf test code.
76809         * tests/test-obstack-printf.c (test_function): Fix comment, and
76810         simplify usage of obstack_* in macros.  Add a test for coverage.
76811         Reported by Bruno Haible.
76813 2008-06-14  Bruno Haible  <bruno@clisp.org>
76815         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
76816         array size as a constant, not as a const variable.
76817         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
76818         AC_USE_SYSTEM_EXTENSIONS.
76819         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
76820         Test whether the obstack_printf function actually exists.
76821         * modules/obstack-printf (Depends-on): Add extensions.
76822         (Include): Remove obstack.h.
76823         * modules/obstack-printf-posix (Depends-on): Add extensions.
76824         (Include): Remove obstack.h.
76826 2008-06-13  Eric Blake  <ebb9@byu.net>
76828         Add obstack-printf and obstack-printf-posix modules.
76829         * modules/obstack-printf: New file.
76830         * modules/obstack-printf-posix: Likewise.
76831         * MODULES.html.sh (Misc): Mention them.
76832         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
76833         Likewise.
76834         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
76835         Likewise.
76836         * modules/stdio (Makefile.am): Accomodate new modules.
76837         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
76838         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
76839         Declare.
76840         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
76841         functions.
76842         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
76843         (gl_REPLACE_OBSTACK_PRINTF): New macros
76844         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
76845         * tests/test-obstack-printf.c: New file.
76846         * modules/obstack-printf-tests: Likewise.
76847         * modules/obstack-printf-posix-tests: Likewise.
76849 2008-06-11  Bruno Haible  <bruno@clisp.org>
76851         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
76852         * lib/open.c: Include errno.h.
76853         (open): Fail when attempting to write to a file that has a trailing
76854         slash.
76855         * tests/test-open.c (main): Test against trailing slash bug.
76856         * doc/posix-functions/open.texi: Mention the trailing slash bug.
76858 2008-06-10  Bruno Haible  <bruno@clisp.org>
76860         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
76861         for $? to work inside the trap command, with various /bin/sh-s.
76862         * tests/test-vc-list-files-cvs.sh: Likewise.
76864 2008-06-10  Bruno Haible  <bruno@clisp.org>
76866         * lib/acl-internal.h: Don't include gettext.h here.
76867         * lib/set-mode-acl.c: Include gettext.h here.
76868         * lib/copy-acl.c: Likewise.
76870 2008-06-10  Bruno Haible  <bruno@clisp.org>
76872         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
76873         * lib/wait-process.c (wait_subprocess): Likewise.
76874         * lib/execute.h (execute): Add termsigp argument.
76875         * lib/execute.c (execute): Likewise.
76876         * lib/csharpcomp.c (compile_csharp_using_pnet,
76877         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
76878         * lib/csharpexec.c (execute_csharp_using_pnet,
76879         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
76880         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
76881         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
76882         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
76883         is_jikes_present): Update.
76884         * lib/javaexec.c (execute_java_class): Update.
76885         * lib/javaversion.c (execute_and_read_line): Update.
76886         * NEWS: Document the changes.
76887         Reported by Eric Blake.
76889 2008-06-10  Eric Blake  <ebb9@byu.net>
76891         Add missing include.
76892         * tests/test-strstr.c (includes): Add <signal.h>.
76893         * tests/test-strcasestr.c (includes): Likewise.
76894         * tests/test-memmem.c (includes): Likewise.
76896 2008-06-10  Bruno Haible  <bruno@clisp.org>
76898         * lib/wait-process.c (wait_subprocess): Add an assertion.
76900 2008-06-10  Bruno Haible  <bruno@clisp.org>
76902         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
76904 2008-06-10  Bruno Haible  <bruno@clisp.org>
76906         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
76907         using alarm().
76908         * tests/test-strcasestr.c (main): Likewise.
76909         * tests/test-strstr.c (main): Likewise.
76911 2008-06-09  Bruno Haible  <bruno@clisp.org>
76913         Work around the Solaris 10 ACE ACLs ABI change.
76914         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
76915         declare if ACL_NO_TRIVIAL is present.
76916         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
76917         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
76918         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
76919         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
76920         define if ACL_NO_TRIVIAL is present.
76921         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
76922         and use the current ABI.
76923         (file_has_acl): Use same #if condition as elsewhere.
76924         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
76925         in use, and use the current ABI.
76926         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
76927         Reported by Jim Meyering.
76929 2008-06-09  Eric Blake  <ebb9@byu.net>
76931         Work around environments that (stupidly) ignore SIGALRM.
76932         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
76933         before using alarm().
76934         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
76935         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
76936         Reported by Ian Beckwith <ianb@erislabs.net>.
76938         Produce autobuild blurb earlier in log.
76939         * modules/autobuild (configure.ac-early): Move AB_INIT here.
76941 2008-06-09  Jim Meyering  <meyering@redhat.com>
76942         and Ondřej Vašík  <ovasik@redhat.com>
76944         utimens.c: correct kernel bug work-around
76945         Ondřej Vašík found that the invalid return value of 280 indicates
76946         failure, not success, and the kernel bug we're trying to work
76947         around affects not just the utimensat call, but also the fallback
76948         futimens call.
76949         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
76950         not success.
76951         [HAVE_FUTIMENS]: Use the same work-around, here.
76953 2008-06-09  Jim Meyering  <meyering@redhat.com>
76955         add more guards around definition of ACE_-related code
76956         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
76957         ALLOW and ACE_OWNER are also defined.
76959 2008-06-08  Bruno Haible  <bruno@clisp.org>
76961         * lib/acl-internal.h: Add me as co-author.
76962         * lib/file-has-acl.c: Likewise.
76963         * lib/set-mode-acl.c: Likewise.
76964         * lib/copy-acl.c: Likewise.
76966 2008-06-08  Bruno Haible  <bruno@clisp.org>
76968         Add support for AIX ACLs.
76969         * lib/acl-internal.h (acl_nontrivial): New declaration.
76970         * lib/file-has-acl.c (acl_nontrivial): New function.
76971         (file_has_acl): Add implementation using AIX 4 ACL API.
76972         * lib/set-mode-acl.c (qset_acl): Likewise.
76973         * lib/copy-acl.c (qcopy_acl): Likewise.
76975 2008-06-08  Bruno Haible  <bruno@clisp.org>
76977         Add support for HP-UX ACLs.
76978         * lib/acl-internal.h (acl_nontrivial): New declaration.
76979         * lib/file-has-acl.c (acl_nontrivial): New function.
76980         (file_has_acl): Add implementation using HP-UX 11 ACL API.
76981         * lib/set-mode-acl.c (qset_acl): Likewise.
76982         * lib/copy-acl.c (qcopy_acl): Likewise.
76984 2008-06-08  Bruno Haible  <bruno@clisp.org>
76986         Add support for Cygwin ACLs.
76987         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
76988         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
76989         the chmod_or_fchmod call.
76990         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
76992 2008-06-08  Bruno Haible  <bruno@clisp.org>
76994         Fix bug with setuid modes in Solaris 10+ code.
76995         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
76996         succeeded, when the mode contains some special bits.
76998 2008-06-08  Bruno Haible  <bruno@clisp.org>
77000         Add support for Solaris 7..10 ACLs.
77001         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
77002         declarations.
77003         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
77004         functions.
77005         (file_has_acl): Add implementation using Solaris 7..10 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         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
77012         declaration.
77013         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
77014         (acl_access_nontrivial): Remove MacOS X case.
77015         (file_has_acl): Use acl_extended_nontrivial.
77016         * lib/copy-acl.c (qcopy_acl): Likewise.
77018 2008-06-08  Bruno Haible  <bruno@clisp.org>
77020         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
77022 2008-06-08  Jim Meyering  <meyering@redhat.com>
77024         * modules/acl (Maintainer): Add Bruno Haible.
77026 2008-06-07  Bruno Haible  <bruno@clisp.org>
77028         Improve support for Tru64 ACLs.
77029         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
77030         ACL on OSF/1.
77032 2008-06-07  Bruno Haible  <bruno@clisp.org>
77034         Add support for MacOS X ACLs.
77035         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
77036         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
77037         * lib/set-mode-acl.c (qset_acl): Likewise.
77038         * lib/copy-acl.c (qcopy_acl): Likewise.
77040 2008-06-07  Bruno Haible  <bruno@clisp.org>
77042         Fix memory leak introduced on 2008-05-22.
77043         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
77044         use.
77046 2008-06-07  Bruno Haible  <bruno@clisp.org>
77048         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
77049         to construct an empty ACL.
77051 2008-06-07  Bruno Haible  <bruno@clisp.org>
77053         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
77054         precisely.
77055         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
77057 2008-06-07  Bruno Haible  <bruno@clisp.org>
77059         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
77060         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
77062 2008-06-07  Bruno Haible  <bruno@clisp.org>
77064         * doc/posix-functions/_setjmp.texi: Explain the use of this function
77065         regardless of POSIX.
77066         * doc/posix-functions/_longjmp.texi: Likewise.
77067         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
77068         SystemV platform in this case.
77070 2008-06-06  Eric Blake  <ebb9@byu.net>
77072         Document abort() bugs.
77073         * doc/posix-functions/abort.texi (abort): Mention anomalies.
77075         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
77076         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
77077         sigsetjmp.
77078         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
77079         siglongjmp, but only as a macro.
77080         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
77081         is obsolete.
77082         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
77084         Tweak documentation to cover cygwin argz bugs.
77085         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
77086         argz bug fix; no code change needed since no cygwin releases
77087         occurred between the last fix and the bug being tested.
77088         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
77089         module and recently fixed cygwin bugs.
77090         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
77091         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
77092         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
77093         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
77094         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
77095         Likewise.
77096         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
77097         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
77098         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
77099         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
77100         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
77101         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
77102         Likewise.
77104         Avoid gcc warning on cygwin.
77105         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
77106         !ACL_NO_TRIVIAL]: Avoid unused variable.
77108 2008-06-05  Eric Blake  <ebb9@byu.net>
77110         Be tolerant of UNKNOWN version in gnulib-tool test dir.
77111         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
77112         git-version-gen fails to come up with a version.
77113         Reported by Simon Josefsson.
77115 2008-06-05  Jim Meyering  <meyering@redhat.com>
77116             Paul Eggert  <eggert@cs.ucla.edu>
77118         utimens.c: work around a probable Linux kernel bug
77119         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
77120         appears to be a kernel bug that causes utimensat to return 280
77121         instead of 0, indicating success.
77123 2008-06-04  Bruno Haible  <bruno@clisp.org>
77125         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
77126         2008-06-01 commit.
77128 2008-06-04  Bruno Haible  <bruno@clisp.org>
77130         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
77131         * lib/file-has-acl.c (acl_access_nontrivial): New function.
77132         (file_has_acl): Use it. Save errno afterwards.
77133         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
77135 2008-06-03  Bruno Haible  <bruno@clisp.org>
77137         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
77138         draft code. Simplify #ifs.
77139         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
77140         Put Solaris code after POSIX-draft code. Fix comments regarding
77141         Solaris 10, HP-UX. Mention Cygwin.
77142         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
77144 2008-06-03  Eric Blake  <ebb9@byu.net>
77146         Provide fallback for older kernels.
77147         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
77148         Provide runtime fallback if kernel lacks support.
77149         Reported by Mike Frysinger.
77151 2008-06-02  Bruno Haible  <bruno@clisp.org>
77153         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
77154         it exists.
77156 2008-06-02  Bruno Haible  <bruno@clisp.org>
77158         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
77159         * lib/copy-acl.c (qcopy_acl): Update comment.
77161 2008-06-02  Bruno Haible  <bruno@clisp.org>
77163         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
77164         like ACL APIs.
77166 2008-06-02  Bruno Haible  <bruno@clisp.org>
77168         * tests/test-file-has-acl.sh: Use different code for Cygwin.
77169         * tests/test-set-mode-acl.sh: Likewise.
77170         * tests/test-copy-acl.sh: Likewise.
77171         * tests/test-copy-file.sh: Likewise.
77173 2008-06-02  Bruno Haible  <bruno@clisp.org>
77175         * tests/test-file-has-acl.sh: Remove unused code.
77177 2008-06-01  Bruno Haible  <bruno@clisp.org>
77179         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
77180         (copy_acl): Just a wrapper around qcopy_acl that emits the error
77181         messages.
77182         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
77184 2008-06-01  Bruno Haible  <bruno@clisp.org>
77186         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
77187         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
77188         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
77189         APIs.
77190         * modules/acl-tests (configure.ac): Remove tests now contained in
77191         m4/acl.m4.
77193 2008-06-02  Jim Meyering  <meyering@redhat.com>
77195         announce-gen: use a better key-server host name
77196         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
77197         it may be more consistently reliable.  Suggested by Werner Koch
77198         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
77200 2008-06-01  Bruno Haible  <bruno@clisp.org>
77202         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
77203         Reported by Voroskoi Andras <voroskoi@gmail.com>.
77205 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
77207         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
77209 2008-06-01  Bruno Haible  <bruno@clisp.org>
77211         New ACL tests.
77212         * tests/test-file-has-acl.sh: New file.
77213         * tests/test-file-has-acl.c: New file.
77214         * tests/test-set-mode-acl.sh: New file.
77215         * tests/test-set-mode-acl.c: New file.
77216         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
77217         * tests/test-copy-acl.c: New file.
77218         * modules/acl-tests: New file, based on modules/copy-file-tests.
77219         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
77220         (Depends-on): Add acl-tests.
77221         (configure.ac): Remove checks.
77222         (Makefile.am): Don't create test-sameacls program here any more.
77224 2008-06-01  Bruno Haible  <bruno@clisp.org>
77226         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
77227         * tests/test-sameacls.c: Include progname.h.
77228         (main): Invoke set_program_name. Portability fixes for MacOS X,
77229         Solaris, HP-UX.
77231 2008-06-01  Bruno Haible  <bruno@clisp.org>
77233         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
77234         function.
77235         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
77237 2008-06-01  Bruno Haible  <bruno@clisp.org>
77239         * modules/rpmatch (Depends-on): Add strdup.
77241 2008-06-01  Bruno Haible  <bruno@clisp.org>
77243         * lib/pipe.c: Include unistd-safer.h.
77244         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
77245         * modules/pipe (Depends-on): Add unistd-safer.
77247 2008-05-30  Simon Josefsson  <simon@josefsson.org>
77249         * modules/autobuild (configure.ac): Call AB_INIT.
77251 2008-05-30  Simon Josefsson  <simon@josefsson.org>
77253         * tests/test-getaddrinfo.c: Don't print debug messages by default.
77254         Suggested by Bruno Haible <bruno@clisp.org>.
77256 2008-05-30  Simon Josefsson  <simon@josefsson.org>
77258         * tests/test-base64.c: Cast size_t to unsigned long when invoking
77259         printf.  Use %lu instead of %d.  Reported by Bruno Haible
77260         <bruno@clisp.org>.
77262 2008-05-29  Eric Blake  <ebb9@byu.net>
77264         Prefer new POSIX 200x interfaces over futimesat.
77265         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
77266         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
77267         when available.
77268         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
77270 2008-05-28  Bruno Haible  <bruno@clisp.org>
77272         * modules/stpcpy (License): Change to LGPLv2+.
77273         Requested by David Lutterkort <dlutter@redhat.com>.
77275 2008-05-27  Bruno Haible  <bruno@clisp.org>
77277         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
77278         current mingw.
77279         Reported by Jose E. Marchesi <jemarch@gnu.org>.
77281 2008-05-27  Bruno Haible  <bruno@clisp.org>
77283         * modules/iconv_open (Link): New section, from module 'iconv'.
77284         * modules/striconv (Link): Likewise.
77285         * modules/striconveh (Link): Likewise.
77286         * modules/xstriconv (Link): Likewise.
77287         * modules/unicodeio (Link): Likewise.
77288         * modules/propername (Link): Likewise.
77289         Reported by Jim Meyering.
77291 2008-05-26  Jim Meyering  <meyering@redhat.com>
77293         sha256: do not artificially restrict buffer length to be < 2^32
77294         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
77295         uint32_t to size_t.
77296         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
77297         to match.
77299         avoid unaligned access errors, e.g., on sparc
77300         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
77301         direct access through a possibly-unaligned uint64* pointer.
77302         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
77303         direct access through a possibly-unaligned uint32* pointer.
77304         Prompted by this patch from Tom "spot" Callaway:
77305         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
77307         sha512.c: fix typo in comment
77308         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
77310 2008-05-25  Bruno Haible  <bruno@clisp.org>
77312         * lib/set-mode-acl.c: Renamed from lib/acl.c.
77313         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
77314         (Makefile.am): Update lib_SOURCES.
77316 2008-05-25  Bruno Haible  <bruno@clisp.org>
77318         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
77320 2008-05-25  Jim Meyering  <meyering@redhat.com>
77322         useless-if-before-free: freed expr may have white-space differences
77323         * build-aux/useless-if-before-free: Recognize cases in which the
77324         freed expression differs from the tested one in embedded white
77325         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
77326         $1 was used, so we can't make any regexp shy.  Improved tests now
77327         detect this.
77329         useless-if-before-free: accept white space in the expression.
77330         * build-aux/useless-if-before-free: For now, any white space
77331         in the expression must be identical in the free argument.
77333         useless-if-before-free: efficiency tweak
77334         * build-aux/useless-if-before-free: Make the expression-matching
77335         regexp "shy".
77336         Make the *outer* regexp shy, not the expr-matching one.
77338         update code-in-comment to accept cast of free arg
77339         * build-aux/useless-if-before-free: Update regexp.
77341 2008-05-25  Bruno Haible  <bruno@clisp.org>
77343         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
77344         * modules/copy-file-tests (Files, Makefile.am): Update.
77345         * tests/test-copy-file.c (func_test_copy): Update.
77347 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
77349         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
77351 2008-05-23  Bruno Haible  <bruno@clisp.org>
77353         Improve support for ACLs on OSF/1.
77354         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
77355         Remove fallback for unknown flavors of ACLs.
77357 2008-05-22  Bruno Haible  <bruno@clisp.org>
77359         Add support for ACLs on OSF/1.
77360         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
77361         replacements.
77362         (acl_free_text): New macro fallback.
77363         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
77364         acl_free.
77365         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
77366         acl_free_text function. Require AC_C_INLINE.
77368 2008-05-22  Bruno Haible  <bruno@clisp.org>
77370         Make copy_acl work on MacOS X 10.5.
77371         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
77372         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
77373         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
77374         If MODE_INSIDE_ACL, don't assume that every system has the same text
77375         representation for ACLs as FreeBSD.
77376         * lib/copy-acl.c (copy_acl): Add support for platforms with
77377         !MODE_INSIDE_ACL.
77378         * lib/file-has-acl.c (file_has_acl): Likewise.
77379         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
77380         FreeBSD, MacOS X, or IRIX, respectively.
77382 2008-05-22  Bruno Haible  <bruno@clisp.org>
77384         * lib/acl.h: Don't include <sys/acl.h>.
77385         (GETACLCNT): Move fallback to lib/acl-internal.h.
77386         * lib/acl-internal.h: Include <sys/acl.h> here.
77387         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
77389 2008-05-22  Bruno Haible  <bruno@clisp.org>
77391         Split off copy_acl function to separate file.
77392         * lib/copy-acl.c: New file, extracted from lib/acl.c.
77393         * lib/acl.c (copy_acl): Moved function to separate file.
77394         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
77395         * modules/acl (Files): Add lib/copy-acl.c.
77396         (Makefiles.am): Augment lib_SOURCES.
77398 2008-05-22  Bruno Haible  <bruno@clisp.org>
77400         * modules/copy-file-tests: New file.
77401         * tests/test-copy-file.sh: New file.
77402         * tests/test-copy-file.c: New file.
77403         * tests/test-copy-file-sameacls.c: New file.
77405 2008-05-22  Eric Blake  <ebb9@byu.net>
77407         Avoid gcc warning.
77408         * tests/test-memcmp.c (main): Pass NULL indirectly.
77410 2008-05-21  Bruno Haible  <bruno@clisp.org>
77412         Add reference doc about ACLs.
77413         * doc/acl-resources.txt: New file.
77414         * doc/acl-cygwin.txt: New file.
77416 2008-05-21  Bruno Haible  <bruno@clisp.org>
77418         Avoid one more warning from gcc.
77419         * lib/vasnprintf.c (IF_LINT): Update comments.
77420         (VASNPRINTF): Use it also for the 'prefix' array initializer.
77422 2008-05-21  Jim Meyering  <meyering@redhat.com>
77424         avoid a warning from gcc
77425         * lib/vasnprintf.c (IF_LINT): Define.
77426         (scale10_round_decimal_long_double):
77427         Use it to avoid a "may be used uninitialized" warning.
77428         (scale10_round_decimal_double): Likewise.
77430 2008-05-21  Simon Josefsson  <simon@josefsson.org>
77432         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
77433         declared.
77435 2008-05-20  Bruno Haible  <bruno@clisp.org>
77437         * tests/test-memcmp.c (main): Test also the sign of the result. Test
77438         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
77440 2008-05-20  Simon Josefsson  <simon@josefsson.org>
77442         * modules/memcmp-tests: New file.
77443         * tests/test-memcmp.c: New file.
77445 2008-05-19  Bruno Haible  <bruno@clisp.org>
77447         * modules/propername (Notice, configure.ac): Put quoted "..." into
77448         --keyword option.
77449         * lib/propername.h: Update comments accordingly.
77450         Reported by Eric Blake.
77452 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
77454         * modules/getpass-gnu (Depends-on): Add fseeko.
77456 2008-05-19  Simon Josefsson  <simon@josefsson.org>
77458         * modules/base64-tests: New file.
77460 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
77462         * lib/base64.c (base64_decode_ctx): If a decode context structure
77463         was passed in use it to ignore newlines.  If a context structure
77464         was _not_ passed in, continue to treat newlines as garbage (this
77465         is the historical behavior).  Formerly base64_decode.
77466         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
77467         takes a decode context structure.
77468         * lib/base64.h (base64_decode): Macro for four-argument calls.
77469         (base64_decode_alloc): Likewise.
77470         * lib/base64.c (base64_decode_ctx): If a decode context structure
77471         was passed in use it to ignore newlines.  If a context structure
77472         was _not_ passed in, continue to treat newlines as garbage (this
77473         is the historical behavior).  Formerly base64_decode.
77474         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
77475         takes a decode context structure.
77476         * lib/base64.h (base64_decode): Macro for four-argument calls.
77477         (base64_decode_alloc): Likewise.
77479 2008-05-19  Jim Meyering  <meyering@redhat.com>
77481         avoid a warning from gcc
77482         * lib/trim.c (IF_LINT): Define.
77483         (trim2): Use it to avoid a "may be used uninitialized" warning.
77485         Fix doc typo.
77486         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
77488 2008-05-19  Bruno Haible  <bruno@clisp.org>
77490         * doc/glibc-functions/getpass.texi: Document limits of other
77491         implementations.
77493 2008-05-19  Simon Josefsson  <simon@josefsson.org>
77494             Bruno Haible <bruno@clisp.org>
77496         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
77498 2008-05-18  Bruno Haible  <bruno@clisp.org>
77500         * modules/propername: New file, from GNU gettext.
77501         * lib/propername.h: New file, from GNU gettext.
77502         * lib/propername.c: New file, from GNU gettext.
77503         * MODULES.html.sh (Internationalization functions): Add propername.
77505 2008-05-16  Jim Meyering  <meyering@redhat.com>
77506             Bruno Haible  <bruno@clisp.org>
77508         Avoid some warnings from "gcc -Wshadow".
77509         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
77511 2008-05-15  Eric Blake  <ebb9@byu.net>
77513         Extend previous patch to cygwin 1.7.0.
77514         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
77515         fast implementation in cygwin >= 1.7.0.
77516         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
77517         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77519 2008-05-15  Bruno Haible  <bruno@clisp.org>
77521         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
77522         implementation in glibc >= 2.9.
77523         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
77524         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77526 2008-05-15  Bruno Haible  <bruno@clisp.org>
77528         * MODULES.html.sh (Internationalization functions): Remove linebreak.
77529         (Unicode string functions): Add unilbrk/*.
77530         Reported by Karl Berry.
77532 2008-05-15  Eric Blake  <ebb9@byu.net>
77534         Fix violation of <stdbool.h> replacement in regex.
77535         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
77536         * lib/regexec.c (re_search_internal): Likewise.
77537         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
77539 2008-05-15  Jim Meyering  <meyering@redhat.com>
77541         avoid distracting test output when git or cvs is not found
77542         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
77543         * tests/test-vc-list-files-git.sh: Likewise.
77545 2008-05-15  Eric Blake  <ebb9@byu.net>
77547         Glibc finally accepted the memmem speedup code, bugzilla #5514.
77548         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
77549         glibc version.
77550         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
77551         * doc/posix-functions/strstr.texi (strstr): Likewise.
77552         * lib/str-two-way.h (MAX): Sychronize with glibc.
77554 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
77556         * lib/regcomp.c (optimize_utf8): Add a note on why we test
77557         opr.ctx_type.
77558         (calc_first): Initialize constraint field.
77559         (duplicate_node_closure): Use it instead of special casing ANCHORS.
77560         Fix grammar.
77561         (duplicate_node): Merge constraint field for all node types.
77562         (calc_eclosure_iter): Look at constraint field for all node types.
77563         * lib/regex_internal.c (create_cd_newstate): Don't look at
77564         opr.ctx_type.
77566 2008-05-14  Bruno Haible  <bruno@clisp.org>
77568         Help GCC to do better code generation.
77569         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
77570         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
77571         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
77572         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
77573         Declare with attribute 'malloc' if supported.
77575 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
77577         use "echo STR|wc -c" rather than unportable "expr length STR"
77578         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
77579         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
77581 2008-05-14  Jim Meyering  <meyering@redhat.com>
77583         use dd ibs=$n count=1 ... rather than less-portable head -c$n
77584         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
77585         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
77586         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
77587         via Collin Lasse.
77589 2008-05-14  Eric Blake  <ebb9@byu.net>
77591         Avoid quadratic growth in gl_LIBSOURCES.
77592         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
77593         Suggested by Bruno Haible.
77595         Test xmemdup0.
77596         * modules/xmemdup0-tests: New file.
77597         * tests/test-xmemdup0.c: Likewise.
77599 2008-05-13  Eric Blake  <ebb9@byu.net>
77601         Split xmemdup0 into its own module.
77602         * modules/xmemdup0: New file.
77603         * lib/xmemdup0.h: Likewise.
77604         * lib/xmemdup0.c: Likewise.
77605         * MODULES.html.sh (Memory management functions): Add xmemdup0.
77606         * lib/xalloc.h (xmemdup0): Remove.
77607         * lib/xmalloc.c (xmemdup0): Likewise.
77609 2008-05-13  Eric Blake  <ebb9@byu.net>
77610             Bruno Haible  <bruno@clisp.org>
77612         Reduce number of forks required during autoconf.
77613         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
77614         and gl_LIBSOURCES_DIR.
77615         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
77616         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
77617         m4_syscmd per file.
77618         <m4_foreach_w>: Move...
77619         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
77621 2008-05-13  Eric Blake  <ebb9@byu.net>
77623         * gnulib-tool: Fix various comment typos.
77625 2008-05-12  Bruno Haible  <bruno@clisp.org>
77627         Tailor the linebreaking algorithm.
77628         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
77630 2008-05-12  Bruno Haible  <bruno@clisp.org>
77632         Update to Unicode 5.0.0.
77633         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
77634         LBP_JV, LBP_JT. Redistribute values.
77635         (unilbrk_table): Change size.
77636         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
77637         Unicode TR#14 rev. 22.
77638         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
77639         LBP_JV, LBP_JT. Redistribute values.
77640         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
77641         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
77642         Update.
77643         * lib/unilbrk/lbrkprop1.h: Regenerated.
77644         * lib/unilbrk/lbrkprop2.h: Regenerated.
77645         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
77646         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
77647         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
77648         Likewise.
77649         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
77650         Likewise.
77651         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
77652         result.
77653         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
77654         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
77655         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
77656         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
77657         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
77658         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
77660 2008-05-11  Bruno Haible  <bruno@clisp.org>
77662         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
77664 2008-05-11  Bruno Haible  <bruno@clisp.org>
77666         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
77667         * modules/unilbrk/gen-lbrk: New file.
77669 2008-05-11  Bruno Haible  <bruno@clisp.org>
77671         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
77672         * m4/sha512.m4 (gl_SHA512): Likewise.
77674 2008-05-11  Jim Meyering  <meyering@redhat.com>
77676         New modules: crypto/sha256, crypto/sha512 (from coreutils)
77677         * modules/crypto/sha256: New file.
77678         * modules/crypto/sha512: Likewise.
77679         * lib/sha256.c: Likewise.
77680         * lib/sha256.h: Likewise.
77681         * lib/sha512.c: Likewise.
77682         * lib/sha512.h: Likewise.
77683         * lib/u64.h: Likewise.
77684         * m4/sha256.m4: Likewise.
77685         * m4/sha512.m4: Likewise.
77686         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
77688 2008-05-10  Bruno Haible  <bruno@clisp.org>
77690         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
77691         (Input/Output <stdio.h>): Add xprintf.
77692         (Signal handling <signal.h>): Add strsignal.
77693         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
77694         (Core language properties): Add func.
77695         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
77696         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
77697         strings.
77698         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
77699         (Input/output): New section.
77700         (File system functions): Add openat-die, stat-macros.
77701         (Networking functions): Add sockets.
77702         (Unicode string functions): Add unictype/*.
77703         (Support for building libraries and executables): Add gperf.
77704         (Support for building documentation): Add agpl-3.0.
77705         (Misc): Add nocrash.
77707 2008-05-10  Bruno Haible  <bruno@clisp.org>
77709         * modules/unictype/gen-ctype: New file.
77711 2008-05-10  Jim Meyering  <meyering@redhat.com>
77713         Make chdir-safer.c more efficient on a system with no symlinks.
77714         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
77715         also if ELOOP is zero.  Suggested by Bruno Haible.
77717         Make chdir-safer.c slightly safer.
77718         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
77719         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
77721         Avoid compile failure on systems without ELOOP (like mingw).
77722         * lib/chdir-safer.c (ELOOP): Define if not already defined.
77723         Reported by Bruno Haible.
77725 2008-05-10  Bruno Haible  <bruno@clisp.org>
77727         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
77728         (is_utf8_encoding): Use a case-insensitive comparison.
77729         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
77730         streq.
77732 2008-05-10  Bruno Haible  <bruno@clisp.org>
77734         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
77735         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
77736         * lib/unilbrk/ulc-common.h (iconv_string_length,
77737         iconv_string_keeping_offsets): Remove declarations.
77738         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
77739         Don't include <iconv.h>, streq.h, xsize.h.
77740         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
77741         conversion.
77742         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
77743         <iconv.h>, streq.h, xsize.h.
77744         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
77745         conversion.
77746         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
77747         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
77748         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
77749         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
77751 2008-05-10  Bruno Haible  <bruno@clisp.org>
77753         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
77754         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
77756         * modules/unilbrk/u32-width-linebreaks-tests: New file.
77757         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
77759         * modules/unilbrk/u16-width-linebreaks-tests: New file.
77760         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
77762         * modules/unilbrk/u8-width-linebreaks-tests: New file.
77763         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
77765         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
77766         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
77768         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
77769         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
77771         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
77772         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
77774         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
77775         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
77777 2008-05-10  Bruno Haible  <bruno@clisp.org>
77779         Split up 'linebreak' module.
77780         * lib/unilbrk.h: New file, based on lib/linebreak.h.
77781         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
77782         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
77783         modifications.
77784         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
77785         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
77786         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
77787         lib/linebreak.c.
77788         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
77789         lib/linebreak.c.
77790         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
77791         lib/linebreak.c.
77792         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
77793         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
77794         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
77795         lib/linebreak.c.
77796         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
77797         lib/linebreak.c.
77798         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
77799         lib/linebreak.c.
77800         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
77801         lib/linebreak.c.
77802         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
77803         lib/linebreak.c.
77804         * modules/unilbrk/base: New file.
77805         * modules/unilbrk/tables: New file.
77806         * modules/unilbrk/u8-possible-linebreaks: New file.
77807         * modules/unilbrk/u16-possible-linebreaks: New file.
77808         * modules/unilbrk/u32-possible-linebreaks: New file.
77809         * modules/unilbrk/ulc-common: New file.
77810         * modules/unilbrk/ulc-possible-linebreaks: New file.
77811         * modules/unilbrk/u8-width-linebreaks: New file.
77812         * modules/unilbrk/u16-width-linebreaks: New file.
77813         * modules/unilbrk/u32-width-linebreaks: New file.
77814         * modules/unilbrk/ulc-width-linebreaks: New file.
77815         * lib/linebreak.h: Remove file.
77816         * lib/linebreak.c: Remove file.
77817         * m4/linebreak.m4: Remove file.
77818         * modules/linebreak: Remove file.
77819         * NEWS: Mention the changes.
77821 2008-05-09  Eric Blake  <ebb9@byu.net>
77823         Add xmemdup0.
77824         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
77825         implementation.
77826         * lib/xmalloc.c (xmemdup0): New C implementation.
77828 2008-05-08  Bruno Haible  <bruno@clisp.org>
77830         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
77832 2008-05-07  Eric Blake  <ebb9@byu.net>
77834         Support cross-compilation of <wctype.h>.
77835         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
77836         AC_CACHE_CHECK.
77838 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
77840         * build-aux/vc-list-files: Add support for bzr.
77842 2008-05-03  Jim Meyering  <meyering@redhat.com>
77844         avoid failed assertion with tight malloc
77845         * tests/test-getndelim2.c: Correct an off-by-one assertion.
77847 2008-05-03  Simon Josefsson  <simon@josefsson.org>
77849         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
77850         are needed from arpa/inet.h.
77851         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
77852         Reported by Bruno Haible.
77854 2008-05-02  Jim Meyering  <meyering@redhat.com>
77856         avoid compilation error on FreeBSD 6
77857         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
77859 2008-05-01  Jim Meyering  <meyering@redhat.com>
77861         useless-if-before-free: correct --help's exit status description
77862         * build-aux/useless-if-before-free (usage): Like grep, exit 0
77863         for one or more matches, etc.  Reported by Bruno Haible.
77865         vc-list-files: make the stand-alone gnulib test work
77866         * modules/vc-list-files-tests (configure.ac):
77867         Define and AC_SUBST abs_aux_dir.
77868         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
77869         $(abs_top_srcdir) to each script and having each of them
77870         duplicate the work of setting PATH, set PATH here, using
77871         the new variable, abs_aux_dir instead.
77872         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
77873         * tests/test-vc-list-files-git.sh: Likewise.
77874         Reported by Bruno Haible.
77876 2008-05-01  Bruno Haible  <bruno@clisp.org>
77878         * lib/getndelim2.c (getndelim2): Fix newsize computation during
77879         reallocation. Rename 'done' to 'found_delimiter'.
77881 2008-05-01  Jim Meyering  <meyering@redhat.com>
77883         vc-list-files: accommodate /bin/sh like the one from Solaris 10
77884         * build-aux/vc-list-files: Use `...`, not $(...).
77886 2008-04-30  Jim Meyering  <meyering@redhat.com>
77888         add tests for vc-list-files
77889         * modules/vc-list-files-tests: New module.
77890         * tests/test-vc-list-files-cvs.sh: New file.
77891         * tests/test-vc-list-files-git.sh: New file.
77893         avoid a warning from gcc
77894         * lib/getndelim2.c (IF_LINT): Define.
77895         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
77897         vc-list-files: work properly with build-aux/cvsu, too
77898         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
77899         to all cvs-based clauses.
77901         vc-list-files: work properly in the CVS+awk case, too
77902         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
77904         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
77905         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
77906         take more than one file argument, so .  Add quotes, just in case $dir
77907         ever contains a shell meta-character.  Prompted by Soren Hansen in
77908         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
77910 2008-04-29  Eric Blake  <ebb9@byu.net>
77912         Optimize getndelim2 to use block operations when possible.
77913         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
77914         freadseek, and memchr2.
77915         * lib/getndelim2.c (getndelim2): Use them for block reads.
77917 2008-04-29  Bruno Haible  <bruno@clisp.org>
77919         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
77920         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
77921         * modules/inet_ntop (Depends-on): Add extensions.
77922         * modules/inet_pton (Depends-on): Likewise.
77923         Reported by Simon Josefsson.
77925 2008-04-29  Jim Meyering  <meyering@redhat.com>
77927         When the is more than one match in a block, match all of them.
77928         * build-aux/useless-if-before-free: Iterate through each block
77929         until there are no more matches.
77931         Fix broken useless-if-before-free script.
77932         * build-aux/useless-if-before-free: Fix typo: missing "?" after
77933         the expression to match cast of argument to free-like function.
77935 2008-04-29  Eric Blake  <ebb9@byu.net>
77937         Use new header.
77938         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
77940 2008-04-29  Jim Meyering  <meyering@redhat.com>
77942         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
77943         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
77944         by gnulib to exist and to declare e.g., inet_ntop.
77945         Don't include "inet_ntop.h", now removed.
77947         * m4/arpa_inet_h.m4: Remove trailing blanks.
77949 2008-04-29  Eric Blake  <ebb9@byu.net>
77951         Silence valgrind on safe reads beyond potential array bounds.
77952         * lib/rawmemchr.valgrind: New file.
77953         * lib/strchrnul.valgrind: Likewise.
77954         * modules/rawmemchr (Files): Distribute new file.
77955         * modules/strchrnul (Files): Likewise.
77956         Suggested by Bruno Haible.
77958 2008-04-29  Bruno Haible  <bruno@clisp.org>
77960         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
77961         (inet_ntop, inet_pton): Change portability warning's wording.
77962         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
77963         Invoke gl_CHECK_NEXT_HEADERS.
77964         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
77965         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
77966         set ARPA_INET_H.
77967         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
77968         * modules/arpa_inet (Description): No longer only for systems that
77969         lack it.
77970         (Depends-on): Add include_next.
77971         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
77972         HAVE_ARPA_INET_H.
77974 2008-04-29  Jim Meyering  <meyering@redhat.com>
77976         * modules/mkdir (License): Re-license as LGPLv2+.
77978 2008-04-29  Bruno Haible  <bruno@clisp.org>
77980         * modules/rawmemchr (Maintainer): Set to Eric.
77981         * modules/strchrnul (Maintainer): Likewise.
77983 2008-04-29  Simon Josefsson  <simon@josefsson.org>
77985         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
77986         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
77988         * modules/arpa_inet (arpa/inet.h): Use them.
77990 2008-04-28  Eric Blake  <ebb9@byu.net>
77992         Test getndelim2.
77993         * modules/getndelim2-tests: New file.
77994         * tests/test-getndelim2.c: Likewise.
77995         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
77996         stream.
77997         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
77999         * MODULES.html.sh: Document new module.
78001 2008-04-20  Bruno Haible  <bruno@clisp.org>
78003         * lib/c-stack.c (die): Use raise.
78004         * modules/c-stack (Depends-on): Add raise.
78006 2008-04-28  Bruno Haible  <bruno@clisp.org>
78008         Expect rpmatch to be declared.
78009         * lib/yesno.c (rpmatch): Remove declaration.
78011         Declare rpmatch.
78012         * lib/stdlib.in.h (rpmatch): New declaration.
78013         * lib/rpmatch.c: Include <stdlib.h> first.
78014         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
78015         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
78016         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
78017         HAVE_RPMATCH.
78018         * modules/rpmatch (Depends-on): Add stdlib, extensions.
78019         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
78020         (Include): Set to <stdlib.h>.
78021         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
78022         HAVE_RPMATCH.
78023         * NEWS: Document the change.
78025 2008-04-28  Bruno Haible  <bruno@clisp.org>
78027         Change rpmatch to use nl_langinfo when appropriate.
78028         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
78029         (N_): New macro.
78030         (localized_pattern): New function/macro.
78031         (try): Remove match, nomatch arguments. Copy the pattern into safe
78032         memory before caching it.
78033         (rpmatch): Use localized_pattern. Add translator comments.
78034         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
78035         Suggested by Eric Blake.
78036         * modules/rpmatch (Depends-on): Add stdbool.
78038 2008-04-28  Eric Blake  <ebb9@byu.net>
78040         Add rawmemchr module, matching glibc.
78041         * modules/string (Makefile.am): New indicator.
78042         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
78043         * lib/string.in.h (rawmemchr): Declare when appropriate.
78044         * modules/rawmemchr: New file.
78045         * m4/rawmemchr.m4: Likewise.
78046         * lib/rawmemchr.c: Likewise.
78047         * modules/rawmemchr-tests: Likewise.
78048         * tests/test-rawmemchr.c: Likewise.
78049         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
78050         module.
78051         * modules/strchrnul (Depends-on): Add rawmemchr.
78052         * lib/strchrnul.c (strchrnul): Optimize a corner case.
78054         Whitespace cleanup.
78055         * tests/test-strchrnul.c: Reindent.
78056         * lib/strchrnul.c: Likewise.
78058         Optimize and test strchrnul.
78059         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
78060         * modules/strchrnul-tests: New file.
78061         * tests/test-strchrnul.c: Likewise.
78063         Remove intprops dependency.
78064         * modules/memchr (Depends-on): Remove intprops.
78065         * modules/memrchr (Depends-on): Likewise.
78066         * modules/memchr2 (Depends-on): Likewise.
78067         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
78068         * lib/memrchr.c (__memrchr): Likewise.
78069         * lib/memrchr2.c (memchr2): Likewise.
78070         Reported by Simon Josefsson.
78072 2008-04-28  Simon Josefsson  <simon@josefsson.org>
78074         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
78075         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78077 2008-04-28  Simon Josefsson  <simon@josefsson.org>
78079         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
78081         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
78083         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
78085         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
78086         declarations.
78087         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
78089         * m4/inet_pton.m4: Don't check for header files.
78091         * m4/inet_ntop.m4: Don't check for header files.
78093 2008-04-28  Simon Josefsson  <simon@josefsson.org>
78095         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
78096         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
78097         trigger for cygwin).
78098         Reported by Bruno Haible  <bruno@clisp.org>.
78100 2008-04-28  Bruno Haible  <bruno@clisp.org>
78102         * doc/posix-functions/strdup.texi: Mention mingw problem.
78104 2008-04-27  Bruno Haible  <bruno@clisp.org>
78106         * modules/stat-time-tests (Depends-on): Add sleep.
78107         * tests/test-stat-time.c (force_unlink): New function.
78108         (cleanup): Use it.
78109         (test_mtime): Remove the ctime related tests.
78110         (test_ctime): New function, containing the ctime related tests.
78111         (main): Call test_ctime, except on native Windows platforms.
78113 2008-04-27  Bruno Haible  <bruno@clisp.org>
78115         * lib/rpmatch.c (rpmatch): Add some comments.
78116         Reported by James Youngman <jay@gnu.org>.
78118 2008-04-27  Bruno Haible  <bruno@clisp.org>
78120         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
78121         quiet NaNs.
78123 2008-04-27  Bruno Haible  <bruno@clisp.org>
78125         Make test-yesno.sh work on mingw.
78126         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
78127         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
78128         (main): Set stdin to binary mode.
78129         * modules/yesno-tests (Depends-on): Add binary-io.
78131 2008-04-27  Bruno Haible  <bruno@clisp.org>
78133         Fix 'isfinite' on x86, x86_64, ia64 platforms.
78134         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
78135         argument that lie outside the IEEE 854 domain.
78136         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
78137         (gl_ISFINITE): Use it.
78138         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
78140 2008-04-27  Bruno Haible  <bruno@clisp.org>
78142         Allow local renaming in config.h.
78143         * lib/memrchr.c (memrchr): Don't undefine outside libc.
78145 2008-04-27  Bruno Haible  <bruno@clisp.org>
78147         * lib/memchr.c (__memchr): Change type of 'i'.
78148         * lib/memchr2.c (memchr2): Likewise.
78150 2008-04-26  Eric Blake  <ebb9@byu.net>
78151         and Bruno Haible  <bruno@clisp.org>
78153         Optimize and test memrchr.
78154         * modules/memrchr (Depends-on): Add intprops.
78155         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
78156         * modules/memrchr-tests: New file.
78157         * tests/test-memrchr.c: New file.
78159 2008-04-26  Bruno Haible  <bruno@clisp.org>
78161         Add tentative support for DragonFly BSD.
78162         * lib/stdio-impl.h: Add macros for DragonFly BSD.
78163         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
78164         fp.
78165         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
78166         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
78167         * lib/fpurge.c (fpurge): Likewise.
78168         * lib/freadable.c (freaadable): Likewise.
78169         * lib/freadahead.c (freadahead): Likewise.
78170         * lib/freading.c (freading): Likewise.
78171         * lib/freadptr.c (freadptr): Likewise.
78172         * lib/freadseek.c (freadptrinc): Likewise.
78173         * lib/fseeko.c (fseeko): Likewise.
78174         * lib/fseterr.c (fseterr): Likewise.
78175         * lib/fwritable.c (fwritable): Likewise.
78176         * lib/fwriting.c (fwriting): Likewise.
78178 2008-04-26  Bruno Haible  <bruno@clisp.org>
78180         * lib/stdio-impl.h: New file.
78181         * lib/fbufmode.c: Include stdio-impl.h.
78182         (fbufmode): Use fp_, remove redundant #defines.
78183         * lib/fflush.c: Include stdio-impl.h.
78184         (clear_ungetc_buffer): Remove redundant #defines.
78185         * lib/fpurge.c: Include stdio-impl.h.
78186         (fpurge): Remove redundant #defines.
78187         * lib/freadable.c: Include stdio-impl.h.
78188         (freadable): Remove redundant #defines.
78189         * lib/freadahead.c: Include stdio-impl.h.
78190         (freadahead): Remove redundant #defines.
78191         * lib/freading.c: Include stdio-impl.h.
78192         (freading): Remove redundant #defines.
78193         * lib/freadptr.c: Include stdio-impl.h.
78194         (freadptr): Remove redundant #defines.
78195         * lib/freadseek.c: Include stdio-impl.h.
78196         (freadptrinc): Remove redundant #defines.
78197         * lib/fseeko.c: Include stdio-impl.h.
78198         (rpl_fseeko): Remove redundant #defines.
78199         * lib/fseterr.c: Include stdio-impl.h.
78200         (fseterr): Remove redundant #defines.
78201         * lib/fwritable.c: Include stdio-impl.h.
78202         (fwritable: Remove redundant #defines.
78203         * lib/fwriting.c: Include stdio-impl.h.
78204         (fwriting): Remove redundant #defines.
78205         * modules/fbufmode (Files): Add lib/stdio-impl.h.
78206         * modules/fflush (Files): Likewise.
78207         * modules/fpurge (Files): Likewise.
78208         * modules/freadable (Files): Likewise.
78209         * modules/freadahead (Files): Likewise.
78210         * modules/freading (Files): Likewise.
78211         * modules/freadptr (Files): Likewise.
78212         * modules/freadseek (Files): Likewise.
78213         * modules/fseeko (Files): Likewise.
78214         * modules/fseterr (Files): Likewise.
78215         * modules/fwritable (Files): Likewise.
78216         * modules/fwriting (Files): Likewise.
78218 2008-04-26  Bruno Haible  <bruno@clisp.org>
78220         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
78221         restore_seek_optimization, update_fpos_cache): New functions, extracted
78222         from rpl_fflush.
78223         (rpl_fflush): Use them.
78224         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
78225         (gl_REPLACE_FFLUSH): Use it.
78227 2008-04-26  Bruno Haible  <bruno@clisp.org>
78229         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
78230         on Solaris.
78231         * tests/test-xstrtoimax.sh: Likewise.
78232         * tests/test-xstrtoumax.sh: Likewise.
78233         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78235 2008-04-26  Bruno Haible  <bruno@clisp.org>
78237         * modules/memchr-tests: New file.
78238         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
78240 2008-04-26  Eric Blake  <ebb9@byu.net>
78241             Bruno Haible  <bruno@clisp.org>
78243         * lib/memchr.c: Include intprops.h.
78244         (__memchr): Optimize parallel detection of matching bytes. Rename local
78245         variables. Add explanatory comments.
78247 2008-04-26  Bruno Haible  <bruno@clisp.org>
78249         Fix module 'memchr', broken since 2000-10-28.
78250         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
78252 2008-04-26  Bruno Haible  <bruno@clisp.org>
78254         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
78255         comments.
78257 2008-04-25  Eric Blake  <ebb9@byu.net>
78259         Use native fstatat on cygwin 1.7.0.
78260         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
78261         first.
78263 2008-04-23  Eric Blake  <ebb9@byu.net>
78265         Improve memchr2 performance.
78266         * lib/memchr2.c (memchr2): Further optimize parallel detection of
78267         NUL bytes.
78268         * modules/memchr2 (Depends-on): Use intprops.h.
78270 2008-04-23  Simon Josefsson  <simon@josefsson.org>
78272         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
78273         an inline function instead of a CPP macro.  Patch by Ben Pfaff
78274         <blp@cs.stanford.edu>.
78276 2008-04-23  Simon Josefsson  <simon@josefsson.org>
78278         * lib/arpa_inet.in.h: New file.
78280         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
78281         (Makefile.am): Sed in substitute header file.
78283         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
78284         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
78286         * modules/inet_ntop (configure.ac): Use
78287         gl_ARPA_INET_MODULE_INDICATOR.
78289         * modules/inet_pton (configure.ac): Use
78290         gl_ARPA_INET_MODULE_INDICATOR.
78292 2008-04-22  Jim Meyering  <meyering@redhat.com>
78294         * modules/verify (License): Re-license as LGPLv2+.
78296 2008-04-22  Simon Josefsson  <simon@josefsson.org>
78298         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
78299         parameter to void* as per POSIX standard (MinGW uses char*).
78301 2008-04-21  Bruno Haible  <bruno@clisp.org>
78303         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
78304         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
78305         Define to replacements if REPLACE_ISWCNTRL is 1.
78306         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
78307         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
78308         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
78309         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
78310         what it fixes.
78311         * doc/posix-functions/iswalpha.texi: Likewise.
78312         * doc/posix-functions/iswblank.texi: Likewise.
78313         * doc/posix-functions/iswcntrl.texi: Likewise.
78314         * doc/posix-functions/iswdigit.texi: Likewise.
78315         * doc/posix-functions/iswgraph.texi: Likewise.
78316         * doc/posix-functions/iswlower.texi: Likewise.
78317         * doc/posix-functions/iswprint.texi: Likewise.
78318         * doc/posix-functions/iswpunct.texi: Likewise.
78319         * doc/posix-functions/iswspace.texi: Likewise.
78320         * doc/posix-functions/iswupper.texi: Likewise.
78321         * doc/posix-functions/iswxdigit.texi: Likewise.
78322         Reported by Alain Guibert.
78324 2008-04-21  Bruno Haible  <bruno@clisp.org>
78326         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
78327         Patch by Alain Guibert.
78329 2008-04-21  Bruno Haible  <bruno@clisp.org>
78331         Fix test failures on mingw.
78332         * tests/test-xstrtol.c (print_no_progname): New function.
78333         (main): Install it in error_print_progname hook.
78334         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
78335         * tests/test-xstrtoimax.sh: Likewise.
78336         * tests/test-xstrtoumax.sh: Likewise.
78338 2008-04-21  Bruno Haible  <bruno@clisp.org>
78340         Fix test failure on mingw.
78341         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
78343 2008-04-21  Bruno Haible  <bruno@clisp.org>
78345         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
78346         Actually assign a value.
78348 2008-04-20  Bruno Haible  <bruno@clisp.org>
78350         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
78351         take 2.
78352         * lib/canonicalize.c (canonicalize_file_name): Elide if the
78353         'canonicalize-lgpl' module is also used.
78354         * lib/canonicalize-lgpl.c: Undo last change.
78355         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
78357 2008-04-20  Bruno Haible  <bruno@clisp.org>
78359         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
78360         config.h. Provide _mkdir based fallback for mingw.
78361         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
78362         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
78363         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
78364         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
78365         rather than defining mkdir in config.h.
78366         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
78367         (gl_SYS_STAT_H_DEFAULTS): New macro.
78368         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
78369         HAVE_IO_H any more.
78370         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
78371         HAVE_DECL_MKDIR and HAVE_IO_H.
78373 2008-04-20  Bruno Haible  <bruno@clisp.org>
78375         * lib/isapipe.c: Port to native Windows platforms.
78377 2008-04-20  Bruno Haible  <bruno@clisp.org>
78379         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
78381 2008-04-21  Eric Blake  <ebb9@byu.net>
78383         Work around preprocessors that don't handle UINTMAX_MAX.
78384         * lib/memchr2.c (memchr2): Avoid embedded #if.
78385         Reported by Alain Guibert, fix suggested by Bruno Haible.
78387 2008-04-21  Simon Josefsson  <simon@josefsson.org>
78389         * doc/posix-functions/strftime.texi (strftime): Explain better
78390         Windows incompatibility.  Suggested by Micah Cowan
78391         <micah@cowan.name>.
78393 2008-04-20  Bruno Haible  <bruno@clisp.org>
78395         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
78396         unistr/u8-mblen.
78398 2008-04-20  Bruno Haible  <bruno@clisp.org>
78400         Fix test failure on platforms with non-GNU iconv.
78401         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
78402         (U_TO_U8): Use it, rather than u16_to_u8.
78403         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
78404         units at the end of the input string.
78405         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
78407 2008-04-20  Bruno Haible  <bruno@clisp.org>
78409         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
78410         when the resulting length is 0.
78411         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
78413 2008-04-20  Bruno Haible  <bruno@clisp.org>
78415         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
78416         works.
78417         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
78419 2008-04-20  Bruno Haible  <bruno@clisp.org>
78421         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
78422         * modules/tsearch-tests (configure.ac): Test for initstate function.
78424 2008-04-20  Bruno Haible  <bruno@clisp.org>
78426         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
78427         for nlink_t if missing.
78428         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
78430 2008-04-19  Bruno Haible  <bruno@clisp.org>
78432         Work around snprintf bug on Linux libc5.
78433         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
78434         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
78435         gl_SNPRINTF_SIZE1.
78436         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
78437         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
78438         that test failed.
78439         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
78440         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
78441         * modules/snprintf (Files): Add m4/printf.m4.
78442         * modules/vsnprintf (Files): Likewise.
78443         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
78444         * doc/posix-functions/vsnprintf.texi: Likewise.
78446 2008-04-19  Bruno Haible  <bruno@clisp.org>
78448         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
78449         from 0.0058 to less than 10^-7.
78451 2008-04-19  Bruno Haible  <bruno@clisp.org>
78453         Fix rounding when a precision is given.
78454         * lib/vasnprintf.c (is_borderline): New function.
78455         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
78456         9...9x.
78457         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
78458         %e, %g.
78459         * tests/test-vasprintf-posix.c (test_function): Likewise.
78460         * tests/test-snprintf-posix.h (test_function): Likewise.
78461         * tests/test-sprintf-posix.h (test_function): Likewise.
78462         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
78463         * tests/test-printf-posix.h (test_function): Likewise.
78464         * tests/test-printf-posix.output: Update.
78465         Reported by John Darrington <john@darrington.wattle.id.au> via
78466         Ben Pfaff <blp@cs.stanford.edu>.
78468 2008-04-18  Simon Josefsson  <simon@josefsson.org>
78470         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
78471         Suggested by Bruno Haible <bruno@clisp.org>.
78473 2008-04-17  Bruno Haible  <bruno@clisp.org>
78475         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
78476         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
78477         implementation.
78478         Patch by Bruce Merry <bmerry@gmail.com>.
78480 2008-04-17  Simon Josefsson  <simon@josefsson.org>
78482         * doc/posix-functions/strftime.texi (strftime): Mention that %e
78483         doesn't work under Windows.
78485 2008-04-16  Bruno Haible  <bruno@clisp.org>
78487         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
78488         New macros.
78489         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
78490         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
78491         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
78492         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
78493         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
78494         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
78495         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
78496         macros.
78497         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
78498         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
78499         Northern Sotho, Uighur.
78501 2008-04-16  Bruno Haible  <bruno@clisp.org>
78503         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
78504         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
78505         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
78506         Reported by Daniel Bergström <daniel@octocode.com>.
78508 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
78509             Bruno Haible  <bruno@clisp.org>
78511         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
78512         function.
78513         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
78514         New functions, mostly extracted from gl_locale_name_default.
78515         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
78517 2008-04-16  Eric Blake  <ebb9@byu.net>
78519         Adjust strtod detection to catch glibc 2.7 bug.
78520         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
78521         Reported by John Gatewood Ham.
78523 2008-04-16  Bruno Haible  <bruno@clisp.org>
78525         Add tentative support for Linux libc5.
78526         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
78527         * lib/fpurge.c (fpurge): Likewise.
78528         * lib/freadable.c (freadable): Likewise.
78529         * lib/freadahead.c (freadahead): Likewise.
78530         * lib/freading.c (freading): Likewise.
78531         * lib/freadptr.c (freadptr): Likewise.
78532         * lib/freadseek.c (freadptrinc): Likewise.
78533         * lib/fseeko.c (rpl_fseeko): Likewise.
78534         * lib/fseterr.c (fseterr): Likewise.
78535         * lib/fwritable.c (fwritable): Likewise.
78536         * lib/fwriting.c (fwriting): Likewise.
78537         Reported by Alain Guibert <alguibert+bts@free.fr>.
78539 2008-04-15  Bruno Haible  <bruno@clisp.org>
78541         * modules/mathl (configure.ac): Define module indicator.
78543 2008-04-15  Bruno Haible  <bruno@clisp.org>
78545         * lib/logl.c (logl): Remove unused variables.
78547 2008-04-15  Bruno Haible  <bruno@clisp.org>
78549         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
78550         fails.
78552 2008-04-15  Bruno Haible  <bruno@clisp.org>
78554         * lib/trim.c (trim2): Fix argument of isspace() macro.
78556 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
78558         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
78559         to 0.
78560         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
78562 2008-04-14  Bruno Haible  <bruno@clisp.org>
78564         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
78565         AC_LANG_PROGRAM argument.
78566         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
78567         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
78568         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
78569         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
78570         * m4/math_h.m4 (gl_MATH_H): Likewise.
78571         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
78572         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
78573         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
78574         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
78575         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
78576         * m4/regex.m4 (gl_REGEX): Likewise.
78577         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
78578         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
78579         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
78580         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
78581         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
78582         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
78583         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
78584         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
78586 2008-04-14  Jim Meyering  <meyering@redhat.com>
78588         test-strtod: fix typos: s/abs/fabs/
78589         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
78591 2008-04-13  Bruno Haible  <bruno@clisp.org>
78593         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
78594         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
78595         module is also used and while not building the reloc-wrapper.
78597 2008-04-13  Bruno Haible  <bruno@clisp.org>
78599         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
78601 2008-04-13  Bruno Haible  <bruno@clisp.org>
78603         Fix AIX compilation failure introduced on 2008-04-02.
78604         * tests/test-frexp.c (exp): Undefine before redefining.
78605         * tests/test-frexpl.c (exp): Likewise.
78607 2008-04-13  Bruno Haible  <bruno@clisp.org>
78609         Work around a HP-UX stdio bug.
78610         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
78611         * tests/test-ftello.c (main): Likewise.
78612         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
78613         * doc/posix-functions/ftello.texi: Likewise.
78615 2008-04-13  Bruno Haible  <bruno@clisp.org>
78617         Make test-signbit pass on HP-UX/hppa.
78618         * tests/test-signbit.c (minus_zerol): New variable.
78619         (test_signbitl): Use it.
78621 2008-04-13  Bruno Haible  <bruno@clisp.org>
78623         Make truncl work on OSF/1 4.0.
78624         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
78625         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
78626         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
78627         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
78628         HAVE_DECL_TRUNCL.
78629         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
78630         HAVE_DECL_TRUNCL.
78631         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
78633 2008-04-13  Bruno Haible  <bruno@clisp.org>
78635         * lib/unictype.h: Remove trailing comma from enumeration definitions.
78637 2008-04-13  Bruno Haible  <bruno@clisp.org>
78639         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
78640         expression, so as to avoid HP-UX 11 cc compiler bug.
78642 2008-04-13  Bruno Haible  <bruno@clisp.org>
78644         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
78646 2008-04-13  Bruno Haible  <bruno@clisp.org>
78648         * lib/git-merge-changelog.c: Remove empty declaration outside of
78649         functions.
78651 2008-04-13  Bruno Haible  <bruno@clisp.org>
78653         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
78655 2008-04-13  Bruno Haible  <bruno@clisp.org>
78657         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
78658         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
78659         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
78660         also if it exists but lacks definitions of the SHUT_* macros.
78661         * modules/sys_socket (Description): Update.
78662         Reported by Elbert Pol <e.pol@chello.nl>.
78664 2008-04-13  Bruno Haible  <bruno@clisp.org>
78666         * lib/localcharset.c (OS2): Don't redefine if already defined.
78667         Reported by Elbert Pol <e.pol@chello.nl>.
78669 2008-04-13  Bruno Haible  <bruno@clisp.org>
78671         * lib/binary-io.h [__EMX__]: Include <io.h>.
78672         Reported by Elbert Pol <e.pol@chello.nl>.
78674 2008-04-12  Bruno Haible  <bruno@clisp.org>
78676         * lib/fpucw.h: Enable the definitions also for x86_64.
78677         Needed for NetBSD/x86_64.
78678         Reported by Thomas Klausner <tk@giga.or.at>.
78680 2008-04-12  Bruno Haible  <bruno@clisp.org>
78682         * tests/test-strtod.c: Include isnand.h.
78683         (main): Use isnand instead of isnan.
78684         Reported by Jim Meyering.
78686 2008-04-12  Bruno Haible  <bruno@clisp.org>
78688         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
78689         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
78691 2008-04-12  Jim Meyering  <meyering@redhat.com>
78693         * m4/math_h.m4 (gl_MATH_H): Fix typos.
78695 2008-04-12  Bruno Haible  <bruno@clisp.org>
78697         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
78698         Reported by Elbert Pol <e.pol@chello.nl>.
78700 2008-04-12  Eric Blake  <ebb9@byu.net>
78702         Work around Solaris 10 math.h bug.
78703         * m4/math_h.m4 (gl_MATH_H): Check for bug.
78704         (gl_MATH_H_DEFAULTS): Set up default.
78705         * modules/math (Makefile.am): Replace new indicators.
78706         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
78707         * tests/test-math.c (main): Test this.
78708         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
78709         * doc/posix-headers/math.texi (math.h): Mention bug.
78710         Reported by Nelson H. F. Beebe and Jim Meyering.
78712 2008-04-11  Bruno Haible  <bruno@clisp.org>
78714         Adapt to future versions of Apple GCC.
78715         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
78716         Reported by Peter O'Gorman <peter@pogma.com>.
78718 2008-04-11  Bruno Haible  <bruno@clisp.org>
78720         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
78722 2008-04-11  Bruno Haible  <bruno@clisp.org>
78724         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
78726         * modules/getaddrinfo-tests (Makefile.am): Define
78727         test_getaddrinfo_LDADD.
78729 2008-04-11  Bruno Haible  <bruno@clisp.org>
78731         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
78732         (init): Fix syntax error.
78733         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
78734         is declared.
78736 2008-04-11  Bruno Haible  <bruno@clisp.org>
78738         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
78739         * modules/glob (Depends-on): Add stdbool.
78741 2008-04-11  Bruno Haible  <bruno@clisp.org>
78743         * lib/trim.c: Include <string.h>.
78745 2008-04-11  Eric Blake  <ebb9@byu.net>
78747         Avoid compile failure on OS/2.
78748         * lib/regex_internal.h (internal_function): Disable optimization
78749         on OS/2 (__EMX__), where it caused compiler error.
78750         Reported by Elbert Pol.
78752 2008-04-11  Bruno Haible  <bruno@clisp.org>
78754         Flush the standard error stream before aborting. Needed on mingw.
78755         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
78756         * tests/test-array_list.c (ASSERT): Likewise.
78757         * tests/test-array_oset.c (ASSERT): Likewise.
78758         * tests/test-avltree_list.c (ASSERT): Likewise.
78759         * tests/test-avltree_oset.c (ASSERT): Likewise.
78760         * tests/test-avltreehash_list.c (ASSERT): Likewise.
78761         * tests/test-binary-io.c (ASSERT): Likewise.
78762         * tests/test-byteswap.c (ASSERT): Likewise.
78763         * tests/test-c-ctype.c (ASSERT): Likewise.
78764         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
78765         * tests/test-c-strcasestr.c (ASSERT): Likewise.
78766         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
78767         * tests/test-c-strstr.c (ASSERT): Likewise.
78768         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
78769         * tests/test-canonicalize.c (ASSERT): Likewise.
78770         * tests/test-carray_list.c (ASSERT): Likewise.
78771         * tests/test-ceilf1.c (ASSERT): Likewise.
78772         * tests/test-ceilf2.c (ASSERT): Likewise.
78773         * tests/test-ceill.c (ASSERT): Likewise.
78774         * tests/test-count-one-bits.c (ASSERT): Likewise.
78775         * tests/test-fbufmode.c (ASSERT): Likewise.
78776         * tests/test-fflush2.c (ASSERT): Likewise.
78777         * tests/test-floorf1.c (ASSERT): Likewise.
78778         * tests/test-floorf2.c (ASSERT): Likewise.
78779         * tests/test-floorl.c (ASSERT): Likewise.
78780         * tests/test-fopen.c (ASSERT): Likewise.
78781         * tests/test-fpending.c (ASSERT): Likewise.
78782         * tests/test-fprintf-posix.c (ASSERT): Likewise.
78783         * tests/test-fpurge.c (ASSERT): Likewise.
78784         * tests/test-freadable.c (ASSERT): Likewise.
78785         * tests/test-freadahead.c (ASSERT): Likewise.
78786         * tests/test-freading.c (ASSERT): Likewise.
78787         * tests/test-freadptr.c (ASSERT): Likewise.
78788         * tests/test-freadptr2.c (ASSERT): Likewise.
78789         * tests/test-freadseek.c (ASSERT): Likewise.
78790         * tests/test-freopen.c (ASSERT): Likewise.
78791         * tests/test-frexp.c (ASSERT): Likewise.
78792         * tests/test-frexpl.c (ASSERT): Likewise.
78793         * tests/test-fseek.c (ASSERT): Likewise.
78794         * tests/test-fseeko.c (ASSERT): Likewise.
78795         * tests/test-fstrcmp.c (ASSERT): Likewise.
78796         * tests/test-ftell.c (ASSERT): Likewise.
78797         * tests/test-ftello.c (ASSERT): Likewise.
78798         * tests/test-func.c (ASSERT): Likewise.
78799         * tests/test-fwritable.c (ASSERT): Likewise.
78800         * tests/test-fwriting.c (ASSERT): Likewise.
78801         * tests/test-getdelim.c (ASSERT): Likewise.
78802         * tests/test-getline.c (ASSERT): Likewise.
78803         * tests/test-i-ring.c (ASSERT): Likewise.
78804         * tests/test-iconv-utf.c (ASSERT): Likewise.
78805         * tests/test-iconv.c (ASSERT): Likewise.
78806         * tests/test-isfinite.c (ASSERT): Likewise.
78807         * tests/test-isnand.c (ASSERT): Likewise.
78808         * tests/test-isnanf.c (ASSERT): Likewise.
78809         * tests/test-isnanl.h (ASSERT): Likewise.
78810         * tests/test-ldexpl.c (ASSERT): Likewise.
78811         * tests/test-linked_list.c (ASSERT): Likewise.
78812         * tests/test-linkedhash_list.c (ASSERT): Likewise.
78813         * tests/test-localename.c (ASSERT): Likewise.
78814         * tests/test-lseek.c (ASSERT): Likewise.
78815         * tests/test-mbscasecmp.c (ASSERT): Likewise.
78816         * tests/test-mbscasestr1.c (ASSERT): Likewise.
78817         * tests/test-mbscasestr2.c (ASSERT): Likewise.
78818         * tests/test-mbscasestr3.c (ASSERT): Likewise.
78819         * tests/test-mbscasestr4.c (ASSERT): Likewise.
78820         * tests/test-mbschr.c (ASSERT): Likewise.
78821         * tests/test-mbscspn.c (ASSERT): Likewise.
78822         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
78823         * tests/test-mbspbrk.c (ASSERT): Likewise.
78824         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
78825         * tests/test-mbsrchr.c (ASSERT): Likewise.
78826         * tests/test-mbsspn.c (ASSERT): Likewise.
78827         * tests/test-mbsstr1.c (ASSERT): Likewise.
78828         * tests/test-mbsstr2.c (ASSERT): Likewise.
78829         * tests/test-mbsstr3.c (ASSERT): Likewise.
78830         * tests/test-memchr2.c (ASSERT): Likewise.
78831         * tests/test-memmem.c (ASSERT): Likewise.
78832         * tests/test-open.c (ASSERT): Likewise.
78833         * tests/test-printf-frexp.c (ASSERT): Likewise.
78834         * tests/test-printf-frexpl.c (ASSERT): Likewise.
78835         * tests/test-printf-posix.c (ASSERT): Likewise.
78836         * tests/test-quotearg.c (ASSERT): Likewise.
78837         * tests/test-rbtree_list.c (ASSERT): Likewise.
78838         * tests/test-rbtree_oset.c (ASSERT): Likewise.
78839         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
78840         * tests/test-round1.c (ASSERT): Likewise.
78841         * tests/test-roundf1.c (ASSERT): Likewise.
78842         * tests/test-roundl.c (ASSERT): Likewise.
78843         * tests/test-signbit.c (ASSERT): Likewise.
78844         * tests/test-sleep.c (ASSERT): Likewise.
78845         * tests/test-snprintf-posix.c (ASSERT): Likewise.
78846         * tests/test-snprintf.c (ASSERT): Likewise.
78847         * tests/test-sprintf-posix.c (ASSERT): Likewise.
78848         * tests/test-stat-time.c (ASSERT): Likewise.
78849         * tests/test-strcasestr.c (ASSERT): Likewise.
78850         * tests/test-strerror.c (ASSERT): Likewise.
78851         * tests/test-striconv.c (ASSERT): Likewise.
78852         * tests/test-striconveh.c (ASSERT): Likewise.
78853         * tests/test-striconveha.c (ASSERT): Likewise.
78854         * tests/test-strsignal.c (ASSERT): Likewise.
78855         * tests/test-strstr.c (ASSERT): Likewise.
78856         * tests/test-strtod.c (ASSERT): Likewise.
78857         * tests/test-trunc1.c (ASSERT): Likewise.
78858         * tests/test-trunc2.c (ASSERT): Likewise.
78859         * tests/test-truncf1.c (ASSERT): Likewise.
78860         * tests/test-truncf2.c (ASSERT): Likewise.
78861         * tests/test-truncl.c (ASSERT): Likewise.
78862         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
78863         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
78864         * tests/test-vasnprintf.c (ASSERT): Likewise.
78865         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
78866         * tests/test-vasprintf.c (ASSERT): Likewise.
78867         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
78868         * tests/test-vprintf-posix.c (ASSERT): Likewise.
78869         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
78870         * tests/test-vsnprintf.c (ASSERT): Likewise.
78871         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
78872         * tests/test-wcwidth.c (ASSERT): Likewise.
78873         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
78874         * tests/test-xprintf-posix.c (ASSERT): Likewise.
78875         * tests/test-xvasprintf.c (ASSERT): Likewise.
78876         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
78877         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
78878         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
78879         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
78880         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
78881         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
78882         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
78883         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
78884         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
78885         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
78886         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
78887         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
78888         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
78889         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
78890         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
78891         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
78892         * tests/unictype/test-block_list.c (ASSERT): Likewise.
78893         * tests/unictype/test-block_of.c (ASSERT): Likewise.
78894         * tests/unictype/test-block_test.c (ASSERT): Likewise.
78895         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
78896         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
78897         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
78898         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
78899         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
78900         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
78901         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
78902         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
78903         * tests/unictype/test-combining.c (ASSERT): Likewise.
78904         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
78905         * tests/unictype/test-digit.c (ASSERT): Likewise.
78906         * tests/unictype/test-mirror.c (ASSERT): Likewise.
78907         * tests/unictype/test-numeric.c (ASSERT): Likewise.
78908         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
78909         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
78910         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
78911         * tests/unictype/test-scripts.c (ASSERT): Likewise.
78912         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
78913         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
78914         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
78915         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
78916         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
78917         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
78918         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
78919         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
78920         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
78921         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
78922         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
78923         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
78924         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
78925         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
78926         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
78927         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
78928         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
78929         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
78930         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
78931         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
78932         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
78933         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
78934         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
78935         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
78936         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
78937         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
78938         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
78939         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
78940         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
78941         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
78942         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
78943         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
78944         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
78945         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
78946         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
78947         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
78948         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
78949         Reported by Eric Blake.
78951 2008-04-11  Bruno Haible  <bruno@clisp.org>
78953         * lib/wchar.in.h: Tweak comment.
78955 2008-04-11  Bruno Haible  <bruno@clisp.org>
78957         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
78958         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
78959         gl_COMMON.
78960         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
78962 2008-04-11  Bruno Haible  <bruno@clisp.org>
78964         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
78966 2008-04-11  Simon Josefsson  <simon@josefsson.org>
78968         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
78969         of attempting to use non-existing /dev/*random.  Based on patch
78970         from Adam Strzelecki <ono@java.pl> in
78971         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
78973 2008-04-08  Bruno Haible  <bruno@clisp.org>
78975         Add tentative support for emx+gcc.
78976         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
78977         * lib/fpurge.c (fpurge): Likewise.
78978         * lib/freadable.c (freadable): Likewise.
78979         * lib/freadahead.c (freadahead): Likewise.
78980         * lib/freading.c (freading): Likewise.
78981         * lib/freadptr.c (freadptr): Likewise.
78982         * lib/freadseek.c (freadptrinc): Likewise.
78983         * lib/fseeko.c (rpl_fseeko): Likewise.
78984         * lib/fseterr.c (fseterr): Likewise.
78985         * lib/fwritable.c (fwritable): Likewise.
78986         * lib/fwriting.c (fwriting): Likewise.
78987         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
78989 2008-04-09  Eric Blake  <ebb9@byu.net>
78991         Avoid some autoconf warnings.
78992         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
78993         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
78994         * m4/afs.m4 (gl_AFS): Likewise.
78995         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
78996         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
78997         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
78998         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
78999         (gl_INTEGER_TYPE_SUFFIX): Likewise.
79000         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
79001         (AC_CHECK_DECLS_ONCE): Likewise.
79002         Rename file...
79003         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
79004         gnulib-tool requires autoconf 2.59 or better.
79005         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
79007 2008-04-08  Eric Blake  <ebb9@byu.net>
79009         Use 'git describe --match' if present (added in git 1.5.5).
79010         * build-aux/git-version-gen: Limit result to tags that match 'v*'
79011         if possible.
79013 2008-04-08  Bruno Haible  <bruno@clisp.org>
79015         Add tentative support for OpenServer.
79016         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
79017         _ptr, _cnt.
79018         * lib/fpurge.c (fpurge): Likewise.
79019         * lib/freadable.c (freadable): Likewise.
79020         * lib/freadahead.c (freadahead): Likewise.
79021         * lib/freading.c (freading): Likewise.
79022         * lib/freadptr.c (freadptr): Likewise.
79023         * lib/freadseek.c (freadptrinc): Likewise.
79024         * lib/fseeko.c (rpl_fseeko): Likewise.
79025         * lib/fseterr.c (fseterr): Likewise.
79026         * lib/fwritable.c (fwritable): Likewise.
79027         * lib/fwriting.c (fwriting): Likewise.
79028         Reported by Roger Cornelius <rac@tenzing.org> and
79029         Brian K. White <brian@aljex.com>.
79031 2008-04-06  Jim Meyering  <meyering@redhat.com>
79033         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
79035 2008-04-06  Bruno Haible  <bruno@clisp.org>
79037         Avoid possible error with non-ASCII bytes in UTF-8 locales.
79038         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
79039         * tests/test-printf-posix.sh: Likewise.
79040         * tests/test-vfprintf-posix.sh: Likewise.
79041         * tests/test-vprintf-posix.sh: Likewise.
79042         * tests/test-xprintf-posix.sh: Likewise.
79044 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79046         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
79047         hide error from 'ls', needed on OS/2.
79048         Report by Elbert Pol <elbert.pol@gmail.com>.
79050 2008-04-04  Eric Blake  <ebb9@byu.net>
79052         Make test-fseeko.c failures meaningful.
79053         * tests/test-fseeko.c: Print line number on failure.
79054         * tests/test-fseek.c: Likewise.
79055         Reported by Nelson H. F. Beebe.
79057         Improve strtod bug detection check.
79058         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
79059         required for Solaris 10.
79060         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
79062 2008-04-04  Bruno Haible  <bruno@clisp.org>
79064         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
79065         by m4/setenv.m4.
79067 2008-04-03  Eric Blake  <ebb9@byu.net>
79069         Ensure sane .version contents.
79070         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
79071         version string.
79072         * build-aux/git-version-gen: Improve documentation.
79074         Make GNU make output nicer.
79075         * top/GNUmakefile [!_have-Makefile]: Add dependency on
79076         MAKECMDGOALS to enforce message for all command line targets.  Set
79077         srcdir for use in maint.mk.
79079         Another maintainer tweak.
79080         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
79081         a target that regenerates version.
79083 2008-04-03  Jim Meyering  <meyering@redhat.com>
79085         vc-list-files: don't cause coreutils "make po-check" failure
79086         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
79088 2008-04-03  Eric Blake  <ebb9@byu.net>
79090         Allow VPATH usage of vc-list-files.
79091         * build-aux/vc-list-files (scriptversion): Add timestamp.
79092         (options): Add --help, --version, -C.
79093         (CVS): Support installed cvsu.
79095 2008-04-02  Bruno Haible  <bruno@clisp.org>
79097         Avoid some "statement with no effect" warnings from gcc.
79098         * tests/test-wctype.c (main): Explicitly ignore unused values.
79099         Reported by Jim Meyering.
79101 2008-04-02  Jim Meyering  <meyering@redhat.com>
79103         Avoid some warnings from "gcc -Wshadow".
79104         * tests/test-frexp.c (exp): Define to a different identifier.
79105         * tests/test-frexpl.c (exp): Likewise.
79107 2008-04-03  Jim Meyering  <meyering@redhat.com>
79109         bootstrap: remove dangling *.[ch] symlinks from lib
79110         * build-aux/bootstrap [dangling symlink removal]: Move find's
79111         -depth option to precede all others, to avoid a warning.
79112         Remove *.[ch] files too, and from "$source_base" (usually lib/).
79114 2008-04-02  Bruno Haible  <bruno@clisp.org>
79116         Avoid some warnings from "gcc -Wshadow".
79117         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
79118         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
79119         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
79120         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
79121         Reported by Jim Meyering.
79123 2008-04-01  Bruno Haible  <bruno@clisp.org>
79125         Fix test to work on IRIX 6.5 with cc.
79126         * tests/test-math.c (numeric_equal): New function.
79127         (main): Use it.
79129 2008-04-01  Bruno Haible  <bruno@clisp.org>
79131         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
79133 2008-04-01  Bruno Haible  <bruno@clisp.org>
79135         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
79136         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79137         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
79138         (Depends-on): Remove math.
79140         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
79141         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79142         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
79143         (Depends-on): Remove math.
79145         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
79146         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79147         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
79148         (Depends-on): Remove math.
79149         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
79150         (Depends-on): Remove math.
79152         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
79153         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79154         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
79155         (Depends-on): Remove math.
79156         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
79157         (Depends-on): Remove math.
79159         * tests/test-round1.c: Include nan.h.
79160         (main): Use NaNd instead of NAN.
79161         * modules/round-tests (Files): Add tests/nan.h.
79163         * tests/test-trunc1.c: Include nan.h.
79164         (main): Use NaNd instead of NAN.
79165         * modules/trunc-tests (Files): Add tests/nan.h.
79167         * tests/test-roundf1.c: Include nan.h.
79168         (main): Use NaNf instead of NAN.
79169         * modules/roundf-tests (Files): Add tests/nan.h.
79171         * tests/test-truncf1.c: Include nan.h.
79172         (main): Use NaNf instead of NAN.
79173         * modules/truncf-tests (Files): Add tests/nan.h.
79175         * tests/test-ceilf1.c: Include nan.h.
79176         (main): Use NaNf instead of NAN.
79177         * modules/ceilf-tests (Files): Add tests/nan.h.
79179         * tests/test-floorf1.c: Include nan.h.
79180         (main): Use NaNf instead of NAN.
79181         * modules/floorf-tests (Files): Add tests/nan.h.
79183         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
79184         (main): Use NaNf instead of NAN.
79185         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
79187         * tests/test-isnand.c: Include nan.h instead of <math.h>.
79188         (main): Use NaNd instead of NAN.
79189         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
79191         * tests/test-frexp.c: Include nan.h.
79192         (main): Use NaNd instead of NAN.
79193         * modules/frexp-tests (Files): Add tests/nan.h.
79195         * lib/isnan.c: Don't include <math.h>.
79196         (FUNC): Don't use NAN macro.
79197         * modules/isnand-nolibm (Depends-on): Remove math.
79198         * modules/isnanf-nolibm (Depends-on): Remove math.
79199         * modules/isnanl (Depends-on): Remove math.
79200         * modules/isnanl-nolibm (Depends-on): Remove math.
79202         * tests/nan.h: New file.
79204 2008-04-01  Eric Blake  <ebb9@byu.net>
79206         Fix typos.
79207         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
79208         values to be the right type.
79210         For now, cater to gnulib strtod inaccuracies.
79211         * tests/test-strtod.c (main): Allow 1-ulp error on expected
79212         fractional results.  While not as nice from a QoI perspective, it
79213         is a quicker patch than correctly implementing decimal to binary
79214         rounding.
79216 2008-03-31  Eric Blake  <ebb9@byu.net>
79218         Guarantee a definition of NAN.
79219         * lib/math.in.h (NAN): Define if missing.
79220         * tests/test-math.c (main): Test it.
79221         * doc/posix-headers/math.texi (math.h): Document this.
79222         * lib/isnan.c (rpl_isnand): Use it.
79223         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
79224         * tests/test-floorf1.c (NaN): Likewise.
79225         * tests/test-frexp.c (NaN): Likewise.
79226         * tests/test-isnand.c (NaN): Likewise.
79227         * tests/test-isnanf.c (NaN): Likewise.
79228         * tests/test-round1.c (NaN): Likewise.
79229         * tests/test-roundf1.c (NaN): Likewise.
79230         * tests/test-snprintf-posix.h (NaN): Likewise.
79231         * tests/test-sprintf-posix.h (NaN): Likewise.
79232         * tests/test-trunc1.c (NaN): Likewise.
79233         * tests/test-truncf1.c (NaN): Likewise.
79234         * tests/test-vasnprintf-posix.c (NaN): Likewise.
79235         * tests/test-vasprintf-posix.c (NaN): Likewise.
79236         * modules/isnand-nolibm (Depends-on): Add math.
79237         * modules/isnanf-nolibm (Depends-on): Likewise.
79238         * modules/isnanl (Depends-on): Likewise.
79239         * modules/isnanl-nolibm (Depends-on): Likewise.
79240         * modules/snprintf-posix-tests (Depends-on): Likewise.
79241         * modules/sprintf-posix-tests (Depends-on): Likewise.
79242         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
79243         * modules/vsprintf-posix-tests (Depends-on): Likewise.
79244         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
79245         * modules/vasprintf-posix-tests (Depends-on): Likewise.
79247 2008-03-31  Bruno Haible  <bruno@clisp.org>
79249         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
79250         * doc/posix-functions/strtod.texi: Likewise.
79252 2008-03-31  Bruno Haible  <bruno@clisp.org>
79254         * tests/test-strtod.c (main): Don't use C99 syntax.
79256 2008-03-31  Bruno Haible  <bruno@clisp.org>
79258         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
79259         Reported by Eric Blake.
79261 2008-03-31  Jim Meyering  <meyering@redhat.com>
79263         Don't compare actual signbit return values.
79264         * tests/test-strtod.c (main): Rather, compare only their
79265         zero/non-zero nature.
79267 2008-03-31  Eric Blake  <ebb9@byu.net>
79269         More strtod documentation.
79270         * doc/posix-functions/strtod.texi (strtod): Interpret more test
79271         failures as distinct bugs.
79273 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
79275         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
79276         Problem reported by Erik Benada in
79277         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
79279 2008-03-30  Bruno Haible  <bruno@clisp.org>
79281         * tests/test-strtod.c: Add comments about which assertion fails on which
79282         platform.
79283         * doc/posix-functions/strtod.texi: Add info about many more platforms.
79285 2008-03-30  Eric Blake  <ebb9@byu.net>
79287         Test signbit behavior on zeros.
79288         * tests/test-signbit.c (test_signbitf): Add tests for zero.
79289         (test_signbitd, test_signbitl): Likewise.
79291         More strtod touchups.
79292         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
79293         sign of negative underflow, for now.  Use .5, not .1.
79294         * doc/posix-functions/strtod.texi (strtod): Mention these
79295         limitations.
79296         Reported by Jim Meyering.
79298 2008-03-30  Bruno Haible  <bruno@clisp.org>
79300         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
79301         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
79303 2008-03-30  Bruno Haible  <bruno@clisp.org>
79305         Avoid failure when attempting to return empty iconv results on some
79306         platforms.
79307         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
79308         allocation, don't report ENOMEM when the resulting string is empty.
79310 2008-03-30  Bruno Haible  <bruno@clisp.org>
79312         Fix buffer overrun.
79313         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
79314         Don't consider the width for tmp_length. Check count against tmp_length
79315         before doing the padding. Ensure enough allocation during padding.
79317 2008-03-30  Eric Blake  <ebb9@byu.net>
79319         strtod touchups.
79320         * lib/strtod.c (strtod): Avoid compiler warnings.
79321         Reported by Jim Meyering.
79323 2008-03-30  Bruno Haible  <bruno@clisp.org>
79325         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
79326         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
79327         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
79328         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
79329         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
79330         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
79331         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
79332         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
79334         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
79335         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
79336         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
79337         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
79338         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
79339         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
79340         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
79341         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
79343         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
79344         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
79345         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
79346         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
79347         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
79348         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
79349         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
79350         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
79352         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
79353         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
79355         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
79356         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
79358         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
79359         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
79361         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
79362         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
79363         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
79365         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
79366         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
79367         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
79369         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
79370         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
79371         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
79373         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
79374         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
79375         * modules/vasprintf (Depends-on): Add EOVERFLOW.
79377         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
79378         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
79379         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
79380         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
79381         (Depends-on): Add EOVERFLOW.
79382         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
79383         (Depends-on): Add EOVERFLOW.
79384         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
79385         (Depends-on): Add EOVERFLOW.
79386         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
79387         (Depends-on): Add EOVERFLOW.
79388         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
79389         (Depends-on): Add EOVERFLOW.
79390         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
79391         (Depends-on): Add EOVERFLOW.
79392         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
79393         (Depends-on): Add EOVERFLOW.
79394         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
79395         (Depends-on): Add EOVERFLOW.
79397         * lib/sprintf.c (EOVERFLOW): Remove fallback.
79398         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
79399         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
79401         * lib/snprintf.c (EOVERFLOW): Remove fallback.
79402         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
79403         * modules/snprintf (Depends-on): Add EOVERFLOW.
79405         * lib/poll.c (EOVERFLOW): Remove fallback.
79406         * modules/poll (Depends-on): Add EOVERFLOW.
79408         * lib/getugroups.c (EOVERFLOW): Remove fallback.
79409         * modules/getugroups (Depends-on): Add EOVERFLOW.
79411         * lib/getdelim.c (EOVERFLOW): Remove fallback.
79412         * modules/getdelim (Depends-on): Add EOVERFLOW.
79414         * lib/ftell.c (EOVERFLOW): Remove fallback.
79415         * modules/ftell (Depends-on): Add EOVERFLOW.
79417         * lib/fprintf.c (EOVERFLOW): Remove fallback.
79418         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
79419         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
79421         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
79423         * modules/EOVERFLOW-tests: New file.
79424         * tests/test-EOVERFLOW.c: New file.
79426         * modules/EOVERFLOW: New file.
79427         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
79429 2008-03-30  Bruno Haible  <bruno@clisp.org>
79431         Fix bug introduced on 2007-06-10.
79432         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
79433         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
79435 2008-03-30  Bruno Haible  <bruno@clisp.org>
79437         Improve freadseek's efficiency after ungetc.
79438         * lib/freadseek.c: Include freadahead.h.
79439         (freadptrinc): New function, extracted from freadseek.
79440         (freadseek): Use it in a loop. Use freadahead to determine the number
79441         of loop iterations.
79442         * modules/freadseek (Depends-on): Add freadahead.
79443         (configure.ac): Require AC_C_INLINE.
79445 2008-03-30  Bruno Haible  <bruno@clisp.org>
79447         * lib/freadseek.c (freadseek): Don't ignore the return value of
79448         freadptr.
79450 2008-03-29  Eric Blake  <ebb9@byu.net>
79452         Add hex float support.
79453         * modules/strtod (Depends-on): Add c-ctype.
79454         (Link): Mention POW_LIB.
79455         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
79456         whitespace between 'e' and exponent.
79457         * tests/test-strtod.c (main): Enable hex float tests.
79458         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
79459         now provides.
79461         Document various strtod bugs, with some fixes.
79462         * doc/posix-functions/strtod.texi (strtod): Document bugs with
79463         "-0x", "inf", "nan", and hex constants.
79464         * doc/posix-functions/atof.texi (atof): Likewise.
79465         * modules/stdlib (Makefile.am): Support strtod.
79466         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
79467         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
79468         detect additional strtod bugs.
79469         * lib/stdlib.in.h (rpl_strtod): Add declarations.
79470         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
79471         bool where appropriate.  Parse 'inf' and 'nan'.
79472         * tests/test-strtod.c: New file.
79473         * modules/strtod (Depends-on): Add stdbool, stdlib.
79474         (configure.ac): Turn on module indicator.
79475         * modules/strtod-tests: New module.
79477 2008-03-29  Eric Blake  <ebb9@byu.net>
79479         Fix ftell on mingw.
79480         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
79481         * modules/ftell-tests (Depends-on): Add binary-io.
79482         * modules/ftello-tests (Depends-on): Likewise.
79483         * tests/test-ftell.c (main): Enhance test to cover behavior after
79484         ungetc.  Enforce binary mode.
79485         * tests/test-ftello.c (main): Likewise.
79487         Pass test-freadseek on cygwin.
79488         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
79489         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
79490         ungetc buffer.
79492         * tests/test-fflush2.c (main): Fix typo.
79494 2008-03-29  Bruno Haible  <bruno@clisp.org>
79496         * tests/test-fflush2.c (main): Temporarily disable the contents of
79497         this test.
79498         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
79499         Reported by Eric Blake.
79501 2008-03-28  Simon Josefsson  <simon@josefsson.org>
79503         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
79504         (GC_SHA224_DIGEST_SIZE): Add.
79506         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
79507         (gc_hash_digest_length): Likewise.
79508         (gc_hash_buffer): Likewise.
79510 2008-03-25  Bruno Haible  <bruno@clisp.org>
79512         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
79513         detail which gettext release to use.
79514         Reported by Simon Josefsson.
79516 2008-03-26  Jim Meyering  <meyering@redhat.com>
79518         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
79519         * modules/gnumakefile (clean-GNUmakefile): Also, use
79520         test ... && ... || : syntax rather than if-then ... fi.
79522         gnumakefile: Don't double-quote-expand $(VPATH) value.
79523         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
79525 2008-03-24  Eric Blake  <ebb9@byu.net>
79527         Alter GNUmakefile to install into top directory.
79528         * modules/maintainer-makefile: Split, and add dependency...
79529         * modules/gnumakefile: to this new module.
79530         * build-aux/GNUmakefile: Move...
79531         * top/GNUmakefile: ...here.
79532         * build-aux/maint.mk: Move...
79533         * top/maint.mk: ...here.
79534         * MODULES.html.sh (Support for maintaining...): Document new
79535         module.
79537 2008-03-23  Bruno Haible  <bruno@clisp.org>
79539         * gnulib-tool: New options --vc-files, --no-vc-files.
79540         (func_usage): Document them.
79541         (vc_files): New variable.
79542         (func_import): Consider vc_files.
79543         (func_create_testdir): Set vc_files to empty.
79544         Suggested by Jim Meyering and Karl Berry.
79546 2008-03-23  Bruno Haible  <bruno@clisp.org>
79548         Fix regex compilation error on HP-UX 11.
79549         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
79550         * modules/regex (Files): Add m4/mbstate_t.m4.
79551         Reported by Ton Voon <ton.voon@altinity.com>.
79553 2008-03-23  Bruno Haible  <bruno@clisp.org>
79555         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
79557 2008-03-23  Eric Blake  <ebb9@byu.net>
79558             Bruno Haible  <bruno@clisp.org>
79560         Install files from top/ in the destination directory.
79561         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
79562         augmentation also for the files from top/.
79563         (func_import, func_create_testdir): Rewrite file names:
79564         top/filename -> filename.
79566 2008-03-23  Bruno Haible  <bruno@clisp.org>
79568         Tweak "gnulib --version" output.
79569         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
79571 2008-03-23  Bruno Haible  <bruno@clisp.org>
79573         Tweak "gnulib --version" output.
79574         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
79575         rather than contents of ChangeLog, when possible.
79577 2008-03-21  Eric Blake  <ebb9@byu.net>
79579         More --version tweaks.
79580         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
79581         date of last ChangeLog entry.
79583 2008-03-21  Jim Meyering  <meyering@redhat.com>
79585         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
79587 2008-03-20  Eric Blake  <ebb9@byu.net>
79589         VPATH fix.
79590         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
79592 2008-03-20  Simon Josefsson  <simon@josefsson.org>
79594         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
79595         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
79597 2008-03-20  Eric Blake  <ebb9@byu.net>
79599         Sync GNUmakefile with coreutils.
79600         * build-aux/GNUmakefile (have-Makefile): Rename...
79601         (_have-Makefile): ...to this, for namespace consideration.
79602         (GNUmakefile.cfg): Include, if present.
79603         (_autoreconf): Define a default.
79604         (_is-dist-target): New rule for rebuilds to pick up intra-release
79605         version.
79606         (maint-cfg.mk): Rename...
79607         (cfg.mk): ...to this.
79609 2008-03-18  Jim Meyering  <meyering@redhat.com>
79611         New script and module: mktempd
79612         * MODULES.html.sh (maint+release support): Add mktempd.
79613         * build-aux/mktempd: New file.
79614         * modules/mktempd: New file.
79616 2008-03-15  Jim Meyering  <meyering@redhat.com>
79618         Undo last change.
79619         * lib/sha1.c, lib/md5.c: 63 != ~63.
79620         Reported by Andreas Schwab.
79622         sha1.c, md5.c: Hoist a redundant expression.
79623         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
79624         "ctx->buflen" only once, before calling *_process_block.
79625         * lib/md5.c (md5_process_bytes): Likewise.
79627 2008-03-14  Eric Blake  <ebb9@byu.net>
79629         Bump copyright year in files generated by gnulib-tool.
79630         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
79631         gnulib-tool, rather than hard-coding it.
79633         Fix 'gnulib-tool --version' output to work with git.
79634         * gnulib-tool (func_gnulib_dir): New function, extracted from...
79635         (startup): ...here.
79636         (func_version): Use it to invoke git-version-gen, rather than
79637         relying on CVS keyword expansion.  Modernize wording.
79638         (cvsdatestamp, last_checkin_date, version): Kill unused
79639         variables.
79641 2008-03-12  Jim Meyering  <meyering@redhat.com>
79643         Recognize optional cast of the argument to free.
79644         * build-aux/useless-if-before-free: Update regexps.
79646         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
79648 2008-03-11  Bruno Haible  <bruno@clisp.org>
79650         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
79651         by a single package.
79652         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
79653         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
79654         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
79655         Reported by Sam Steingold <sds@gnu.org>.
79657 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
79659         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
79660         repositories.
79662 2008-03-11  Bruno Haible  <bruno@clisp.org>
79664         Avoid conflicts between local macro definitions.
79665         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
79666         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
79668 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
79669             Bruno Haible  <bruno@clisp.org>
79671         Make va_copy work with some version of xlc on AIX 5.1.
79672         * lib/stdarg.in.h: New file.
79673         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
79674         On AIX, use a <stdarg.h> file substitute.
79675         * modules/stdarg (Files): Add lib/stdarg.in.h.
79676         (Depends-on): Add include_next.
79677         (Makefile.am): Build a stdarg.h substitute if requested.
79678         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
79680 2008-03-10  Bruno Haible  <bruno@clisp.org>
79682         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
79683         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
79684         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
79686 2008-03-10  Bruno Haible  <bruno@clisp.org>
79688         * modules/stdlib (Depends-on): Add include_next, remove
79689         absolute-header.
79691 2008-03-09  Bruno Haible  <bruno@clisp.org>
79693         * lib/freadahead.h (freadahead): Document more precisely.
79694         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
79695         the sum of both buffer sizes.
79696         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
79697         * NEWS: Document the change.
79699 2008-03-09  Bruno Haible  <bruno@clisp.org>
79701         Extend freadptr to return also the buffer size.
79702         * lib/freadptr.h (freadptr): Add sizep argument.
79703         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
79704         (freadptr): Add sizep argument. Determine buffer size like freadahead
79705         does.
79706         * tests/test-freadptr.c: Don't include freadahead.h.
79707         (main): Adapt for new calling convention of freadptr.
79708         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
79709         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
79710         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
79711         tests/test-freadptr2.sh.
79712         (Depends): Remove freadahead.
79713         (TESTS): Add test-freadptr2.sh.
79714         (check_PROGRAMS): Add test-freadptr2.
79716 2008-03-09  Bruno Haible  <bruno@clisp.org>
79718         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
79719         Report and solution by Simon Josefsson.
79721 2008-03-06  Bruno Haible  <bruno@clisp.org>
79723         Make fflush after ungetc work on BSD platforms.
79724         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
79725         * tests/test-fflush2.c: New file.
79726         * tests/test-fflush2.sh: New file.
79727         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
79728         tests/test-fflush2.c.
79729         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
79730         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
79732 2008-03-06  Eric Blake  <ebb9@byu.net>
79734         Likewise for ftello.
79735         * modules/ftello (Dependencies): Add extensions.
79736         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
79738 2008-03-06  Bruno Haible  <bruno@clisp.org>
79740         * modules/fseeko (Dependencies): Add extensions.
79741         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
79742         Needed on glibc systems.
79744 2008-03-06  Bruno Haible  <bruno@clisp.org>
79746         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
79747         email address.
79748         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
79750 2008-03-06  Bruno Haible  <bruno@clisp.org>
79752         * users.txt: Add libgnupdf.
79754 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
79756         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
79757         (Header File Substitutes, Function Substitutes,
79758         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
79759         (Build robot for gnulib): Fix typo.
79761 2008-03-06  Bruno Haible  <bruno@clisp.org>
79763         * doc/gnulib-tool.texi (VCS Issues): Small updates.
79764         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
79766 2008-03-06  Bruno Haible  <bruno@clisp.org>
79768         * doc/func.texi: New file, extracted from doc/gnulib.texi.
79769         * doc/gnulib.texi: Include it.
79771 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79773         * modules/func (License): Change license to unlimited; there was
79774         no LGPL parts in the module anyway.
79776 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79778         * modules/__func__: Renamed to modules/func.
79779         * modules/__func__-tests: Renamed to modules/func-tests.
79780         * tests/test-__func__.c: Renamed to tests/test-func.c.
79781         * m4/__func__.m4: Renamed to m4/func.m4.
79782         * doc/gnulib.texi (__func__): Section renamed to func.
79783         Suggested by Eric Blake <ebb9@byu.net>.
79785 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79787         * doc/gnulib.texi (__func__): Use C99 terminology when talking
79788         about __func__.  Make example self-contained.  Suggested by Eric
79789         Blake <ebb9@byu.net>.
79791         * tests/test-__func__.c (main): Avoid extraneous () around __func.
79792         Suggested by Eric Blake <ebb9@byu.net>.
79794 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79796         * modules/__func__: New file.
79797         * modules/__func__-tests: New file.
79798         * tests/test-__func__.c: New file.
79799         * m4/__func__.m4: New file.
79800         * doc/gnulib.texi (__func__): Document __func__ module.
79802 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79804         * modules/byteswap (License): Re-license as LGPLv2+.
79806 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79808         * doc/Makefile: Add pdf target.
79810 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79812         * modules/inline (License): Use 'unlimited', since there are only
79813         *.m4 files in this module.
79815 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
79816             Bruno Haible  <bruno@clisp.org>
79818         Add support for HP C 7.1 on OpenVMS 8.3.
79819         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
79821 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
79823         Update VMS specifics.
79824         * lib/getopt.c [VMS]: Remove include of unixlib.h.
79826 2008-03-02  Jim Meyering  <meyering@redhat.com>
79828         Remove the last dependency on the "free" module.
79829         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
79830         Reported by Bob Proulx.
79832         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
79834         Remove useless "if" tests before free.  Deprecate "free" module.
79835         * doc/posix-functions/free.texi: Mention that this
79836         module is no longer useful.
79837         * modules/free (Notice): Say this module is obsolete.
79838         * modules/readutmp (Depends-on): Remove free.
79839         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
79840         * lib/putenv.c (putenv): Likewise.
79841         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
79842         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
79843         * tests/test-c-strcasestr.c (main): Likewise.
79844         * tests/test-c-strstr.c (main): Likewise.
79845         * tests/test-mbscasestr1.c (main): Likewise.
79846         * tests/test-mbscasestr2.c (main): Likewise.
79847         * tests/test-mbsstr1.c (main): Likewise.
79848         * tests/test-mbsstr2.c (main): Likewise.
79849         * tests/test-memmem.c (main): Likewise.
79850         * tests/test-strcasestr.c (main): Likewise.
79851         * tests/test-striconv.c (main): Likewise.
79852         * tests/test-striconveh.c (main): Likewise.
79853         * tests/test-striconveha.c (main): Likewise.
79854         * tests/test-strstr.c (main): Likewise.
79856         * build-aux/git-version-gen: Adjust a comment and the Usage string.
79858         bootstrap: sync from coreutils again
79859         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
79861 2008-03-01  Jim Meyering  <meyering@redhat.com>
79863         bootstrap: sync from coreutils
79864         * build-aux/bootstrap (update_po_files): Copy a .po file into place
79865         also when the target doesn't exist.
79867 2008-03-01  Eric Blake  <ebb9@byu.net>
79869         Fix bugs in last patch.
79870         * lib/memchr2.c (memchr2): Fix typo.
79871         * tests/test-memchr2.c: Test previous bug, and don't use GNU
79872         extension.
79873         Reported by Bruce Korb.
79875         New module 'memchr2'.
79876         * modules/memchr2: New file.
79877         * modules/memchr2-tests: Likewise.
79878         * lib/memchr2.h: Likewise.
79879         * lib/memchr2.c: Likewise, based on memchr.c.
79880         * tests/test-memchr2.c: New test.
79881         * MODULES.html.sh (String handling): Add memchr2.
79883 2008-02-29  Bruno Haible  <bruno@clisp.org>
79885         * modules/freadseek-tests: New file.
79886         * tests/test-freadseek.sh: New file.
79887         * tests/test-freadseek.c: New file.
79889         New module 'freadseek'.
79890         * modules/freadseek: New file.
79891         * lib/freadseek.h: New file.
79892         * lib/freadseek.c: New file.
79893         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
79895 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
79897         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
79898         wydawca.
79900         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
79901         program_invocation_name and program_invocation_short_name are
79902         present.
79904 2008-02-28  Bruno Haible  <bruno@clisp.org>
79906         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
79907         * tests/test-freadptr.sh: Also test non-seekable stdin.
79909 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
79911         * build-aux/bootstrap (source_base, m4_base)
79912         (doc_base, tests_base): New variables.
79913         (gnulib_tool_options): Do not hardcode base directories, use
79914         the above variables instead.
79916 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
79918         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
79920 2008-02-28  Bruno Haible  <bruno@clisp.org>
79922         * modules/freadptr-tests: New file.
79923         * tests/test-freadptr.sh: New file.
79924         * tests/test-freadptr.c: New file.
79926         New module 'freadptr'.
79927         * modules/freadptr: New file.
79928         * lib/freadptr.h: New file.
79929         * lib/freadptr.c: New file.
79930         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
79932 2008-02-26  Karl Berry  <karl@freefriends.org>
79934         Sync from Libtool:
79935         * libltdl/argz.c (argz_add, argz_count): New functions.
79936         * libltdl/argz.in.h: Declare them.
79937         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
79939 2008-02-22  Bruno Haible  <bruno@clisp.org>
79941         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
79942         is a pointer type.  Needed for HP-UX 10.
79943         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
79944         * doc/posix-functions/gmtime_r.texi: Likewise.
79945         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
79947 2008-02-24  Bruno Haible  <bruno@clisp.org>
79949         * modules/environ-tests: New file.
79950         * tests/test-environ.c: New file.
79952         New module 'environ'.
79953         * modules/environ: New file.
79954         * lib/unistd.in.h (environ): New declaration.
79955         * m4/environ.m4: New file.
79956         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
79957         after use.
79958         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
79959         HAVE_DECL_ENVIRON.
79960         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
79961         HAVE_DECL_ENVIRON.
79962         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
79963         wrong claim that 'environ' is missing on some systems.
79964         * modules/execute (Depends-on): Add environ.
79965         * lib/execute.c (environ): Remove fallback declaration.
79966         * modules/pipe (Depends-on): Add environ.
79967         * lib/pipe.c (environ): Remove fallback declaration.
79968         * modules/setenv (Depends-on): Add environ.
79969         * lib/setenv.c (environ): Remove fallback declaration.
79970         * modules/unsetenv (Depends-on): Add environ.
79971         * lib/unsetenv.c (environ): Remove fallback declaration.
79972         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
79973         m4/environ.m4.
79974         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
79975         (gl_PREREQ_UNSETENV): Likewise.
79977 2008-02-24  Bruno Haible  <bruno@clisp.org>
79979         * doc/posix-functions/environ.texi: Document the MacOS X problem.
79981 2008-02-20  Bob Proulx  <bob@proulx.com>
79983         Enable use of older two part flavor 'git describe'.
79984         * build-aux/git-version-gen: If using the older two part flavor of
79985         git version then recreate the third part now present in the
79986         newer three part flavor of git describe.
79988 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
79990         * lib/fts.c (fts_build): Typo correction to comment.
79992 2008-02-17  Bruno Haible  <bruno@clisp.org>
79994         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
79995         generating no-op conflicts.
79997 2008-02-17  Bruno Haible  <bruno@clisp.org>
79999         Speed up by 10%.
80000         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
80001         result_entries, rather than an index-based loop.
80003 2008-02-17  Bruno Haible  <bruno@clisp.org>
80005         Speed up by 25%.
80006         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
80007         'hashcode_cached'.
80008         (entry_create): New function.
80009         (entry_hashcode): Use the cached hashcode if possible.
80010         (read_changelog_file, try_split_merged_entry): Use entry_create.
80012 2008-02-17  Bruno Haible  <bruno@clisp.org>
80014         Speed up from O(n^2) to O(n) for long ChangeLog files.
80015         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
80016         (read_changelog_file): Change implementation of entries_reversed list
80017         to rbtreehash.
80018         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
80020 2008-02-17  Bruno Haible  <bruno@clisp.org>
80022         New option --split-merged-entry.
80023         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
80024         (find_paragraph_end, try_split_merged_entry): New functions.
80025         (long_options): Add option --split-merged-entry.
80026         (usage): Document option --split-merged-entry.
80027         (main): Implement option --split-merged-entry.
80028         Reported by Eric Blake.
80030 2008-02-17  Bruno Haible  <bruno@clisp.org>
80032         * lib/git-merge-changelog.c: Include c-strstr.h.
80033         (main): Support the "git pull --rebase" situation.
80034         * modules/git-merge-changelog (Depends-on): Add c-strstr.
80035         Reported by Eric Blake.
80037 2008-02-16  Eric Blake  <ebb9@byu.net>
80039         Avoid doubling \ in common case of "c-maybe" quoting style.
80040         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
80041         eliding outer quotes.
80042         * lib/quotearg.h: Document this.
80043         * tests/test-quotearg.c (result_strings, inputs, results_g)
80044         (flag_results, locale_results): Test it by adding a new string to
80045         each test group.
80046         (compare_strings): Test new string.
80048 2008-02-13  Eric Blake  <ebb9@byu.net>
80050         Avoid trigraph quoting in default output.
80051         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
80052         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
80053         unless explicitly requested.
80054         * tests/test-quotearg.c (flag_results, main): Add additional tests.
80056 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
80058         Don't rely on signed integer overflowing to negative value.
80059         * lib/getugroups.c (getugroups): Include <limits.h>.
80060         Instead, compare against INT_MAX, and increment only if the test passes.
80062 2008-02-13  Jim Meyering  <meyering@redhat.com>
80063         and Eric Blake  <ebb9@byu.net>
80065         Avoid shadowing warning and compile errors on Linux.
80066         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
80067         forwarding macros on Linux.
80068         (dcgettext): Define a stub, for Linux.
80069         (results_g, main): Avoid warnings.
80071 2008-02-12  Eric Blake  <ebb9@byu.net>
80073         Silence warning in last patch.
80074         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
80076         Quotearg part 4: add tests, fix c-maybe colon quoting.
80077         * lib/quotearg.h: Improve documentation.
80078         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
80079         escapes when adding outer quotes.  When quoting trigraphs, use
80080         valid C notation.  When quoting NUL, omit extra characters if next
80081         character is not digit.  Alter prototype.
80082         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
80083         callers.
80084         * modules/quotearg-tests: New module.
80085         * tests/test-quotearg.c: New test.
80087 2008-02-07  Eric Blake  <ebb9@byu.net>
80089         Quotearg part 3: add flag to control outer quote elision.
80090         * lib/quotearg.h (c_maybe_quoting_style): New style.
80091         (enum quoting_flags): Better documentation of flags.
80092         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
80093         c-maybe style.
80094         (quotearg_buffer_restyled): Handle new flag to elide outer
80095         quotes.
80097         Quotearg part 2: add flag that can control NUL elision.
80098         * lib/quotearg.h (set_quoting_flags): New prototype.
80099         * lib/quotearg.c (struct quoting_options): Add flag field.
80100         (set_quoting_flags): New function.
80101         (quotearg_buffer_restyled): Add flags parameter.
80102         (quotearg_alloc_mem): Set the flag if length cannot be returned.
80103         (quotearg_n_options): Set the flag, since length cannot be
80104         returned.
80105         (quoting_options_from_style): Default flags correctly.
80107         Quotearg part 1: more wrappers, restore quotearg_char state.
80108         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
80109         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
80110         (quotearg_colon_mem): New wrappers.
80111         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
80112         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
80113         functions.
80114         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
80115         (quotearg_colon_mem): New functions.
80117 2008-02-11  Bruno Haible  <bruno@clisp.org>
80119         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
80120         library in the current directory: it does not work with parallel make.
80121         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80123 2008-02-11  Bruno Haible  <bruno@clisp.org>
80125         * .gitattributes: New file.
80127 2008-02-11  Jim Meyering  <meyering@redhat.com>
80129         useless-if-before-free: Fix reversed exit values.
80130         * build-aux/useless-if-before-free: Use correct values
80131         for EXIT_MATCH and EXIT_NO_MATCH.
80133         * build-aux/useless-if-before-free: Close stdout carefully.
80135 2008-02-10  Bruno Haible  <bruno@clisp.org>
80137         New module 'git-merge-changelog'.
80138         * modules/git-merge-changelog: New file.
80139         * lib/git-merge-changelog.c: New file.
80141 2008-02-10  Jim Meyering  <meyering@redhat.com>
80143         useless-if-before-free: New option: --list (-l).
80145         useless-if-before-free: Don't exit immediately upon open failure.
80146         * build-aux/useless-if-before-free: Exit 2 for errors.
80147         Upon failure to open a file, don't exit immediately.
80148         Rather, just warn and continue with any remaining files.
80150 2008-02-10  Bruno Haible  <bruno@clisp.org>
80152         New abstract list operation 'node_set_value'.
80153         * lib/gl_list.h (gl_list_node_set_value): New function.
80154         (struct gl_list_implementation): New field node_set_value.
80155         * lib/gl_list.c (gl_list_node_set_value): New function.
80156         * lib/gl_array_list.c (gl_array_node_set_value): New function.
80157         (gl_array_list_implementation): Update.
80158         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
80159         (gl_carray_list_implementation): Update.
80160         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
80161         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
80162         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
80163         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
80164         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
80165         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
80166         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
80167         Update.
80168         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
80169         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
80170         (gl_sublist_list_implementation): Update.
80172 2008-02-10  Bruno Haible  <bruno@clisp.org>
80174         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
80175         Needed when ELEMENT is #defined to 'some_type *'.
80177 2008-02-10  Jim Meyering  <meyering@redhat.com>
80179         New script and module: useless-if-before-free
80180         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
80181         * build-aux/useless-if-before-free: New file.
80182         * modules/useless-if-before-free: New file.
80184         * build-aux/gitlog-to-changelog: Use committer date, not author date.
80186         xstrtol_error: Fix typo.
80187         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
80188         s/exit_failure/exit_status/.
80190 2008-02-09  Jim Meyering  <meyering@redhat.com>
80192         New script and module: gitlog-to-changelog
80193         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
80194         * modules/gitlog-to-changelog: New file.
80195         * build-aux/gitlog-to-changelog: New file.
80197 2008-02-08  Jim Meyering  <meyering@redhat.com>
80199         Avoid two "parameter unused" warnings.
80200         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
80201         Mark "st" as used.
80203         Use "git COMMAND", not "git-COMMAND".
80204         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
80205         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
80206         * build-aux/git-version-gen: Use "git status", not "git-status".
80208 2008-02-07  Bruno Haible  <bruno@clisp.org>
80210         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
80211         Avoids a crash on Windows Vista.
80212         Reported by Adam Strzelecki <ono@java.pl> via
80213         Simon Josefsson <simon@josefsson.org>.
80215 2008-02-06  Bruno Haible  <bruno@clisp.org>
80217         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
80218         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
80219         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
80220         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
80221         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
80222         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
80223         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
80224         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
80225         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
80226         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
80227         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
80228         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
80229         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
80230         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
80231         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
80232         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
80233         left-adjust flag.
80234         * tests/test-snprintf-posix.h (test_function): Likewise.
80235         * tests/test-sprintf-posix.h (test_function): Likewise.
80236         * tests/test-vasprintf-posix.c (test_function): Likewise.
80237         * doc/posix-functions/fprintf.texi: Update.
80238         * doc/posix-functions/printf.texi: Update.
80239         * doc/posix-functions/snprintf.texi: Update.
80240         * doc/posix-functions/sprintf.texi: Update.
80241         * doc/posix-functions/vfprintf.texi: Update.
80242         * doc/posix-functions/vprintf.texi: Update.
80243         * doc/posix-functions/vsnprintf.texi: Update.
80244         * doc/posix-functions/vsprintf.texi: Update.
80245         Reported by Peter Fales <psfales@alcatel-lucent.com>.
80247 2008-02-06  Bruno Haible  <bruno@clisp.org>
80249         Fix bug introduced on 2008-01-26.
80250         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
80252 2008-02-06  Bruno Haible  <bruno@clisp.org>
80254         Fix bug introduced on 2007-06-10.
80255         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
80256         !NEED_PRINTF_FLAG_ZERO.
80258 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
80260         getloadavg: use libperfstat on AIX5
80261         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
80263 2008-02-03  Bruno Haible  <bruno@clisp.org>
80265         * lib/diffseq.h: Add comments about required #includes.
80266         Reported by Michael Biggs <gnulib@doubleplum.net>.
80268 2008-02-01  Bruno Haible  <bruno@clisp.org>
80270         * users.txt: Add gnuit.
80272 2008-01-31  Bruno Haible  <bruno@clisp.org>
80274         * lib/md4.c (set_uint32): Mark as inline.
80275         * lib/md5.c (set_uint32): Likewise.
80276         * lib/sha1.c (set_uint32): Likewise.
80277         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
80278         * m4/md5.m4 (gl_MD5): Likewise.
80279         * m4/sha1.m4 (gl_SHA1): Likewise.
80281 2008-01-31  Jim Meyering  <meyering@redhat.com>
80283         Use "sizeof VAR", rather than a literal "4".
80284         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
80285         * lib/md4.c (md4_read_ctx): Likewise.
80286         * lib/sha1.c (sha1_read_ctx): Likewise.
80288 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80290         * tests/test-sha1.c: New file, based on test-md5.c.
80292         * modules/crypto/sha1-tests: New file.
80294 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80296         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
80298 2008-01-31  Jim Meyering  <meyering@redhat.com>
80300         Prefer "sizeof v" over the equivalent "4".
80301         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
80302         * lib/md5.c (set_uint32): Likewise.
80303         * lib/sha1.c (set_uint32): Likewise.
80305 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80307         * lib/sha1.c (set_uint32): Mark function as static.
80309 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80311         md2: clarify comments to say that alignment is not required.
80312         * lib/md2.h: Remove warning about alignment in comment.
80313         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
80314         never been required.
80316 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80318         md4: adapt alignment constraint fix from sha1.
80319         * lib/md4.c (set_uint32): New function, from sha1.c
80320         (md4_read_ctx): Use it.
80321         (md4_finish_ctx): Doc fix.
80322         * lib/md4.h: Doc fix.
80324 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80326         md5: adapt alignment constraint fix from sha1.
80327         * lib/md5.c (set_uint32): New function, from sha1.c
80328         (md5_read_ctx): Use it.
80329         (md5_finish_ctx): Doc fix.
80330         * lib/md5.h: Doc fix.
80332 2008-01-30  Peter Palfrader  <weasel@debian.org>
80334         sha1: remove the result buffer alignment constraint
80335         * lib/sha1.c (set_uint32): New function.
80336         (sha1_read_ctx): Rewrite to remove the result buffer alignment
80337         constraint.
80338         (sha1_finish_ctx): Remove comment warning about alignment constraint.
80339         * lib/sha1.h: Likewise.
80341 2008-01-30  Andreas Schwab  <schwab@suse.de>
80342             Bruno Haible  <bruno@clisp.org>
80344         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
80345         correct definition of LDBL_MIN_EXP.
80347 2008-01-30  Karl Berry  <karl@gnu.org>
80349         * config/srclist-update: try to preserve x bit on updates.
80350         * config/srclistvars.sh: update for karl.
80352 2008-01-29  Jim Meyering  <meyering@redhat.com>
80354         vasnprintf.c: Avoid warning about unused label
80355         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
80356         "overflow" label definition and associated code with the
80357         same cpp condition that guards the sole use of that label.
80359 2008-01-26  Bruno Haible  <bruno@clisp.org>
80361         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
80362         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
80363         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
80364         * lib/isnanl-nolibm.h (isnanl): Likewise.
80365         Reported by Paul Eggert <eggert@cs.ucla.edu>.
80367 2008-01-26  Bruno Haible  <bruno@clisp.org>
80369         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
80370         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
80372 2008-01-26  Bruno Haible  <bruno@clisp.org>
80374         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
80375         GCC >= 4.0 built-in.
80376         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
80378 2008-01-26  Bruno Haible  <bruno@clisp.org>
80380         Rename isnan, applicable to 'double' only, to isnand.
80381         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
80382         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
80383         (configure.ac): Update.
80384         (Include): Replace "isnan.h" with "isnand.h".
80385         * m4/isnand.m4: Renamed from m4/isnan.m4.
80386         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
80387         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
80388         instead of isnan.c.
80389         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
80390         instead of HAVE_ISNAN_IN_LIBC.
80391         (isnand): Renamed from isnan.
80392         * lib/isnand.c: New file.
80393         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
80394         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
80395         (Makefile.am): Update.
80396         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
80397         Include isnand.h instead of isnan.h.
80398         (main): Test isnand instead of isnan.
80399         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
80400         isnan-nolibm.
80401         * modules/frexp (Depends-on): Likewise.
80402         * modules/frexp-tests (Depends-on): Likewise.
80403         * modules/frexp-nolibm (Depends-on): Likewise.
80404         * modules/frexp-nolibm-tests (Depends-on): Likewise.
80405         * modules/isfinite (Depends-on): Likewise.
80406         * modules/round-tests (Depends-on): Likewise.
80407         * modules/signbit (Depends-on): Likewise.
80408         * modules/signbit-tests (Depends-on): Likewise.
80409         * modules/snprintf-posix (Depends-on): Likewise.
80410         * modules/sprintf-posix (Depends-on): Likewise.
80411         * modules/trunc-tests (Depends-on): Likewise.
80412         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
80413         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
80414         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
80415         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
80416         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
80417         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
80418         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
80419         * modules/vasnprintf-posix (Depends-on): Likewise.
80420         * modules/vasprintf-posix (Depends-on): Likewise.
80421         * modules/vfprintf-posix (Depends-on): Likewise.
80422         * modules/vsnprintf-posix (Depends-on): Likewise.
80423         * modules/vsprintf-posix (Depends-on): Likewise.
80424         * lib/frexp.c: Include isnand.h instead of isnan.h.
80425         (ISNAN): Set to isnand instead of isnan.
80426         * lib/isfinite.c: Include isnand.h instead of isnan.h.
80427         (gl_isfinited): Use isnand instead of isnan.
80428         * lib/signbitd.c: Include isnand.h instead of isnan.h.
80429         (gl_signbitd): Use isnand instead of isnan.
80430         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
80431         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
80432         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
80433         (main): Use isnand instead of isnan.
80434         * tests/test-round1.c: Include isnand.h.
80435         (main): Use isnand instead of isnan.
80436         * tests/test-round2.c: Include isnand.h instead of isnan.h.
80437         (ISNAN): Set to isnand instead of isnan.
80438         * tests/test-trunc1.c: Include isnand.h.
80439         (main): Use isnand instead of isnan.
80440         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
80441         (equal): Use isnand instead of isnan.
80442         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
80443         isnand-nolibm.
80444         * NEWS: Mention the change.
80446 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
80447             Bruno Haible  <bruno@clisp.org>
80449         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
80450         the GCC builtins for signbits are present and set
80451         REPLACE_SIGNBIT_USING_GCC if so.
80452         * lib/math.in.h (signbit): Define using GCC builtins if
80453         REPLACE_SIGNBIT_USING_GCC is set.
80454         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
80455         REPLACE_SIGNBIT_USING_GCC.
80456         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
80458 2008-01-25  Jim Meyering  <meyering@redhat.com>
80460         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
80461         * lib/poll.c: Include <config.h>, not "config.h".
80462         * tests/test-getaddrinfo.c: Likewise.
80464 2008-01-25  Simon Josefsson  <simon@josefsson.org>
80466         * modules/sockets-tests: New file.
80468 2008-01-24  Simon Josefsson  <simon@josefsson.org>
80470         * modules/sockets: New module, can be used to call WSA_Startup and
80471         WSA_Cleanup when needed.
80473         * lib/sockets.h, lib/sockets.c: New files.
80475         * m4/sockets.m4: New file.
80477         * tests/test-sockets.c: New file.
80479 2008-01-19  Bruno Haible  <bruno@clisp.org>
80481         * doc/posix-headers: Renamed from doc/headers.
80482         * doc/posix-functions: Renamed from doc/functions.
80483         * doc/gnulib.texi: Update.
80485 2008-01-19  Bruno Haible  <bruno@clisp.org>
80487         * doc/glibc-functions/strcasestr.texi: Include contents of
80488         doc/functions/strcasestr.texi, fixing the list of platforms.
80489         * doc/functions/strcasestr.texi: Remove file.
80491 2008-01-19  Bruno Haible  <bruno@clisp.org>
80493         * doc/glibc-functions/memmem.texi: Include contents of
80494         doc/functions/memmem.texi.
80495         * doc/functions/memmem.texi: Remove file.
80497 2008-01-18  Bruno Haible  <bruno@clisp.org>
80499         * doc/glibc-functions/*.texi: New files.
80500         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
80501         to use the new files.
80503 2008-01-17  Bruno Haible  <bruno@clisp.org>
80505         * tests/test-gethostname.c (main): Fix printf statement.
80507 2008-01-17  Simon Josefsson  <simon@josefsson.org>
80509         * modules/gethostname-tests: New file.
80511         * tests/test-gethostname.c: New file.
80513 2008-01-17  Simon Josefsson  <simon@josefsson.org>
80515         * lib/gethostname.c: Include string.h unconditionally, strncpy is
80516         used by the UNAME case.  Reported by Bruno Haible
80517         <bruno@clisp.org>.
80519 2008-01-17  Eric Blake  <ebb9@byu.net>
80521         Convert c-strcasestr to be more efficient.
80522         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
80523         (Depends-on): Add c-strcase, remove malloca, strnlen.
80524         * tests/test-c-strcasestr.c (main): Enhance test.
80525         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
80527 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
80529         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
80530         Use it in creating po/Makevars.
80532 2008-01-15  Simon Josefsson  <simon@josefsson.org>
80534         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
80535         Applications that requires it should initialize libgcrypt
80536         manually.
80538 2008-01-16  Simon Josefsson  <simon@josefsson.org>
80540         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
80542 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
80544         Fix problem with getdate on mingw32 reported by Simon Josefsson
80545         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
80546         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
80547         tzname", when deciding whether to declare tzname.
80548         * lib/strftime.c (tzname): Likewise.
80550 2008-01-15  Bruno Haible  <bruno@clisp.org>
80552         Work around a MacOS X 10.5 bug in frexpl().
80553         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
80554         * doc/functions/frexpl.texi: Document the bug.
80555         Reported by Elias Pipping <pipping@gentoo.org>.
80557 2008-01-14  Eric Blake  <ebb9@byu.net>
80559         Touch up previous patch.
80560         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
80561         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
80563         Convert strcasestr module to use Two-Way algorithm.
80564         * modules/strcasestr-simple: New module, based on the old
80565         strcasestr, but with Two-Way rather than KMP.
80566         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
80567         * lib/string.in.h (rpl_strcasestr): Declare.
80568         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
80569         performance.
80570         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
80571         * modules/string (Makefile.am): Support strcasestr.
80572         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
80573         * modules/strcasestr-tests (Depends-on): Check for alarm.
80574         * tests/test-strcasestr.c: Augment test.
80575         * lib/str-two-way.h: Clean up stray macro.
80576         * NEWS: Document new module.
80577         * MODULES.html.sh (string handling): Likewise.
80578         * doc/functions/strcasestr.texi: New file.
80579         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
80580         here, since it is not a POSIX function.
80582 2008-01-14  Colin Watson  <cjwatson@debian.org>
80583             Bruno Haible  <bruno@clisp.org>
80585         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
80586         works fine; if not, set REPLACE_STRSIGNAL.
80587         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
80588         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80589         REPLACE_STRSIGNAL.
80590         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
80591         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
80592         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
80594 2008-01-14  Bruno Haible  <bruno@clisp.org>
80596         * modules/strsignal (Include): Change to <string.h>.
80598 2008-01-14  Colin Watson  <cjwatson@debian.org>
80600         * modules/argp (Notice): Add a notice recommending to change
80601         XGETTEXT_OPTIONS.
80602         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
80604 2008-01-13  Colin Watson  <cjwatson@debian.org>
80606         * modules/strsignal-tests: New file.
80607         * tests/test-strsignal.c: New file.
80609         * lib/strsignal.c: New file, from glibc with modifications.
80610         * lib/siglist.h: New file, from glibc with modifications.
80611         * lib/string.in.h (strsignal): New declaration.
80612         * m4/strsignal.m4: New file.
80613         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80614         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
80615         * modules/strsignal: New file.
80616         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
80617         HAVE_DECL_STRSIGNAL.
80619 2008-01-13  Bruno Haible  <bruno@clisp.org>
80621         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
80622         locale encoding is not ASCII. Needed for OpenBSD 4.0.
80623         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
80624         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
80626 2008-01-13  Bruno Haible  <bruno@clisp.org>
80628         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
80629         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
80630         * lib/argp.h (__attribute__): Likewise.
80631         * lib/c-stack.c (__attribute__): Likewise.
80632         * lib/error.h (__attribute__): Likewise.
80633         * lib/fts.c (__attribute__): Likewise.
80634         * lib/openat.h (__attribute__): Likewise.
80635         * lib/stdio.in.h (__attribute__): Likewise.
80636         * lib/string.in.h (__attribute__): Likewise.
80637         * lib/utimens.c (__attribute__): Likewise.
80638         * lib/vasnprintf.h (__attribute__): Likewise.
80639         * lib/xalloc.h (__attribute__): Likewise.
80640         * lib/xprintf.h (__attribute__): Likewise.
80641         * lib/xstrtol.h (__attribute__): Likewise.
80642         * lib/xvasprintf.h (__attribute__): Likewise.
80644 2008-01-12  Bruno Haible  <bruno@clisp.org>
80646         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
80647         * doc/glibc-headers/a.out.texi: New file.
80648         * doc/glibc-headers/aliases.texi: New file.
80649         * doc/glibc-headers/alloca.texi: New file.
80650         * doc/glibc-headers/ar.texi: New file.
80651         * doc/glibc-headers/argp.texi: New file.
80652         * doc/glibc-headers/argz.texi: New file.
80653         * doc/glibc-headers/byteswap.texi: New file.
80654         * doc/glibc-headers/crypt.texi: New file.
80655         * doc/glibc-headers/endian.texi: New file.
80656         * doc/glibc-headers/envz.texi: New file.
80657         * doc/glibc-headers/err.texi: New file.
80658         * doc/glibc-headers/error.texi: New file.
80659         * doc/glibc-headers/execinfo.texi: New file.
80660         * doc/glibc-headers/fpu_control.texi: New file.
80661         * doc/glibc-headers/fstab.texi: New file.
80662         * doc/glibc-headers/fts.texi: New file.
80663         * doc/glibc-headers/getopt.texi: New file.
80664         * doc/glibc-headers/ieee754.texi: New file.
80665         * doc/glibc-headers/ifaddrs.texi: New file.
80666         * doc/glibc-headers/libintl.texi: New file.
80667         * doc/glibc-headers/mcheck.texi: New file.
80668         * doc/glibc-headers/mntent.texi: New file.
80669         * doc/glibc-headers/obstack.texi: New file.
80670         * doc/glibc-headers/paths.texi: New file.
80671         * doc/glibc-headers/printf.texi: New file.
80672         * doc/glibc-headers/pty.texi: New file.
80673         * doc/glibc-headers/resolv.texi: New file.
80674         * doc/glibc-headers/shadow.texi: New file.
80675         * doc/glibc-headers/sysexits.texi: New file.
80676         * doc/glibc-headers/ttyent.texi: New file.
80678 2008-01-12  Jim Meyering  <meyering@redhat.com>
80680         announce-gen: emit Gnulib's git-based version string.
80681         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
80682         New option --gnulib-version=V, where V is expected to be
80683         the output of running git describe in the gnulib directory.
80684         (get_tool_versions): Request feedback on xdelta.  I suspect it's
80685         not useful, and plan to stop publishing an xdelta file with each
80686         coreutils release.
80688         * build-aux/announce-gen: Also check for lzma-compressed files.
80690 2008-01-11  Bruno Haible  <bruno@clisp.org>
80692         * tests/test-memmem.c (main): Increase maximum allowed time.
80693         * tests/test-strstr.c (main): Likewise.
80695 2008-01-11  Bruno Haible  <bruno@clisp.org>
80697         * doc/functions/memmem.texi: Add more precisions about platforms.
80698         * doc/functions/strstr.texi: Likewise.
80700 2008-01-10  Eric Blake  <ebb9@byu.net>
80702         * m4/strstr.m4: Delete cruft from copy-n-paste.
80703         Reported by Bruno Haible.
80705 2008-01-10  Bruno Haible  <bruno@clisp.org>
80707         Make c-strstr rely on strstr.
80708         * lib/c-strstr.c: Don't include str-kmp.h.
80709         (c_strstr): Define in terms of strstr.
80710         * modules/c-strstr (Files): Remove lib/str-kmp.h.
80711         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
80713 2008-01-10  Bruno Haible  <bruno@clisp.org>
80715         * doc/gnulib.texi (String Functions in C Locale): New section.
80716         * doc/c-ctype.texi: New file.
80717         * doc/c-strcase.texi: New file.
80718         * doc/c-strcaseeq.texi: New file.
80719         * doc/c-strcasestr.texi: New file.
80720         * doc/c-strstr.texi: New file.
80721         * doc/c-strtod.texi: New file.
80722         * doc/c-strtold.texi: New file.
80724 2008-01-10  Eric Blake  <ebb9@byu.net>
80726         * lib/relocatable.h: Fix a comment.
80728 2008-01-10  Eric Blake  <ebb9@byu.net>
80730         Share two-way algorithm.
80731         * lib/str-two-way.h: New file, merged from...
80732         * lib/memmem.c: ...here...
80733         * lib/strstr.c: ...and here.
80734         * modules/memmem (Files): Use it.
80735         * modules/strstr (Files): Likewise.
80737         Avoid quadratic strstr implementations.
80738         * lib/strstr.c: New file.
80739         * m4/strstr.m4: Likewise.
80740         * modules/strstr: Likewise.
80741         * modules/strstr-tests: Likewise.
80742         * tests/test-strstr.c: Likewise.
80743         * lib/string.in.h (rpl_strstr): Declare.
80744         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
80745         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
80746         * modules/string (Makefile.am): Likewise.
80747         * MODULES.html.sh (string handling): Mention new module.
80748         * doc/functions/strstr.texi (strstr): Document the bug.
80750 2008-01-10  Bruno Haible  <bruno@clisp.org>
80752         * lib/relocatable.h (relocate): State whether result is freshly
80753         allocated or not.
80754         * lib/relocatable.c (relocate): Return a freshly allocated string
80755         instead of a pointer to a privately held string.
80756         Reported by Sylvain Beucler <beuc@gnu.org>.
80758 2008-01-10  Colin Watson  <cjwatson@debian.org>
80760         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
80761         s/S_ISNLK/S_ISLNK/.
80763 2008-01-09  Bruno Haible  <bruno@clisp.org>
80765         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
80766         and other files.
80767         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
80768         if it's only a guess.
80769         * modules/memmem: Simplify by depending on memmem-simple.
80771 2008-01-09  Bruno Haible  <bruno@clisp.org>
80773         Work around OpenBSD 4.0 tdelete() bug.
80774         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
80775         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
80776         macros and don't redefine the enum values.
80777         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
80778         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
80779         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
80781 2008-01-09  Bruno Haible  <bruno@clisp.org>
80783         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
80784         (main): Don't perform the tests if setlocale did not install a UTF-8
80785         locale. Needed on OpenBSD 4.0.
80786         * modules/wcwidth-tests (Depends-on): Add localcharset.
80788 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80790         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
80791         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
80792         * NEWS: announce this.
80793         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
80795 2008-01-09  Simon Josefsson  <simon@josefsson.org>
80796         and Eric Blake  <ebb9@byu.net>
80798         Add memmem-simple module.
80799         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
80800         (gl_FUNC_MEMMEM): Separate performance from presence checks.
80801         * modules/memmem-simple: New file.
80802         * modules/memmem (Description): Tweak.
80803         * MODULES.html.sh (string handling): Mention new module.
80804         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
80805         addressed by memmem-simple.
80806         * NEWS: Document the difference.
80808 2008-01-09  Eric Blake  <ebb9@byu.net>
80810         Give gcc some memmem optimization hints.
80811         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
80812         (strcasestr): Declare as pure.
80813         * modules/memmem (Maintainer): Claim my implementation.
80815 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80817         Support AIX 6.1 and higher.
80818         * build-aux/config.libpath: Likewise.
80819         * build-aux/config.rpath: Likewise.
80821 2008-01-08  Jim Meyering  <meyering@redhat.com>
80822             Bruno Haible  <bruno@clisp.org>
80824         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
80825         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
80826         Reported by Peter Fales in
80827         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
80829 2008-01-08  Bruno Haible  <bruno@clisp.org>
80831         * modules/unictype/category-of (Depends-on): Add
80832         unictype/category-none.
80833         * modules/unictype/category-and-tests (Depends-on): Add
80834         unictype/category-{L,N,Lu,Nd}.
80835         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
80836         * modules/unictype/category-or-tests (Depends-on): Add
80837         unictype/category-{L,N}.
80838         * modules/unictype/category-name-tests (Depends-on): Add
80839         unictype/category-{Z,Nl}.
80840         Reported by Simon Josefsson.
80842 2008-01-08  Bruno Haible  <bruno@clisp.org>
80844         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
80845         convention better.
80846         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
80847         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
80848         Reported by Peter Miller <millerp@canb.auug.org.au>.
80850 2008-01-08  Eric Blake  <ebb9@byu.net>
80852         Rewrite memmem to guarantee linear complexity without malloc.
80853         * lib/memmem.c (memmem): Use Two-Way rather than
80854         Knuth-Morris-Pratt, to allow O(1) space usage.
80855         (critical_factorization, two_way_short_needle)
80856         (two_way_long_needle): New functions.
80857         (knuth_morris_pratt): Delete.
80858         * modules/memmem (Depends-on): No longer need malloca or stdbool.
80859         Add stdint.
80860         * tests/test-memmem.c (main): Add tests for periodic needle and
80861         sublinear performance.
80862         * doc/functions/memmem.texi (memmem): Document other deficiencies
80863         in cygwin and older glibc.
80865 2008-01-08  Bruno Haible  <bruno@clisp.org>
80867         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
80868         augmentation.
80870 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
80872         Add a configure time option: --disable-acl.
80873         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
80874         AC_ARG_ENABLE(acl).
80876 2008-01-06  Simon Josefsson  <simon@josefsson.org>
80878         * tests/test-localename.c: Don't include obsolete "setenv.h".
80880         * modules/localename-tests (Depends-on): Need unsetenv.
80882 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80884         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
80886 2008-01-06  Colin Watson  <cjwatson@debian.org>
80888         * users.txt: Add man-db.
80890 2008-01-07  Bruno Haible  <bruno@clisp.org>
80892         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
80893         previous section name.
80895 2008-01-07  Bruno Haible  <bruno@clisp.org>
80897         * lib/progname.c (set_program_name): Don't strip off a leading
80898         "lt-" prefix outside a .libs directory.
80899         Suggested by Paul Eggert.
80901 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
80902             Bruno Haible  <bruno@clisp.org>
80904         Improve memory cleanup in 'relocatable' module.
80905         * lib/relocatable.h (compute_curr_prefix): Change return type to
80906         'char *'.
80907         * lib/relocatable.c (compute_curr_prefix): Change return type to
80908         'char *'. Free curr_installdir after use.
80909         (relocate): Free curr_prefix_better after use.
80910         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
80912 2008-01-01  Bruno Haible  <bruno@clisp.org>
80914         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
80915         failure on older glibc systems.
80916         Reported by Peter Fales <psfales@alcatel-lucent.com>.
80918 2008-01-05  Eric Blake  <ebb9@byu.net>
80920         Avoid quadratic system memmem.
80921         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
80922         Reported by Ralf Wildenhues.
80924         Fix memmem test for mingw.
80925         * modules/memmem-tests (configure.ac): Check for alarm.
80926         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
80927         it.
80928         * doc/functions/memmem.texi: New file.
80929         * doc/gnulib.texi (Function Substitutes): Add memmem.
80930         Reported by Bruno Haible.
80932 2008-01-04  Bruno Haible  <bruno@clisp.org>
80934         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
80935         Require gl_HEADER_STRINGS_H_DEFAULTS, not
80936         gl_HEADER_STRING_H_DEFAULTS.
80938 2008-01-04  Eric Blake  <ebb9@byu.net>
80940         Shorten duration of memmem test.
80941         * tests/test-memmem.c (main): Use alarm to declare failure if test
80942         is taking too long.
80943         Reported by Ralf Wildenhues.
80945 2007-12-21  Simon Josefsson  <simon@josefsson.org>
80947         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
80948         string, needed by strerror.
80950 2008-01-03  Colin Watson  <cjwatson@debian.org>
80951             Bruno Haible  <bruno@clisp.org>
80953         * doc/gnulib-tool.texi (Localization): New section.
80955 2008-01-02  Bruno Haible  <bruno@clisp.org>
80957         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
80958         variables to 'unsigned char *' type.
80959         Reported by Paul Eggert.
80961 2008-01-02  Jim Meyering  <jim@meyering.net>
80963         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
80965 2007-12-31  Jim Meyering  <jim@meyering.net>
80967         Avoid use of private FTS type name.
80968         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
80970 2007-12-30  Karl Berry  <karl@gnu.org>
80972         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
80973         work around defect in Texinfo and/or the standalone Info browser.
80975 2007-12-30  Bruno Haible  <bruno@clisp.org>
80977         Unify 5 copies of the KMP code.
80978         * lib/str-kmp.h: New file.
80979         * lib/c-strcasestr.c: Include str-kmp.h.
80980         (knuth_morris_pratt): Remove function.
80981         (c_strcasestr): Update.
80982         * lib/c-strstr.c: Include str-kmp.h.
80983         (knuth_morris_pratt): Remove function.
80984         (c_strcasestr): Update.
80985         * lib/mbscasestr.c: Include str-kmp.h.
80986         (knuth_morris_pratt_unibyte): Remove function.
80987         * lib/mbsstr.c: Include str-kmp.h.
80988         (knuth_morris_pratt_unibyte): Remove function.
80989         * lib/strcasestr.c: Include str-kmp.h.
80990         (knuth_morris_pratt): Remove function.
80991         (strcasestr): Update.
80992         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
80993         * modules/c-strstr (Files): Likewise.
80994         * modules/mbscasestr (Files): Likewise.
80995         * modules/mbsstr (Files): Likewise.
80996         * modules/strcasestr (Files): Likewise.
80997         Suggested by Paul Eggert.
80999 2007-12-30  Bruno Haible  <bruno@clisp.org>
81001         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
81002         defined.
81004 2007-12-30  Bruno Haible  <bruno@clisp.org>
81006         * lib/xmalloca.h: Include xalloc.h.
81007         (xnmalloca): New macro.
81009 2007-12-30  Bruno Haible  <bruno@clisp.org>
81011         * lib/malloca.h (nmalloca): New macro.
81012         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
81013         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
81014         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
81015         knuth_morris_pratt_multibyte): Likewise.
81016         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
81017         knuth_morris_pratt_multibyte): Likewise.
81018         * lib/memmem.c (knuth_morris_pratt): Likewise.
81019         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
81021 2007-12-25  Bruno Haible  <bruno@clisp.org>
81023         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
81024         * lib/glob.c: Don't include openat.h.
81025         (link_exists2_p): Add back the code that deals with the
81026         !GLOB_ALTDIRFUNC case.
81027         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
81028         let it do the filename concatenation.
81029         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
81030         * modules/glob (Depends-on): Remove openat.
81032 2007-12-31  Bruno Haible  <bruno@clisp.org>
81034         * modules/dirfd (License): Change to LGPLv2+.
81035         Approved by Jim Meyering.
81037 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
81039         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
81040         when multiplying M by sizeof (size_t).
81042 2007-12-10  Martin Lambers  <marlam@marlam.de>
81044         Override getpagesize on mingw.
81045         * lib/getpagesize.c: New file.
81046         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
81047         * modules/getpagesize (Files): Add lib/getpagesize.c.
81048         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
81049         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
81050         REPLACE_GETPAGESIZE.
81051         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
81053 2007-12-25  Bruno Haible  <bruno@clisp.org>
81055         * modules/localcharset (Notice): New field.
81056         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
81057         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
81059 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
81060             Bruno Haible  <bruno@clisp.org>
81062         Avoid using the syntax symbol() in formatted documentation.
81063         * MODULES.html.sh (func_module): When replacing symbol() with a
81064         hyperlink, remove the parentheses. Show an error if some remain.
81065         Recognize and render the '...' syntax.
81066         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
81067         Rework. Add paragraph about GCC's inlining.
81068         * doc/alloca.texi: Likewise.
81069         * doc/error.texi: Remove parentheses from symbol reference.
81070         * doc/gnulib-intro.texi: Likewise.
81071         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
81072         * modules/fnmatch (Description): Reword to say "the ... function".
81073         * modules/full-read (Description): Likewise.
81074         * modules/full-write (Description): Likewise.
81075         * modules/safe-read (Description): Likewise.
81076         * modules/safe-write (Description): Likewise.
81077         * modules/strchrnul (Description): Likewise.
81078         * modules/trim (Description): Likewise.
81079         * modules/error (Description): Remove parentheses from symbol
81080         references.
81081         * modules/verror (Description): Likewise.
81082         Reported by Karl Berry.
81084 2007-12-25  Bruno Haible  <bruno@clisp.org>
81086         Fixup after 2007-10-16 commit.
81087         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
81089 2007-12-24  Bruno Haible  <bruno@clisp.org>
81091         Make --enable-relocatable work with DESTDIR.
81092         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
81093         to compute installdir from destprog.
81094         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
81095         also set the RELOC_DESTDIR variable.
81096         Reported by Левашев Иван <octagram@bluebottle.com>.
81098 2007-12-24  Bruno Haible  <bruno@clisp.org>
81100         Fix link error due to xalloc_die().
81101         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
81102         of xreadlink.
81103         * lib/relocwrapper.c: Update comments.
81104         * build-aux/install-reloc: Remove xreadlink.c from file list.
81105         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
81106         xreadlink.c.
81107         Reported by Левашев Иван <octagram@bluebottle.com>.
81109 2007-12-24  Bruno Haible  <bruno@clisp.org>
81111         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
81112         * lib/setenv.h: Remove file.
81113         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
81114         lib/setenv.h.
81115         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
81116         (Depends-on): Add stdlib.
81117         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
81118         gl_FUNC_UNSETENV.
81119         (Include): Replace setenv.h with <stdlib.h>.
81120         * modules/unsetenv: New file.
81121         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
81122         * lib/unsetenv.c: Include <stdlib.h> first.
81123         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
81124         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
81125         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
81126         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
81127         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
81128         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
81129         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
81130         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
81131         * doc/functions/unsetenv.texi: Update.
81132         * modules/xsetenv (Depends-on): Add unsetenv.
81133         * modules/getdate (Depends-on): Likewise.
81134         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
81135         * lib/xsetenv.c: Don't include setenv.h.
81136         * lib/getdate.y: Likewise.
81137         * lib/relocwrapper.c: Likewise.
81138         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
81139         (Depends-on): Add stdlib.
81140         * NEWS: Mention the changes.
81141         Reported by Левашев Иван <octagram@bluebottle.com>.
81143 2007-12-23  Bruno Haible  <bruno@clisp.org>
81145         * lib/memmem.c (memmem): Use lowercase variable names. Tab
81146         indentation.
81148 2007-12-23  Bruno Haible  <bruno@clisp.org>
81150         * lib/c-strcasestr.c: Add more comments.
81151         * lib/c-strstr.c: Likewise.
81152         * lib/mbscasestr.c: Likewise.
81153         * lib/mbsstr.c: Likewise.
81154         * lib/strcasestr.c: Likewise.
81155         * lib/memmem.c: Likewise.
81157 2007-12-23  Bruno Haible  <bruno@clisp.org>
81159         * tests/test-memmem.c: Include <string.h> first.
81161 2007-12-22  Bruno Haible  <bruno@clisp.org>
81163         * gnulib-tool (func_create_testdir): Change $auxdir while generating
81164         the contents of $testsbase.
81165         Reported by Ralf Wildenhues.
81167 2007-12-22  Bruno Haible  <bruno@clisp.org>
81169         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
81170         two variables local_ldadd_before, local_ldadd_last.
81172 2007-12-20  Eric Blake  <ebb9@byu.net>
81174         Work around circular library issue when cross-compiling.
81175         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
81176         that progname.o does not need to pull in rpl_memcmp.
81178 2007-12-19  Eric Blake  <ebb9@byu.net>
81180         Fix memmem to avoid O(n^2) worst-case complexity.
81181         * lib/memmem.c (knuth_morris_pratt): New function.
81182         (memmem): Use it if first few naive iterations fail.
81183         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
81184         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
81185         * modules/memchr (License): Likewise.
81186         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
81187         malloca.
81188         * tests/test-memmem.c: Rewrite, borrowing ideas from
81189         test-mbsstr1.c; the old version wouldn't even compile!
81190         * modules/memmem-tests: New file.
81191         * lib/string.in.h (rpl_memmem): Add declaration.
81192         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
81193         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
81194         REPLACE_MEMMEM.
81196 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
81198         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
81199         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
81200         before any system include files, and undef after them all.  This
81201         should fix a problem on VMS reported by John E. Malmberg in
81202         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
81204 2007-12-17  Eric Blake  <ebb9@byu.net>
81206         Revert addition of verify, for BSD/OS.
81207         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
81208         can't handle large files, for the sake of obsolete platforms.
81209         * modules/fseeko (Depends-on): Remove verify.
81210         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
81211         * doc/functions/ftello.texi (ftello): Likewise.
81212         * doc/functions/fgetpos.texi (fgetpos): Likewise.
81213         Reported by Larry Jones.
81215 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
81217         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
81218         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
81220 2007-12-17  Jim Meyering  <meyering@redhat.com>
81222         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
81223         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
81224         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
81225         * modules/getcwd (Depends-on): Add openat.
81226         Reported by Petr Salinger.
81228 2007-12-17  Bruno Haible  <bruno@clisp.org>
81230         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
81231         avoid a segmentation fault of the configure test on x86_64 systems.
81233 2007-12-15  Jim Meyering  <meyering@redhat.com>
81235         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
81237 2007-12-13  Eric Blake  <ebb9@byu.net>
81239         Another fseek test.
81240         * tests/test-fseek.c (main): Also test ungetc handling.
81241         * tests/test-fseeko.c (main): Likewise.
81242         * modules/fseeko (Depends-on): Add verify.
81243         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
81244         large.
81245         Reported by Larry Jones.
81247         Fix fseeko on mingw.
81248         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
81249         seek.
81251         Beef up fseek tests.
81252         * tests/test-fseek.c (main): Also test eof handling.
81253         * tests/test-fseeko.c (main): Likewise.
81254         Reported by Larry Jones.
81256 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
81258         Fix fseeko on BSD-based platforms.
81259         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
81260         successful seek.
81262 2007-12-12  Eric Blake  <ebb9@byu.net>
81264         Allow circular dependency of separate libtests.a
81265         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
81266         when use_libtests.
81268 2007-12-11  Eric Blake  <ebb9@byu.net>
81270         Fix bug with -0.0L in previous patch.
81271         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
81272         * tests/test-isnan.c (main): Also test on zeroes.
81273         * tests/test-isnanf.c (main): Likewise.
81274         * tests/test-isnanl.h (main): Likewise.
81276         Detect pseudo-denormals on x86 even when cross-compiling.
81277         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
81278         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
81279         invalid bit patterns that happen to satisfy ==.
81281         Avoid link failures with separate libtests.a.
81282         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
81283         last, to satisfy circular dependencies.
81285 2007-12-11  Eric Blake  <ebb9@byu.net>
81286         and Bruno Haible  <bruno@clisp.org>
81288         Fix OpenBSD 4.0 <float.h> handling of long double.
81289         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
81290         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
81291         * doc/headers/float.texi (float.h): Document OpenBSD bug.
81293 2007-12-11  Jim Meyering  <meyering@redhat.com>
81295         * users.txt: Add libvirt.
81297         Support versions of autoconf prior to 2.59c.
81298         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
81299         if it is not already defined.
81301 2007-12-09  Bruno Haible  <bruno@clisp.org>
81303         Let 'gnulib-tool --import' collect sources needed for the tests in
81304         tests/ rather than in lib/.
81305         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
81306         argument. If true, add rules to generate libtests.a, and put libtests.a
81307         into $(LDADD). Consider source files in subdirectories and set
81308         uses_subdirs.
81309         (func_emit_initmacro_start, func_emit_initmacro_end,
81310         func_emit_initmacro_done): Pass all arguments explicitly.
81311         (func_import): Determine two module lists main_modules,
81312         testsrelated_modules. Determine use_libtests. Determine two variables
81313         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
81314         instead of just sed_transform_lib_file. Determine two variables
81315         main_files and testsrelated_files. Compute 'files' as the union of
81316         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
81317         func_add_or_update. In the generated gnulib-comp.m4, collect the
81318         object files for tests/ in different variables than those for lib/.
81319         Substitute LIBTESTS_LIBDEPS.
81320         (func_create_testdir): Combine the uses_subdirs results from
81321         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
81323 2007-12-09  Bruno Haible  <bruno@clisp.org>
81325         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
81326         the build-aux directory.
81328 2007-12-09  Bruno Haible  <bruno@clisp.org>
81330         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
81331         introduced on 2006-09-09.
81333 2007-12-07  Jim Meyering  <meyering@redhat.com>
81335         Let these macros work also with autoconf-2.59.
81336         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
81337         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
81338         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
81340 2007-12-06  Jim Meyering  <meyering@redhat.com>
81342         Avoid a configure-time syntax error in gl_FUNC_ACL.
81343         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
81344         function in each branch, before testing the cache variable.
81346 2007-12-04  Eric Blake  <ebb9@byu.net>
81348         Make scripts executable.
81349         * build-aux/config.guess: Add execute permissions.
81350         * build-aux/config.sub: Likewise.
81351         * build-aux/gendocs.sh: Likewise.
81353         Fix frexp on mingw.
81354         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
81355         cross-compiling.
81356         * doc/functions/frexp.texi (frexp): Document the bug.
81358         Make cygwin fseeko check more reliable.
81359         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
81360         version numbers, rather than unrelated feature check.
81361         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
81362         * doc/functions/ftello.texi (ftello): Likewise.
81363         Reported by Bruno Haible.
81365         * m4/strerror.m4: Bump version number.
81367 2007-12-03  Bruno Haible  <bruno@clisp.org>
81369         * doc/functions/mprotect.texi: Mention the mingw problem.
81371 2007-12-03  Eric Blake  <ebb9@byu.net>
81373         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
81374         REPLACE_STRERROR is initialized before this macro.
81376 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
81378         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
81379         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
81380         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
81381         put -lsec in even for programs other than 'ls'.  This fixes a problem
81382         for gettext reported by Bruno Haible in
81383         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
81384         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
81385         Add support for Solaris 10.  This isn't efficient, but should get the
81386         job done for now.
81388 2007-12-03  James Youngman  <jay@gnu.org>
81390         * doc/regexprops-generic.texi: change "an close-group" to "a
81391         close-group" and "illegal" to "not allowed".
81393 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81395         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
81396         pr_byname.h. Needed for the rare case when the maintainer has done
81397         "make maintainer-clean" in the source directory and then attempts a
81398         build outside the source directory.
81399         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
81400         scripts_byname.h.
81402 2007-12-02  Martin Lambers  <marlam@marlam.de>
81403             Bruno Haible  <bruno@clisp.org>
81405         * lib/getpagesize.h: Remove file.
81406         * lib/unistd.in.h: Include declaration of getpagesize here.
81407         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
81408         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
81409         HAVE_SYS_PARAM_H.
81410         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
81411         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
81412         * modules/getpagesize (Files): Remove lib/getpagesize.h.
81413         (Depends-on): Add unistd.
81414         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
81415         (Include): Use <unistd.h> instead of getpagesize.h.
81416         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
81417         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
81418         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
81419         gl_GETPAGESIZE invocation, already handled by module dependency.
81420         * lib/pagealign_alloc.c: Don't include getpagesize.h.
81422 2007-12-02  Bruno Haible  <bruno@clisp.org>
81424         * modules/strings-tests: New file.
81425         * tests/test-strings.c: New file.
81427         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
81428         * lib/strings.in.h: New file.
81429         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
81430         * m4/strings_h.m4: New file.
81431         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
81432         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
81433         * modules/strings: New file.
81434         * modules/string (Makefile.am): Update.
81435         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
81436         Reported by Karl Berry.
81438 2007-12-01  Eric Blake  <ebb9@byu.net>
81440         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
81441         accommodate fix in cygwin 1.5.25.
81443 2007-12-01  Jim Meyering  <meyering@redhat.com>
81445         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
81446         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
81447         that would inhibit utf8-optimization of a regexp containing line-
81448         or buffer-anchors, e.g., `^', `$'.
81450 2007-11-30  Bruno Haible  <bruno@clisp.org>
81452         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
81453         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
81454         glthread_recursive_lock_init.
81455         * lib/lock.c (glthread_recursive_lock_init)
81456         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
81457         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81459 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
81461         New function qset_acl, like set_acl but with syscall semantics.
81462         * lib/acl.h (qset_acl): New decl.
81463         * lib/acl.c (qset_acl): New function.
81464         (set_acl): Use new function.  Use more-consistent diagnostics.
81466 2007-11-28  Jim Meyering  <meyering@redhat.com>
81468         * modules/physmem (License): Change from GPL to LGPLv2+.
81470 2007-11-26  Bruno Haible  <bruno@clisp.org>
81472         * lib/vasnprintf.c (decode_long_double): Don't abort if the
81473         'long double' type has excess precision.
81474         Reported by Jim Meyering in
81475         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
81477 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81479         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
81480         Sync from <http://gnu.org/licenses>.
81481         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
81482         with license text from same location.
81483         * doc/maintain.texi, doc/standards.texi:  Sync from
81484         <http://savannah.gnu.org/projects/gnustandards>.
81486 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
81487         and Jim Meyering  <meyering@redhat.com>
81489         Adjust getdate' grammar to accept a slightly more regular language.
81490         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
81491         Before, the former was rejected.
81492         * lib/getdate.y (digits_to_date_time): New function, factored
81493         out of ...
81494         (number): ...here.  Just call digits_to_date_time.
81495         (hybrid): New non-terminal to handle an <unsigned number,
81496         signed relative offset> sequence consistently.
81498 2007-11-18  Jim Meyering  <meyering@redhat.com>
81500         Pull my changes from coreutils:
81501         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
81502         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
81503         use of $gnulib_tool_option_extras, so that it's separated from the
81504         preceding argument.
81506         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
81507         * build-aux/bootstrap (cp_mark_as_generated): Create any required
81508         parent destination directories before copying a file into place.
81510 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
81512         bootstrap: work also with 4-argument variant of AC_INIT
81513         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
81515 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81517         Port test-getaddrinfo to Solaris.
81518         Problem reported by Bruno Haible in
81519         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
81520         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
81521         explanation of setting 'hints'.
81522         Don't reject an implementation merely because it returns EAI_SERVICE.
81523         (EAI_SERVICE): Define to 0 if not defined.
81525 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
81527         The license of gnu-make and posix-shell is now "GPLed build tool".
81528         * modules/gnu-make (License): Likewise.
81529         * modules/posix-shell (License): Likewise.
81531         New module posix-shell, for determining a POSIX shell
81532         or perhaps something that is close enough to a POSIX shell.
81533         * m4/posix-shell.m4: New file.
81534         * modules/posix-shell: New file.
81536         * MODULES.html.sh: Mention new module.
81538         New module gnu-make, for determining whether we're using GNU Make.
81539         * m4/gnu-make.m4: New file.
81540         * modules/gnu-make: New file.
81541         * MODULES.html.sh: Mention new module.
81543 2007-11-14  Jim Meyering  <meyering@redhat.com>
81545         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
81546         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
81547         use this macro to create a function _definition_.
81548         Remove useless "#undef ARGMATCH_DIE".
81550 2007-11-14  Bruno Haible  <bruno@clisp.org>
81552         * lib/config.charset: Update for OpenBSD 4.1.
81553         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
81555 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
81557         Document 64-bit #if problems in stdint.texi.
81558         * doc/headers/stdint.texi (stdint.h): Mention problems with
81559         64-bit-#if, and how to work around them.
81561         Don't insist on 'long long int' support in the preprocessor.  It
81562         breaks too many things.  For example, PRIdMAX still uses a 'long
81563         long int' format with the latest Sun compiler, even though
81564         HAVE_LONG_LONG_INT isn't defined due to that compiler's
81565         preprocessor problem.  This causes the latest coreutils to dump
81566         core on Solaris 10 sparc with the Sun C compiler.
81567         Instead, fix the 2007-10-16 problem in a different way, by evaluating
81568         the troublesome expressions at configure-time, not at #if-time.
81569         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
81570         preprocessor.
81571         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
81572         compile-time C checks, done at 'configure'-time.
81573         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
81574         * modules/inttypes (Makefile): Substitute the new symbols that
81575         gl_INTTYPES_H now generates.
81576         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
81578 2007-11-12  Bruno Haible  <bruno@clisp.org>
81580         Tests for Unicode character classification functions.
81582         * modules/unictype/bidicategory-byname-tests: New file.
81583         * modules/unictype/bidicategory-name-tests: New file.
81584         * modules/unictype/bidicategory-of-tests: New file.
81585         * modules/unictype/bidicategory-test-tests: New file.
81586         * modules/unictype/block-list-tests: New file.
81587         * modules/unictype/block-of-tests: New file.
81588         * modules/unictype/block-test-tests: New file.
81589         * modules/unictype/category-C-tests: New file.
81590         * modules/unictype/category-Cc-tests: New file.
81591         * modules/unictype/category-Cf-tests: New file.
81592         * modules/unictype/category-Cn-tests: New file.
81593         * modules/unictype/category-Co-tests: New file.
81594         * modules/unictype/category-Cs-tests: New file.
81595         * modules/unictype/category-L-tests: New file.
81596         * modules/unictype/category-Ll-tests: New file.
81597         * modules/unictype/category-Lm-tests: New file.
81598         * modules/unictype/category-Lo-tests: New file.
81599         * modules/unictype/category-Lt-tests: New file.
81600         * modules/unictype/category-Lu-tests: New file.
81601         * modules/unictype/category-M-tests: New file.
81602         * modules/unictype/category-Mc-tests: New file.
81603         * modules/unictype/category-Me-tests: New file.
81604         * modules/unictype/category-Mn-tests: New file.
81605         * modules/unictype/category-N-tests: New file.
81606         * modules/unictype/category-Nd-tests: New file.
81607         * modules/unictype/category-Nl-tests: New file.
81608         * modules/unictype/category-No-tests: New file.
81609         * modules/unictype/category-P-tests: New file.
81610         * modules/unictype/category-Pc-tests: New file.
81611         * modules/unictype/category-Pd-tests: New file.
81612         * modules/unictype/category-Pe-tests: New file.
81613         * modules/unictype/category-Pf-tests: New file.
81614         * modules/unictype/category-Pi-tests: New file.
81615         * modules/unictype/category-Po-tests: New file.
81616         * modules/unictype/category-Ps-tests: New file.
81617         * modules/unictype/category-S-tests: New file.
81618         * modules/unictype/category-Sc-tests: New file.
81619         * modules/unictype/category-Sk-tests: New file.
81620         * modules/unictype/category-Sm-tests: New file.
81621         * modules/unictype/category-So-tests: New file.
81622         * modules/unictype/category-Z-tests: New file.
81623         * modules/unictype/category-Zl-tests: New file.
81624         * modules/unictype/category-Zp-tests: New file.
81625         * modules/unictype/category-Zs-tests: New file.
81626         * modules/unictype/category-and-not-tests: New file.
81627         * modules/unictype/category-and-tests: New file.
81628         * modules/unictype/category-byname-tests: New file.
81629         * modules/unictype/category-name-tests: New file.
81630         * modules/unictype/category-none-tests: New file.
81631         * modules/unictype/category-of-tests: New file.
81632         * modules/unictype/category-or-tests: New file.
81633         * modules/unictype/category-test-withtable-tests: New file.
81634         * modules/unictype/combining-class-tests: New file.
81635         * modules/unictype/ctype-alnum-tests: New file.
81636         * modules/unictype/ctype-alpha-tests: New file.
81637         * modules/unictype/ctype-blank-tests: New file.
81638         * modules/unictype/ctype-cntrl-tests: New file.
81639         * modules/unictype/ctype-digit-tests: New file.
81640         * modules/unictype/ctype-graph-tests: New file.
81641         * modules/unictype/ctype-lower-tests: New file.
81642         * modules/unictype/ctype-print-tests: New file.
81643         * modules/unictype/ctype-punct-tests: New file.
81644         * modules/unictype/ctype-space-tests: New file.
81645         * modules/unictype/ctype-upper-tests: New file.
81646         * modules/unictype/ctype-xdigit-tests: New file.
81647         * modules/unictype/decimal-digit-tests: New file.
81648         * modules/unictype/digit-tests: New file.
81649         * modules/unictype/mirror-tests: New file.
81650         * modules/unictype/numeric-tests: New file.
81651         * modules/unictype/property-alphabetic-tests: New file.
81652         * modules/unictype/property-ascii-hex-digit-tests: New file.
81653         * modules/unictype/property-bidi-arabic-digit-tests: New file.
81654         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
81655         * modules/unictype/property-bidi-block-separator-tests: New file.
81656         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
81657         * modules/unictype/property-bidi-common-separator-tests: New file.
81658         * modules/unictype/property-bidi-control-tests: New file.
81659         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
81660         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
81661         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
81662         * modules/unictype/property-bidi-european-digit-tests: New file.
81663         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
81664         * modules/unictype/property-bidi-left-to-right-tests: New file.
81665         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
81666         * modules/unictype/property-bidi-other-neutral-tests: New file.
81667         * modules/unictype/property-bidi-pdf-tests: New file.
81668         * modules/unictype/property-bidi-segment-separator-tests: New file.
81669         * modules/unictype/property-bidi-whitespace-tests: New file.
81670         * modules/unictype/property-byname-tests: New file.
81671         * modules/unictype/property-combining-tests: New file.
81672         * modules/unictype/property-composite-tests: New file.
81673         * modules/unictype/property-currency-symbol-tests: New file.
81674         * modules/unictype/property-dash-tests: New file.
81675         * modules/unictype/property-decimal-digit-tests: New file.
81676         * modules/unictype/property-default-ignorable-code-point-tests: New file.
81677         * modules/unictype/property-deprecated-tests: New file.
81678         * modules/unictype/property-diacritic-tests: New file.
81679         * modules/unictype/property-extender-tests: New file.
81680         * modules/unictype/property-format-control-tests: New file.
81681         * modules/unictype/property-grapheme-base-tests: New file.
81682         * modules/unictype/property-grapheme-extend-tests: New file.
81683         * modules/unictype/property-grapheme-link-tests: New file.
81684         * modules/unictype/property-hex-digit-tests: New file.
81685         * modules/unictype/property-hyphen-tests: New file.
81686         * modules/unictype/property-id-continue-tests: New file.
81687         * modules/unictype/property-id-start-tests: New file.
81688         * modules/unictype/property-ideographic-tests: New file.
81689         * modules/unictype/property-ids-binary-operator-tests: New file.
81690         * modules/unictype/property-ids-trinary-operator-tests: New file.
81691         * modules/unictype/property-ignorable-control-tests: New file.
81692         * modules/unictype/property-iso-control-tests: New file.
81693         * modules/unictype/property-join-control-tests: New file.
81694         * modules/unictype/property-left-of-pair-tests: New file.
81695         * modules/unictype/property-line-separator-tests: New file.
81696         * modules/unictype/property-logical-order-exception-tests: New file.
81697         * modules/unictype/property-lowercase-tests: New file.
81698         * modules/unictype/property-math-tests: New file.
81699         * modules/unictype/property-non-break-tests: New file.
81700         * modules/unictype/property-not-a-character-tests: New file.
81701         * modules/unictype/property-numeric-tests: New file.
81702         * modules/unictype/property-other-alphabetic-tests: New file.
81703         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
81704         * modules/unictype/property-other-grapheme-extend-tests: New file.
81705         * modules/unictype/property-other-id-continue-tests: New file.
81706         * modules/unictype/property-other-id-start-tests: New file.
81707         * modules/unictype/property-other-lowercase-tests: New file.
81708         * modules/unictype/property-other-math-tests: New file.
81709         * modules/unictype/property-other-uppercase-tests: New file.
81710         * modules/unictype/property-paired-punctuation-tests: New file.
81711         * modules/unictype/property-paragraph-separator-tests: New file.
81712         * modules/unictype/property-pattern-syntax-tests: New file.
81713         * modules/unictype/property-pattern-white-space-tests: New file.
81714         * modules/unictype/property-private-use-tests: New file.
81715         * modules/unictype/property-punctuation-tests: New file.
81716         * modules/unictype/property-quotation-mark-tests: New file.
81717         * modules/unictype/property-radical-tests: New file.
81718         * modules/unictype/property-sentence-terminal-tests: New file.
81719         * modules/unictype/property-soft-dotted-tests: New file.
81720         * modules/unictype/property-space-tests: New file.
81721         * modules/unictype/property-terminal-punctuation-tests: New file.
81722         * modules/unictype/property-test-tests: New file.
81723         * modules/unictype/property-titlecase-tests: New file.
81724         * modules/unictype/property-unassigned-code-value-tests: New file.
81725         * modules/unictype/property-unified-ideograph-tests: New file.
81726         * modules/unictype/property-uppercase-tests: New file.
81727         * modules/unictype/property-variation-selector-tests: New file.
81728         * modules/unictype/property-white-space-tests: New file.
81729         * modules/unictype/property-xid-continue-tests: New file.
81730         * modules/unictype/property-xid-start-tests: New file.
81731         * modules/unictype/property-zero-width-tests: New file.
81732         * modules/unictype/scripts-tests: New file.
81733         * modules/unictype/syntax-c-ident-tests: New file.
81734         * modules/unictype/syntax-c-whitespace-tests: New file.
81735         * modules/unictype/syntax-java-ident-tests: New file.
81736         * modules/unictype/syntax-java-whitespace-tests: New file.
81737         * tests/unictype/test-bidi_byname.c: New file.
81738         * tests/unictype/test-bidi_name.c: New file.
81739         * tests/unictype/test-bidi_of.c: New file.
81740         * tests/unictype/test-bidi_test.c: New file.
81741         * tests/unictype/test-block_list.c: New file.
81742         * tests/unictype/test-block_of.c: New file.
81743         * tests/unictype/test-block_test.c: New file.
81744         * tests/unictype/test-categ_and.c: New file.
81745         * tests/unictype/test-categ_and_not.c: New file.
81746         * tests/unictype/test-categ_byname.c: New file.
81747         * tests/unictype/test-categ_name.c: New file.
81748         * tests/unictype/test-categ_none.c: New file.
81749         * tests/unictype/test-categ_of.c: New file.
81750         * tests/unictype/test-categ_or.c: New file.
81751         * tests/unictype/test-categ_test_withtable.c: New file.
81752         * tests/unictype/test-combining.c: New file.
81753         * tests/unictype/test-decdigit.c: New file.
81754         * tests/unictype/test-digit.c: New file.
81755         * tests/unictype/test-mirror.c: New file.
81756         * tests/unictype/test-numeric.c: New file.
81757         * tests/unictype/test-pr_byname.c: New file.
81758         * tests/unictype/test-pr_test.c: New file.
81759         * tests/unictype/test-predicate-part1.h: New file.
81760         * tests/unictype/test-predicate-part2.h: New file.
81761         * tests/unictype/test-scripts.c: New file.
81762         * tests/unictype/test-sy_c_ident.c: New file.
81763         * tests/unictype/test-sy_java_ident.c: New file.
81765         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
81766         for Unicode 5.0.0.
81767         * tests/unictype/test-categ_Cc.c: Likewise.
81768         * tests/unictype/test-categ_Cf.c: Likewise.
81769         * tests/unictype/test-categ_Cn.c: Likewise.
81770         * tests/unictype/test-categ_Co.c: Likewise.
81771         * tests/unictype/test-categ_Cs.c: Likewise.
81772         * tests/unictype/test-categ_L.c: Likewise.
81773         * tests/unictype/test-categ_Ll.c: Likewise.
81774         * tests/unictype/test-categ_Lm.c: Likewise.
81775         * tests/unictype/test-categ_Lo.c: Likewise.
81776         * tests/unictype/test-categ_Lt.c: Likewise.
81777         * tests/unictype/test-categ_Lu.c: Likewise.
81778         * tests/unictype/test-categ_M.c: Likewise.
81779         * tests/unictype/test-categ_Mc.c: Likewise.
81780         * tests/unictype/test-categ_Me.c: Likewise.
81781         * tests/unictype/test-categ_Mn.c: Likewise.
81782         * tests/unictype/test-categ_N.c: Likewise.
81783         * tests/unictype/test-categ_Nd.c: Likewise.
81784         * tests/unictype/test-categ_Nl.c: Likewise.
81785         * tests/unictype/test-categ_No.c: Likewise.
81786         * tests/unictype/test-categ_P.c: Likewise.
81787         * tests/unictype/test-categ_Pc.c: Likewise.
81788         * tests/unictype/test-categ_Pd.c: Likewise.
81789         * tests/unictype/test-categ_Pe.c: Likewise.
81790         * tests/unictype/test-categ_Pf.c: Likewise.
81791         * tests/unictype/test-categ_Pi.c: Likewise.
81792         * tests/unictype/test-categ_Po.c: Likewise.
81793         * tests/unictype/test-categ_Ps.c: Likewise.
81794         * tests/unictype/test-categ_S.c: Likewise.
81795         * tests/unictype/test-categ_Sc.c: Likewise.
81796         * tests/unictype/test-categ_Sk.c: Likewise.
81797         * tests/unictype/test-categ_Sm.c: Likewise.
81798         * tests/unictype/test-categ_So.c: Likewise.
81799         * tests/unictype/test-categ_Z.c: Likewise.
81800         * tests/unictype/test-categ_Zl.c: Likewise.
81801         * tests/unictype/test-categ_Zp.c: Likewise.
81802         * tests/unictype/test-categ_Zs.c: Likewise.
81803         * tests/unictype/test-ctype_alnum.c: Likewise.
81804         * tests/unictype/test-ctype_alpha.c: Likewise.
81805         * tests/unictype/test-ctype_blank.c: Likewise.
81806         * tests/unictype/test-ctype_cntrl.c: Likewise.
81807         * tests/unictype/test-ctype_digit.c: Likewise.
81808         * tests/unictype/test-ctype_graph.c: Likewise.
81809         * tests/unictype/test-ctype_lower.c: Likewise.
81810         * tests/unictype/test-ctype_print.c: Likewise.
81811         * tests/unictype/test-ctype_punct.c: Likewise.
81812         * tests/unictype/test-ctype_space.c: Likewise.
81813         * tests/unictype/test-ctype_upper.c: Likewise.
81814         * tests/unictype/test-ctype_xdigit.c: Likewise.
81815         * tests/unictype/test-decdigit.h: Likewise.
81816         * tests/unictype/test-digit.h: Likewise.
81817         * tests/unictype/test-numeric.h: Likewise.
81818         * tests/unictype/test-pr_alphabetic.c: Likewise.
81819         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
81820         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
81821         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
81822         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
81823         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
81824         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
81825         * tests/unictype/test-pr_bidi_control.c: Likewise.
81826         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
81827         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
81828         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
81829         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
81830         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
81831         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
81832         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
81833         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
81834         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
81835         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
81836         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
81837         * tests/unictype/test-pr_combining.c: Likewise.
81838         * tests/unictype/test-pr_composite.c: Likewise.
81839         * tests/unictype/test-pr_currency_symbol.c: Likewise.
81840         * tests/unictype/test-pr_dash.c: Likewise.
81841         * tests/unictype/test-pr_decimal_digit.c: Likewise.
81842         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
81843         * tests/unictype/test-pr_deprecated.c: Likewise.
81844         * tests/unictype/test-pr_diacritic.c: Likewise.
81845         * tests/unictype/test-pr_extender.c: Likewise.
81846         * tests/unictype/test-pr_format_control.c: Likewise.
81847         * tests/unictype/test-pr_grapheme_base.c: Likewise.
81848         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
81849         * tests/unictype/test-pr_grapheme_link.c: Likewise.
81850         * tests/unictype/test-pr_hex_digit.c: Likewise.
81851         * tests/unictype/test-pr_hyphen.c: Likewise.
81852         * tests/unictype/test-pr_id_continue.c: Likewise.
81853         * tests/unictype/test-pr_id_start.c: Likewise.
81854         * tests/unictype/test-pr_ideographic.c: Likewise.
81855         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
81856         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
81857         * tests/unictype/test-pr_ignorable_control.c: Likewise.
81858         * tests/unictype/test-pr_iso_control.c: Likewise.
81859         * tests/unictype/test-pr_join_control.c: Likewise.
81860         * tests/unictype/test-pr_left_of_pair.c: Likewise.
81861         * tests/unictype/test-pr_line_separator.c: Likewise.
81862         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
81863         * tests/unictype/test-pr_lowercase.c: Likewise.
81864         * tests/unictype/test-pr_math.c: Likewise.
81865         * tests/unictype/test-pr_non_break.c: Likewise.
81866         * tests/unictype/test-pr_not_a_character.c: Likewise.
81867         * tests/unictype/test-pr_numeric.c: Likewise.
81868         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
81869         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
81870         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
81871         * tests/unictype/test-pr_other_id_continue.c: Likewise.
81872         * tests/unictype/test-pr_other_id_start.c: Likewise.
81873         * tests/unictype/test-pr_other_lowercase.c: Likewise.
81874         * tests/unictype/test-pr_other_math.c: Likewise.
81875         * tests/unictype/test-pr_other_uppercase.c: Likewise.
81876         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
81877         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
81878         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
81879         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
81880         * tests/unictype/test-pr_private_use.c: Likewise.
81881         * tests/unictype/test-pr_punctuation.c: Likewise.
81882         * tests/unictype/test-pr_quotation_mark.c: Likewise.
81883         * tests/unictype/test-pr_radical.c: Likewise.
81884         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
81885         * tests/unictype/test-pr_soft_dotted.c: Likewise.
81886         * tests/unictype/test-pr_space.c: Likewise.
81887         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
81888         * tests/unictype/test-pr_titlecase.c: Likewise.
81889         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
81890         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
81891         * tests/unictype/test-pr_uppercase.c: Likewise.
81892         * tests/unictype/test-pr_variation_selector.c: Likewise.
81893         * tests/unictype/test-pr_white_space.c: Likewise.
81894         * tests/unictype/test-pr_xid_continue.c: Likewise.
81895         * tests/unictype/test-pr_xid_start.c: Likewise.
81896         * tests/unictype/test-pr_zero_width.c: Likewise.
81897         * tests/unictype/test-sy_c_whitespace.c: Likewise.
81898         * tests/unictype/test-sy_java_whitespace.c: Likewise.
81900 2007-11-12  Bruno Haible  <bruno@clisp.org>
81902         Unicode character classification functions.
81903         * lib/unictype.h: New file.
81904         * modules/unictype/base: New file.
81905         * modules/unictype/category-L: New file.
81906         * modules/unictype/category-Lu: New file.
81907         * modules/unictype/category-Ll: New file.
81908         * modules/unictype/category-Lt: New file.
81909         * modules/unictype/category-Lm: New file.
81910         * modules/unictype/category-Lo: New file.
81911         * modules/unictype/category-M: New file.
81912         * modules/unictype/category-Mn: New file.
81913         * modules/unictype/category-Mc: New file.
81914         * modules/unictype/category-Me: New file.
81915         * modules/unictype/category-N: New file.
81916         * modules/unictype/category-Nd: New file.
81917         * modules/unictype/category-Nl: New file.
81918         * modules/unictype/category-No: New file.
81919         * modules/unictype/category-P: New file.
81920         * modules/unictype/category-Pc: New file.
81921         * modules/unictype/category-Pd: New file.
81922         * modules/unictype/category-Ps: New file.
81923         * modules/unictype/category-Pe: New file.
81924         * modules/unictype/category-Pi: New file.
81925         * modules/unictype/category-Pf: New file.
81926         * modules/unictype/category-Po: New file.
81927         * modules/unictype/category-S: New file.
81928         * modules/unictype/category-Sm: New file.
81929         * modules/unictype/category-Sc: New file.
81930         * modules/unictype/category-Sk: New file.
81931         * modules/unictype/category-So: New file.
81932         * modules/unictype/category-Z: New file.
81933         * modules/unictype/category-Zs: New file.
81934         * modules/unictype/category-Zl: New file.
81935         * modules/unictype/category-Zp: New file.
81936         * modules/unictype/category-C: New file.
81937         * modules/unictype/category-Cc: New file.
81938         * modules/unictype/category-Cf: New file.
81939         * modules/unictype/category-Cs: New file.
81940         * modules/unictype/category-Co: New file.
81941         * modules/unictype/category-Cn: New file.
81942         * modules/unictype/category-or: New file.
81943         * modules/unictype/category-of: New file.
81944         * modules/unictype/category-test: New file.
81945         * modules/unictype/category-test-withtable: New file.
81946         * modules/unictype/category-byname: New file.
81947         * modules/unictype/category-none: New file.
81948         * modules/unictype/category-and: New file.
81949         * modules/unictype/category-and-not: New file.
81950         * modules/unictype/category-name: New file.
81951         * modules/unictype/combining-class: New file.
81952         * modules/unictype/category-all: New file.
81953         * modules/unictype/bidicategory-all: New file.
81954         * modules/unictype/bidicategory-byname: New file.
81955         * modules/unictype/bidicategory-name: New file.
81956         * modules/unictype/bidicategory-of: New file.
81957         * modules/unictype/bidicategory-test: New file.
81958         * modules/unictype/decimal-digit: New file.
81959         * modules/unictype/digit: New file.
81960         * modules/unictype/numeric: New file.
81961         * modules/unictype/mirror: New file.
81962         * modules/unictype/property-white-space: New file.
81963         * modules/unictype/property-alphabetic: New file.
81964         * modules/unictype/property-other-alphabetic: New file.
81965         * modules/unictype/property-not-a-character: New file.
81966         * modules/unictype/property-default-ignorable-code-point: New file.
81967         * modules/unictype/property-other-default-ignorable-code-point: New
81968         file.
81969         * modules/unictype/property-deprecated: New file.
81970         * modules/unictype/property-logical-order-exception: New file.
81971         * modules/unictype/property-variation-selector: New file.
81972         * modules/unictype/property-private-use: New file.
81973         * modules/unictype/property-unassigned-code-value: New file.
81974         * modules/unictype/property-uppercase: New file.
81975         * modules/unictype/property-other-uppercase: New file.
81976         * modules/unictype/property-lowercase: New file.
81977         * modules/unictype/property-other-lowercase: New file.
81978         * modules/unictype/property-titlecase: New file.
81979         * modules/unictype/property-soft-dotted: New file.
81980         * modules/unictype/property-id-start: New file.
81981         * modules/unictype/property-other-id-start: New file.
81982         * modules/unictype/property-id-continue: New file.
81983         * modules/unictype/property-other-id-continue: New file.
81984         * modules/unictype/property-xid-start: New file.
81985         * modules/unictype/property-xid-continue: New file.
81986         * modules/unictype/property-pattern-white-space: New file.
81987         * modules/unictype/property-pattern-syntax: New file.
81988         * modules/unictype/property-join-control: New file.
81989         * modules/unictype/property-grapheme-base: New file.
81990         * modules/unictype/property-grapheme-extend: New file.
81991         * modules/unictype/property-other-grapheme-extend: New file.
81992         * modules/unictype/property-grapheme-link: New file.
81993         * modules/unictype/property-bidi-control: New file.
81994         * modules/unictype/property-bidi-left-to-right: New file.
81995         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
81996         * modules/unictype/property-bidi-arabic-right-to-left: New file.
81997         * modules/unictype/property-bidi-european-digit: New file.
81998         * modules/unictype/property-bidi-eur-num-separator: New file.
81999         * modules/unictype/property-bidi-eur-num-terminator: New file.
82000         * modules/unictype/property-bidi-arabic-digit: New file.
82001         * modules/unictype/property-bidi-common-separator: New file.
82002         * modules/unictype/property-bidi-block-separator: New file.
82003         * modules/unictype/property-bidi-segment-separator: New file.
82004         * modules/unictype/property-bidi-whitespace: New file.
82005         * modules/unictype/property-bidi-non-spacing-mark: New file.
82006         * modules/unictype/property-bidi-boundary-neutral: New file.
82007         * modules/unictype/property-bidi-pdf: New file.
82008         * modules/unictype/property-bidi-embedding-or-override: New file.
82009         * modules/unictype/property-bidi-other-neutral: New file.
82010         * modules/unictype/property-hex-digit: New file.
82011         * modules/unictype/property-ascii-hex-digit: New file.
82012         * modules/unictype/property-ideographic: New file.
82013         * modules/unictype/property-unified-ideograph: New file.
82014         * modules/unictype/property-radical: New file.
82015         * modules/unictype/property-ids-binary-operator: New file.
82016         * modules/unictype/property-ids-trinary-operator: New file.
82017         * modules/unictype/property-zero-width: New file.
82018         * modules/unictype/property-space: New file.
82019         * modules/unictype/property-non-break: New file.
82020         * modules/unictype/property-iso-control: New file.
82021         * modules/unictype/property-format-control: New file.
82022         * modules/unictype/property-dash: New file.
82023         * modules/unictype/property-hyphen: New file.
82024         * modules/unictype/property-punctuation: New file.
82025         * modules/unictype/property-line-separator: New file.
82026         * modules/unictype/property-paragraph-separator: New file.
82027         * modules/unictype/property-quotation-mark: New file.
82028         * modules/unictype/property-sentence-terminal: New file.
82029         * modules/unictype/property-terminal-punctuation: New file.
82030         * modules/unictype/property-currency-symbol: New file.
82031         * modules/unictype/property-math: New file.
82032         * modules/unictype/property-other-math: New file.
82033         * modules/unictype/property-paired-punctuation: New file.
82034         * modules/unictype/property-left-of-pair: New file.
82035         * modules/unictype/property-combining: New file.
82036         * modules/unictype/property-composite: New file.
82037         * modules/unictype/property-decimal-digit: New file.
82038         * modules/unictype/property-numeric: New file.
82039         * modules/unictype/property-diacritic: New file.
82040         * modules/unictype/property-extender: New file.
82041         * modules/unictype/property-ignorable-control: New file.
82042         * modules/unictype/property-test: New file.
82043         * modules/unictype/property-byname: New file.
82044         * modules/unictype/property-all: New file.
82045         * modules/unictype/scripts: New file.
82046         * modules/unictype/scripts-all: New file.
82047         * modules/unictype/block-of: New file.
82048         * modules/unictype/block-test: New file.
82049         * modules/unictype/block-list: New file.
82050         * modules/unictype/block-all: New file.
82051         * modules/unictype/syntax-c-whitespace: New file.
82052         * modules/unictype/syntax-java-whitespace: New file.
82053         * modules/unictype/syntax-c-ident: New file.
82054         * modules/unictype/syntax-java-ident: New file.
82055         * modules/unictype/ctype-alnum: New file.
82056         * modules/unictype/ctype-alpha: New file.
82057         * modules/unictype/ctype-cntrl: New file.
82058         * modules/unictype/ctype-digit: New file.
82059         * modules/unictype/ctype-graph: New file.
82060         * modules/unictype/ctype-lower: New file.
82061         * modules/unictype/ctype-print: New file.
82062         * modules/unictype/ctype-punct: New file.
82063         * modules/unictype/ctype-space: New file.
82064         * modules/unictype/ctype-upper: New file.
82065         * modules/unictype/ctype-xdigit: New file.
82066         * modules/unictype/ctype-blank: New file.
82067         * lib/unictype/bidi_byname.c: New file.
82068         * lib/unictype/bidi_name.c: New file.
82069         * lib/unictype/bidi_of.c: New file.
82070         * lib/unictype/bidi_test.c: New file.
82071         * lib/unictype/bitmap.h: New file.
82072         * lib/unictype/block_test.c: New file.
82073         * lib/unictype/blocks.c: New file.
82074         * lib/unictype/categ_C.c: New file.
82075         * lib/unictype/categ_Cc.c: New file.
82076         * lib/unictype/categ_Cf.c: New file.
82077         * lib/unictype/categ_Cn.c: New file.
82078         * lib/unictype/categ_Co.c: New file.
82079         * lib/unictype/categ_Cs.c: New file.
82080         * lib/unictype/categ_L.c: New file.
82081         * lib/unictype/categ_Ll.c: New file.
82082         * lib/unictype/categ_Lm.c: New file.
82083         * lib/unictype/categ_Lo.c: New file.
82084         * lib/unictype/categ_Lt.c: New file.
82085         * lib/unictype/categ_Lu.c: New file.
82086         * lib/unictype/categ_M.c: New file.
82087         * lib/unictype/categ_Mc.c: New file.
82088         * lib/unictype/categ_Me.c: New file.
82089         * lib/unictype/categ_Mn.c: New file.
82090         * lib/unictype/categ_N.c: New file.
82091         * lib/unictype/categ_Nd.c: New file.
82092         * lib/unictype/categ_Nl.c: New file.
82093         * lib/unictype/categ_No.c: New file.
82094         * lib/unictype/categ_P.c: New file.
82095         * lib/unictype/categ_Pc.c: New file.
82096         * lib/unictype/categ_Pd.c: New file.
82097         * lib/unictype/categ_Pe.c: New file.
82098         * lib/unictype/categ_Pf.c: New file.
82099         * lib/unictype/categ_Pi.c: New file.
82100         * lib/unictype/categ_Po.c: New file.
82101         * lib/unictype/categ_Ps.c: New file.
82102         * lib/unictype/categ_S.c: New file.
82103         * lib/unictype/categ_Sc.c: New file.
82104         * lib/unictype/categ_Sk.c: New file.
82105         * lib/unictype/categ_Sm.c: New file.
82106         * lib/unictype/categ_So.c: New file.
82107         * lib/unictype/categ_Z.c: New file.
82108         * lib/unictype/categ_Zl.c: New file.
82109         * lib/unictype/categ_Zp.c: New file.
82110         * lib/unictype/categ_Zs.c: New file.
82111         * lib/unictype/categ_and.c: New file.
82112         * lib/unictype/categ_and_not.c: New file.
82113         * lib/unictype/categ_byname.c: New file.
82114         * lib/unictype/categ_name.c: New file.
82115         * lib/unictype/categ_none.c: New file.
82116         * lib/unictype/categ_of.c: New file.
82117         * lib/unictype/categ_or.c: New file.
82118         * lib/unictype/categ_test.c: New file.
82119         * lib/unictype/combining.c: New file.
82120         * lib/unictype/ctype_alnum.c: New file.
82121         * lib/unictype/ctype_alpha.c: New file.
82122         * lib/unictype/ctype_blank.c: New file.
82123         * lib/unictype/ctype_cntrl.c: New file.
82124         * lib/unictype/ctype_digit.c: New file.
82125         * lib/unictype/ctype_graph.c: New file.
82126         * lib/unictype/ctype_lower.c: New file.
82127         * lib/unictype/ctype_print.c: New file.
82128         * lib/unictype/ctype_punct.c: New file.
82129         * lib/unictype/ctype_space.c: New file.
82130         * lib/unictype/ctype_upper.c: New file.
82131         * lib/unictype/ctype_xdigit.c: New file.
82132         * lib/unictype/decdigit.c: New file.
82133         * lib/unictype/digit.c: New file.
82134         * lib/unictype/identsyntaxmap.h: New file.
82135         * lib/unictype/mirror.c: New file.
82136         * lib/unictype/numeric.c: New file.
82137         * lib/unictype/pr_alphabetic.c: New file.
82138         * lib/unictype/pr_ascii_hex_digit.c: New file.
82139         * lib/unictype/pr_bidi_arabic_digit.c: New file.
82140         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
82141         * lib/unictype/pr_bidi_block_separator.c: New file.
82142         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
82143         * lib/unictype/pr_bidi_common_separator.c: New file.
82144         * lib/unictype/pr_bidi_control.c: New file.
82145         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
82146         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
82147         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
82148         * lib/unictype/pr_bidi_european_digit.c: New file.
82149         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
82150         * lib/unictype/pr_bidi_left_to_right.c: New file.
82151         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
82152         * lib/unictype/pr_bidi_other_neutral.c: New file.
82153         * lib/unictype/pr_bidi_pdf.c: New file.
82154         * lib/unictype/pr_bidi_segment_separator.c: New file.
82155         * lib/unictype/pr_bidi_whitespace.c: New file.
82156         * lib/unictype/pr_byname.c: New file.
82157         * lib/unictype/pr_byname.gperf: New file.
82158         * lib/unictype/pr_combining.c: New file.
82159         * lib/unictype/pr_composite.c: New file.
82160         * lib/unictype/pr_currency_symbol.c: New file.
82161         * lib/unictype/pr_dash.c: New file.
82162         * lib/unictype/pr_decimal_digit.c: New file.
82163         * lib/unictype/pr_default_ignorable_code_point.c: New file.
82164         * lib/unictype/pr_deprecated.c: New file.
82165         * lib/unictype/pr_diacritic.c: New file.
82166         * lib/unictype/pr_extender.c: New file.
82167         * lib/unictype/pr_format_control.c: New file.
82168         * lib/unictype/pr_grapheme_base.c: New file.
82169         * lib/unictype/pr_grapheme_extend.c: New file.
82170         * lib/unictype/pr_grapheme_link.c: New file.
82171         * lib/unictype/pr_hex_digit.c: New file.
82172         * lib/unictype/pr_hyphen.c: New file.
82173         * lib/unictype/pr_id_continue.c: New file.
82174         * lib/unictype/pr_id_start.c: New file.
82175         * lib/unictype/pr_ideographic.c: New file.
82176         * lib/unictype/pr_ids_binary_operator.c: New file.
82177         * lib/unictype/pr_ids_trinary_operator.c: New file.
82178         * lib/unictype/pr_ignorable_control.c: New file.
82179         * lib/unictype/pr_iso_control.c: New file.
82180         * lib/unictype/pr_join_control.c: New file.
82181         * lib/unictype/pr_left_of_pair.c: New file.
82182         * lib/unictype/pr_line_separator.c: New file.
82183         * lib/unictype/pr_logical_order_exception.c: New file.
82184         * lib/unictype/pr_lowercase.c: New file.
82185         * lib/unictype/pr_math.c: New file.
82186         * lib/unictype/pr_non_break.c: New file.
82187         * lib/unictype/pr_not_a_character.c: New file.
82188         * lib/unictype/pr_numeric.c: New file.
82189         * lib/unictype/pr_other_alphabetic.c: New file.
82190         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
82191         * lib/unictype/pr_other_grapheme_extend.c: New file.
82192         * lib/unictype/pr_other_id_continue.c: New file.
82193         * lib/unictype/pr_other_id_start.c: New file.
82194         * lib/unictype/pr_other_lowercase.c: New file.
82195         * lib/unictype/pr_other_math.c: New file.
82196         * lib/unictype/pr_other_uppercase.c: New file.
82197         * lib/unictype/pr_paired_punctuation.c: New file.
82198         * lib/unictype/pr_paragraph_separator.c: New file.
82199         * lib/unictype/pr_pattern_syntax.c: New file.
82200         * lib/unictype/pr_pattern_white_space.c: New file.
82201         * lib/unictype/pr_private_use.c: New file.
82202         * lib/unictype/pr_punctuation.c: New file.
82203         * lib/unictype/pr_quotation_mark.c: New file.
82204         * lib/unictype/pr_radical.c: New file.
82205         * lib/unictype/pr_sentence_terminal.c: New file.
82206         * lib/unictype/pr_soft_dotted.c: New file.
82207         * lib/unictype/pr_space.c: New file.
82208         * lib/unictype/pr_terminal_punctuation.c: New file.
82209         * lib/unictype/pr_test.c: New file.
82210         * lib/unictype/pr_titlecase.c: New file.
82211         * lib/unictype/pr_unassigned_code_value.c: New file.
82212         * lib/unictype/pr_unified_ideograph.c: New file.
82213         * lib/unictype/pr_uppercase.c: New file.
82214         * lib/unictype/pr_variation_selector.c: New file.
82215         * lib/unictype/pr_white_space.c: New file.
82216         * lib/unictype/pr_xid_continue.c: New file.
82217         * lib/unictype/pr_xid_start.c: New file.
82218         * lib/unictype/pr_zero_width.c: New file.
82219         * lib/unictype/scripts.c: New file.
82220         * lib/unictype/sy_c_ident.c: New file.
82221         * lib/unictype/sy_c_whitespace.c: New file.
82222         * lib/unictype/sy_java_ident.c: New file.
82223         * lib/unictype/sy_java_whitespace.c: New file.
82225         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
82226         Unicode 5.0.0.
82227         * lib/unictype/blocks.h: Likewise.
82228         * lib/unictype/categ_C.h: Likewise.
82229         * lib/unictype/categ_Cc.h: Likewise.
82230         * lib/unictype/categ_Cf.h: Likewise.
82231         * lib/unictype/categ_Cn.h: Likewise.
82232         * lib/unictype/categ_Co.h: Likewise.
82233         * lib/unictype/categ_Cs.h: Likewise.
82234         * lib/unictype/categ_L.h: Likewise.
82235         * lib/unictype/categ_Ll.h: Likewise.
82236         * lib/unictype/categ_Lm.h: Likewise.
82237         * lib/unictype/categ_Lo.h: Likewise.
82238         * lib/unictype/categ_Lt.h: Likewise.
82239         * lib/unictype/categ_Lu.h: Likewise.
82240         * lib/unictype/categ_M.h: Likewise.
82241         * lib/unictype/categ_Mc.h: Likewise.
82242         * lib/unictype/categ_Me.h: Likewise.
82243         * lib/unictype/categ_Mn.h: Likewise.
82244         * lib/unictype/categ_N.h: Likewise.
82245         * lib/unictype/categ_Nd.h: Likewise.
82246         * lib/unictype/categ_Nl.h: Likewise.
82247         * lib/unictype/categ_No.h: Likewise.
82248         * lib/unictype/categ_P.h: Likewise.
82249         * lib/unictype/categ_Pc.h: Likewise.
82250         * lib/unictype/categ_Pd.h: Likewise.
82251         * lib/unictype/categ_Pe.h: Likewise.
82252         * lib/unictype/categ_Pf.h: Likewise.
82253         * lib/unictype/categ_Pi.h: Likewise.
82254         * lib/unictype/categ_Po.h: Likewise.
82255         * lib/unictype/categ_Ps.h: Likewise.
82256         * lib/unictype/categ_S.h: Likewise.
82257         * lib/unictype/categ_Sc.h: Likewise.
82258         * lib/unictype/categ_Sk.h: Likewise.
82259         * lib/unictype/categ_Sm.h: Likewise.
82260         * lib/unictype/categ_So.h: Likewise.
82261         * lib/unictype/categ_Z.h: Likewise.
82262         * lib/unictype/categ_Zl.h: Likewise.
82263         * lib/unictype/categ_Zp.h: Likewise.
82264         * lib/unictype/categ_Zs.h: Likewise.
82265         * lib/unictype/categ_of.h: Likewise.
82266         * lib/unictype/combining.h: Likewise.
82267         * lib/unictype/ctype_alnum.h: Likewise.
82268         * lib/unictype/ctype_alpha.h: Likewise.
82269         * lib/unictype/ctype_blank.h: Likewise.
82270         * lib/unictype/ctype_cntrl.h: Likewise.
82271         * lib/unictype/ctype_digit.h: Likewise.
82272         * lib/unictype/ctype_graph.h: Likewise.
82273         * lib/unictype/ctype_lower.h: Likewise.
82274         * lib/unictype/ctype_print.h: Likewise.
82275         * lib/unictype/ctype_punct.h: Likewise.
82276         * lib/unictype/ctype_space.h: Likewise.
82277         * lib/unictype/ctype_upper.h: Likewise.
82278         * lib/unictype/ctype_xdigit.h: Likewise.
82279         * lib/unictype/decdigit.h: Likewise.
82280         * lib/unictype/digit.h: Likewise.
82281         * lib/unictype/mirror.h: Likewise.
82282         * lib/unictype/numeric.h: Likewise.
82283         * lib/unictype/pr_alphabetic.h: Likewise.
82284         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
82285         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
82286         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
82287         * lib/unictype/pr_bidi_block_separator.h: Likewise.
82288         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
82289         * lib/unictype/pr_bidi_common_separator.h: Likewise.
82290         * lib/unictype/pr_bidi_control.h: Likewise.
82291         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
82292         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
82293         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
82294         * lib/unictype/pr_bidi_european_digit.h: Likewise.
82295         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
82296         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
82297         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
82298         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
82299         * lib/unictype/pr_bidi_pdf.h: Likewise.
82300         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
82301         * lib/unictype/pr_bidi_whitespace.h: Likewise.
82302         * lib/unictype/pr_combining.h: Likewise.
82303         * lib/unictype/pr_composite.h: Likewise.
82304         * lib/unictype/pr_currency_symbol.h: Likewise.
82305         * lib/unictype/pr_dash.h: Likewise.
82306         * lib/unictype/pr_decimal_digit.h: Likewise.
82307         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
82308         * lib/unictype/pr_deprecated.h: Likewise.
82309         * lib/unictype/pr_diacritic.h: Likewise.
82310         * lib/unictype/pr_extender.h: Likewise.
82311         * lib/unictype/pr_format_control.h: Likewise.
82312         * lib/unictype/pr_grapheme_base.h: Likewise.
82313         * lib/unictype/pr_grapheme_extend.h: Likewise.
82314         * lib/unictype/pr_grapheme_link.h: Likewise.
82315         * lib/unictype/pr_hex_digit.h: Likewise.
82316         * lib/unictype/pr_hyphen.h: Likewise.
82317         * lib/unictype/pr_id_continue.h: Likewise.
82318         * lib/unictype/pr_id_start.h: Likewise.
82319         * lib/unictype/pr_ideographic.h: Likewise.
82320         * lib/unictype/pr_ids_binary_operator.h: Likewise.
82321         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
82322         * lib/unictype/pr_ignorable_control.h: Likewise.
82323         * lib/unictype/pr_iso_control.h: Likewise.
82324         * lib/unictype/pr_join_control.h: Likewise.
82325         * lib/unictype/pr_left_of_pair.h: Likewise.
82326         * lib/unictype/pr_line_separator.h: Likewise.
82327         * lib/unictype/pr_logical_order_exception.h: Likewise.
82328         * lib/unictype/pr_lowercase.h: Likewise.
82329         * lib/unictype/pr_math.h: Likewise.
82330         * lib/unictype/pr_non_break.h: Likewise.
82331         * lib/unictype/pr_not_a_character.h: Likewise.
82332         * lib/unictype/pr_numeric.h: Likewise.
82333         * lib/unictype/pr_other_alphabetic.h: Likewise.
82334         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
82335         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
82336         * lib/unictype/pr_other_id_continue.h: Likewise.
82337         * lib/unictype/pr_other_id_start.h: Likewise.
82338         * lib/unictype/pr_other_lowercase.h: Likewise.
82339         * lib/unictype/pr_other_math.h: Likewise.
82340         * lib/unictype/pr_other_uppercase.h: Likewise.
82341         * lib/unictype/pr_paired_punctuation.h: Likewise.
82342         * lib/unictype/pr_paragraph_separator.h: Likewise.
82343         * lib/unictype/pr_pattern_syntax.h: Likewise.
82344         * lib/unictype/pr_pattern_white_space.h: Likewise.
82345         * lib/unictype/pr_private_use.h: Likewise.
82346         * lib/unictype/pr_punctuation.h: Likewise.
82347         * lib/unictype/pr_quotation_mark.h: Likewise.
82348         * lib/unictype/pr_radical.h: Likewise.
82349         * lib/unictype/pr_sentence_terminal.h: Likewise.
82350         * lib/unictype/pr_soft_dotted.h: Likewise.
82351         * lib/unictype/pr_space.h: Likewise.
82352         * lib/unictype/pr_terminal_punctuation.h: Likewise.
82353         * lib/unictype/pr_titlecase.h: Likewise.
82354         * lib/unictype/pr_unassigned_code_value.h: Likewise.
82355         * lib/unictype/pr_unified_ideograph.h: Likewise.
82356         * lib/unictype/pr_uppercase.h: Likewise.
82357         * lib/unictype/pr_variation_selector.h: Likewise.
82358         * lib/unictype/pr_white_space.h: Likewise.
82359         * lib/unictype/pr_xid_continue.h: Likewise.
82360         * lib/unictype/pr_xid_start.h: Likewise.
82361         * lib/unictype/pr_zero_width.h: Likewise.
82362         * lib/unictype/scripts.h: Likewise.
82363         * lib/unictype/scripts_byname.gperf: Likewise.
82364         * lib/unictype/sy_c_ident.h: Likewise.
82365         * lib/unictype/sy_c_whitespace.h: Likewise.
82366         * lib/unictype/sy_java_ident.h: Likewise.
82367         * lib/unictype/sy_java_whitespace.h: Likewise.
82369         * lib/unictype/Makefile: New file.
82370         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
82371         glibc.
82372         * lib/unictype/3level.h: New file, copied from glibc.
82373         * lib/unictype/3levelbit.h: New file.
82375 2007-11-11  Bruno Haible  <bruno@clisp.org>
82377         * modules/gperf: New file.
82378         * modules/iconv_open (Depends-on): Add it.
82379         (Makefile.am): Remove the GPERF definition.
82381 2007-11-11  Bruno Haible  <bruno@clisp.org>
82383         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
82384         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
82386 2007-11-11  Bruno Haible  <bruno@clisp.org>
82388         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
82389         (usage): Remove function.
82391 2007-11-11  Bruno Haible  <bruno@clisp.org>
82393         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
82394         gl_FUNC_CEILF_LIBS.
82395         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
82396         gl_FUNC_CEIL_LIBS.
82397         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
82398         gl_FUNC_CEILL_LIBS.
82399         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
82400         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
82401         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
82403 2007-11-11  Bruno Haible  <bruno@clisp.org>
82405         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
82406         roundf were declared but do not exist on functions.
82407         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
82408         roundl were declared but do not exist on functions.
82409         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
82410         HAVE_FLOORL_AND_CEILL, respectively.
82411         Needed for Sun C on Solaris 10.
82413 2007-11-11  Bruno Haible  <bruno@clisp.org>
82415         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
82416         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
82417         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
82418         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
82419         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
82420         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
82421         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
82422         HAVE_DECL_ROUNDF.
82423         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
82424         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
82425         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
82426         of HAVE_DECL_ROUND*.
82427         * modules/math (Makefile.am): Update.
82429 2007-11-10  Bruno Haible  <bruno@clisp.org>
82431         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
82432         ptrdiff_t as m4/intl.m4.
82434 2007-11-10  Jim Meyering  <meyering@redhat.com>
82436         Avoid link failure for the argmatch test.
82437         * tests/test-argmatch.c (usage): Define function to avoid a link
82438         failure: argmatch_die requires a usage function.
82440 2007-11-09  Bruno Haible  <bruno@clisp.org>
82442         * doc/functions/snprintf.texi: Mention BeOS deficiency.
82443         * doc/functions/vsnprintf.texi: Likewise.
82444         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
82445         with a size argument < 2.
82447 2007-11-09  Bruno Haible  <bruno@clisp.org>
82449         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
82450         buffer. Fixes an inefficiency introduced on 2007-11-03.
82452 2007-11-09  Bruno Haible  <bruno@clisp.org>
82454         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
82455         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
82457 2007-11-08  Jim Meyering  <meyering@redhat.com>
82459         Change cache variable name prefix "jm_" to "gl_" everywhere.
82460         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
82461         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
82462         * m4/uptime.m4: s/gl_/jm_/
82464 2007-11-07  Bruno Haible  <bruno@clisp.org>
82466         Update to GNU gettext 0.17.
82467         * m4/intl.m4: Update to GNU gettext 0.17.
82468         * m4/po.m4: Likewise.
82469         * modules/gettext (Files): Remove m4/ulonglong.m4.
82470         (configure.ac): Require gettext infrastructure from version 0.17.
82472 2007-11-06  Bruno Haible  <bruno@clisp.org>
82474         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
82475         symbolic values are not defined in a public header.
82476         * lib/freadable.c (freadable) [QNX]: Likewise.
82477         * lib/freadahead.c (freadahead) [QNX]: Likewise.
82478         * lib/freading.c (freading) [QNX]: Likewise.
82479         * lib/fseterr.c (fseterr) [QNX]: Likewise.
82480         * lib/fwritable.c (fwritable) [QNX]: Likewise.
82481         * lib/fwriting.c (fwriting) [QNX]: Likewise.
82482         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
82483         Reported by Alain Magloire.
82485         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
82487 2007-11-05  Bruno Haible  <bruno@clisp.org>
82489         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
82490         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
82491         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
82492         Reported by Eric Blake.
82494 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82495             Bruno Haible  <bruno@clisp.org>
82497         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
82498         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
82499         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
82500         (malloc): Undefine also before including <stdlib.h>.
82501         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
82502         Needed on OSF/1 4.0.
82504 2007-11-05  Jim Meyering  <meyering@redhat.com>
82506         git-version-gen: sync from coreutils.
82507         * build-aux/git-version-gen: Add comments.
82508         Change the first '-' to '.' in the snapshot version string,
82509         e.g., 6.9-377-08144 -> 6.9.377-08144
82510         Remove first parameter.
82511         Don't declare a version "-dirty" merely because a time
82512         stamp has changed.
82514 2007-11-04  Bruno Haible  <bruno@clisp.org>
82516         * lib/lock.h: Protect all macro definitions containing an 'if'
82517         statement through a "do { ... } while (0)".
82518         * lib/tls.h: Likewise.
82520 2007-11-04  Bruno Haible  <bruno@clisp.org>
82522         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
82524 2007-11-04  Bruno Haible  <bruno@clisp.org>
82526         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
82527         * modules/fprintf-posix (Depends-on): Add nocrash.
82528         * modules/snprintf-posix (Depends-on): Likewise.
82529         * modules/sprintf-posix (Depends-on): Likewise.
82530         * modules/vasnprintf-posix (Depends-on): Likewise.
82531         * modules/vasprintf-posix (Depends-on): Likewise.
82532         * modules/vfprintf-posix (Depends-on): Likewise.
82533         * modules/vsnprintf-posix (Depends-on): Likewise.
82534         * modules/vsprintf-posix (Depends-on): Likewise.
82535         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
82536         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
82537         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
82538         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
82539         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
82540         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
82541         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
82543 2007-11-04  Bruno Haible  <bruno@clisp.org>
82545         * modules/nocrash: New file.
82546         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
82547         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
82549 2007-11-04  Bruno Haible  <bruno@clisp.org>
82551         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
82552         precision handling.
82553         * tests/test-vasprintf-posix.c (test_function): Likewise.
82554         * tests/test-snprintf-posix.h (test_function): Likewise.
82555         * tests/test-sprintf-posix.h (test_function): Likewise.
82557         Fix *printf behaviour for large precisions on mingw and BeOS.
82558         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
82559         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
82560         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
82561         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
82562         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
82563         gl_PRINTF_PRECISION and test its result. Invoke
82564         gl_PREREQ_VASNPRINTF_PRECISION.
82565         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
82566         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
82567         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
82568         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
82569         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
82570         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
82571         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
82572         * doc/functions/fprintf.texi: Update.
82573         * doc/functions/printf.texi: Update.
82574         * doc/functions/snprintf.texi: Update.
82575         * doc/functions/sprintf.texi: Update.
82576         * doc/functions/vfprintf.texi: Update.
82577         * doc/functions/vprintf.texi: Update.
82578         * doc/functions/vsnprintf.texi: Update.
82579         * doc/functions/vsprintf.texi: Update.
82581 2007-11-04  Bruno Haible  <bruno@clisp.org>
82583         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
82585 2007-11-04  Bruno Haible  <bruno@clisp.org>
82587         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
82588         Reported by Sylvain Beucler <beuc@gnu.org>.
82590 2007-11-03  Bruno Haible  <bruno@clisp.org>
82592         * tests/test-fprintf-posix2.sh: New file.
82593         * tests/test-fprintf-posix2.c: New file.
82594         * modules/fprintf-posix-tests (Files): Add them.
82595         (TESTS): Add test-fprintf-posix2.sh.
82596         (configure.ac): Check for getrlimit and setrlimit.
82597         (check_PROGRAMS): Add test-fprintf-posix2.
82599         * tests/test-printf-posix2.sh: New file.
82600         * tests/test-printf-posix2.c: New file.
82601         * modules/printf-posix-tests (Files): Add them.
82602         (TESTS): Add test-printf-posix2.sh.
82603         (configure.ac): Check for getrlimit and setrlimit.
82604         (check_PROGRAMS): Add test-printf-posix2.
82606         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
82607         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
82608         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
82609         (decode_double): New function, copied from decode_long_double.
82610         (scale10_round_decimal_decoded): New function, extracted from
82611         scale10_round_decimal_long_double.
82612         (scale10_round_decimal_long_double): Use it.
82613         (scale10_round_decimal_double): New function.
82614         (floorlog10): New function.
82615         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
82616         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
82617         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
82618         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
82619         gl_PRINTF_ENOMEM and test its result. Invoke
82620         gl_PREREQ_VASNPRINTF_ENOMEM.
82621         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
82622         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
82623         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
82624         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
82625         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
82626         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
82627         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
82628         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
82629         * modules/snprintf-posix (Depends-on): Likewise.
82630         * modules/sprintf-posix (Depends-on): Likewise.
82631         * modules/vasnprintf-posix (Depends-on): Likewise.
82632         * modules/vasprintf-posix (Depends-on): Likewise.
82633         * modules/vfprintf-posix (Depends-on): Likewise.
82634         * modules/vsnprintf-posix (Depends-on): Likewise.
82635         * modules/vsprintf-posix (Depends-on): Likewise.
82636         * doc/functions/fprintf.texi: Update.
82637         * doc/functions/printf.texi: Update.
82638         * doc/functions/snprintf.texi: Update.
82639         * doc/functions/sprintf.texi: Update.
82640         * doc/functions/vfprintf.texi: Update.
82641         * doc/functions/vprintf.texi: Update.
82642         * doc/functions/vsnprintf.texi: Update.
82643         * doc/functions/vsprintf.texi: Update.
82645 2007-11-03  Bruno Haible  <bruno@clisp.org>
82647         * modules/frexp-nolibm-tests: New file.
82649         * modules/frexp-nolibm: New file.
82650         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
82652 2007-11-03  Bruno Haible  <bruno@clisp.org>
82654         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
82655         value is C99 compliant.
82656         Needed for OSF/1 5.1.
82658 2007-11-03  Bruno Haible  <bruno@clisp.org>
82660         Fix out-of-memory handling of vasnprintf.
82661         * lib/printf-parse.c: Include <errno.h>.
82662         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
82663         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
82664         is already set.
82666 2007-11-02  Eric Blake  <ebb9@byu.net>
82668         Fix tests on cygwin.
82669         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
82671 2007-11-01  Bruno Haible  <bruno@clisp.org>
82673         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
82674         warning.
82675         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
82676         needed for POSIX compatibility.
82678 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
82680         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
82681         for compatibility with GNU.
82683 2007-11-01  Bruno Haible  <bruno@clisp.org>
82685         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
82686         (putenv): Renamed from rpl_putenv. Change argument type from
82687         'const char *' to 'char *'.
82688         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
82689         of defining putenv in config.h, just set REPLACE_PUTENV.
82690         * modules/putenv (Depends-on): Add stdlib.
82691         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
82692         (Include): Use <stdlib.h>.
82693         * lib/stdlib.in.h (putenv): New declaration.
82694         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
82695         REPLACE_PUTENV.
82696         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
82697         REPLACE_PUTENV.
82698         Needed for MacOS X 10.5.0.
82699         Reported by Peter O'Gorman <peter@pogma.com>.
82701 2007-11-01  Jim Meyering  <meyering@redhat.com>
82703         Treat an empty date string exactly like "0".
82704         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
82705         if the remaining date string (to be parsed) is empty, use "0".
82706         Reported by Mischa Molhoek and discussed in this thread:
82707         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
82709 2007-10-31  Bruno Haible  <bruno@clisp.org>
82711         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
82712         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
82713         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
82714         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
82715         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
82716         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
82718 2007-10-31  Bruno Haible  <bruno@clisp.org>
82720         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
82721         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
82722         (AC_TYPE_LONG_LONG_INT): Use it.
82723         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
82724         it as well.
82725         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
82726         to m4/longlong.m4.
82727         * modules/stdint (Files): Remove m4/ulonglong.m4.
82728         * modules/strtoull (Files): Use m4/longlong.m4 instead of
82729         m4/ulonglong.m4.
82730         * modules/strtoumax (Files): Likewise.
82732 2007-10-30  Bruno Haible  <bruno@clisp.org>
82734         * modules/xvasprintf-posix: New file.
82735         Suggested by Eric Blake.
82737 2007-10-30  Bruno Haible  <bruno@clisp.org>
82739         * modules/xprintf-posix-tests: New file.
82740         * tests/test-xprintf-posix.sh: New file.
82741         * tests/test-xprintf-posix.c: New file.
82742         * tests/test-xfprintf-posix.c: New file.
82744         * modules/xprintf-posix: New file.
82746 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82748         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
82749         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
82750         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
82752 2007-10-29  Bruno Haible  <bruno@clisp.org>
82754         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
82755         contain the special marker '_cv_'.
82756         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
82757         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
82758         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
82759         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
82760         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
82761         Reported by Ralf Wildenhues.
82763 2007-10-29  Bruno Haible  <bruno@clisp.org>
82765         * gnulib-tool (func_import): When --lgpl is not specified, set
82766         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
82767         GPLv3.
82768         Reported by Simon Josefsson.
82770 2007-10-28  Bruno Haible  <bruno@clisp.org>
82772         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
82773         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
82774         HAVE_DECL_ISFINITE.
82775         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
82776         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
82777         HAVE_DECL_ISFINITE.
82779 2007-10-28  Bruno Haible  <bruno@clisp.org>
82781         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
82782         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
82784 2007-10-28  Bruno Haible  <bruno@clisp.org>
82786         Fix link errors with Sun C 5.0 on Solaris 10.
82787         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
82788         function is declared but not present in the compiler's libm.
82789         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
82790         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
82791         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
82792         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
82793         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
82794         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
82795         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
82796         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
82797         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
82798         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
82799         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
82800         HAVE_DECL_FLOORL.
82802 2007-10-28  Bruno Haible  <bruno@clisp.org>
82804         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
82805         gl_FUNC_FLOORL. Cache the result.
82806         (gl_FUNC_FLOORL): Use it.
82807         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
82808         gl_FUNC_CEILL. Cache the result.
82809         (gl_FUNC_CEILL): Use it.
82811         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
82812         gl_FUNC_FLOOR. Cache the result.
82813         (gl_FUNC_FLOOR): Use it.
82814         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
82815         gl_FUNC_CEIL. Cache the result.
82816         (gl_FUNC_CEIL): Use it.
82818         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
82819         gl_FUNC_FLOORF. Cache the result.
82820         (gl_FUNC_FLOORF): Use it.
82821         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
82822         gl_FUNC_CEILF. Cache the result.
82823         (gl_FUNC_CEILF): Use it.
82825 2007-10-28  Bruno Haible  <bruno@clisp.org>
82827         * gnulib-tool: Allow specifying the LGPL version number through
82828         --lgpl=2 or --lgpl=3.
82829         (func_usage): Document --lgpl with argument.
82830         Handle --lgpl=... arguments.
82831         (func_import): Recognize also gl_LGPL calls with an argument. When
82832         --lgpl=2 is used and the module's license is just LGPL, report an
82833         error. Set sed_transform_lib_file according to the lgpl variable. In
82834         the generated files, use --lgpl or gl_LGPL invocations with argument,
82835         if necessary.
82836         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
82837         an LGPv2+ license.
82838         * doc/gnulib-tool.texi (Modified imports): Update explanation of
82839         gl_LGPL macro.
82841 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82842             Bruno Haible  <bruno@clisp.org>
82844         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
82845         (u16_uctomb_aux): Likewise.
82846         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
82847         !HAVE_INLINE.
82848         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
82850 2007-10-28  Bruno Haible  <bruno@clisp.org>
82852         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
82853         Invoke AM_GETTEXT_OPTION if it exists.
82854         * modules/vasprintf: Likewise.
82855         * modules/verror: Likewise.
82856         * modules/xprintf: Likewise.
82857         * modules/xvasprintf: Likewise.
82859 2007-10-27  Ben Pfaff  <blp@gnu.org>
82861         * lib/math.in.h: Define isfinite macro and prototypes for
82862         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
82863         implementations.
82864         * m4/math_h.m4: New substitutions for isfinite module.
82865         * lib/isfinite.c: New file.
82866         * m4/isfinite.m4: New file.
82867         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
82868         * modules/isfinite: New file.
82869         * modules/isfinite-tests: New file.
82870         * tests/tests-isfinite.c: New file.
82871         * doc/functions/isfinite.texi: Mention isfinite module.
82872         * MODULES.html.sh: Mention new module.
82874 2007-10-27  Ben Pfaff  <blp@gnu.org>
82876         Ralf Wildenhues reported that Tru64 4.0D declares the round
82877         functions but does not have definitions.
82878         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
82879         cannot be found in any library, set the output variable to
82880         "missing" instead of "".
82881         * m4/round.m4: Also use our substitute if we cannot find round in
82882         any library, even if it is declared.
82883         * m4/roundf.m4: Likewise for roundf.
82884         * m4/roundl.m4: Likewise for roundl.
82885         * lib/math.in.h: Undefine roundf, round, roundl before defining
82886         their replacements, to allow for hypothetical systems where these
82887         may be defined as macros but not available in libraries.
82889 2007-10-27  Bruno Haible  <bruno@clisp.org>
82891         * doc/gnulib.texi: Invoke @firstparagraphindent.
82892         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
82893         changes in gnulib.
82894         (Source changes): New section.
82896 2007-10-26  Bruno Haible  <bruno@clisp.org>
82898         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
82899         borrowed from autoconf.
82901 2007-10-26  Bruno Haible  <bruno@clisp.org>
82903         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
82904         strerror returned the empty string. Needed on HP-UX 11.00.
82906 2007-10-24  Micah Cowan  <micah@cowan.name>
82908         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
82909         * build-aux/bootstrap: Remove support for now-unnecessary option,
82910         --cvs-user, and envvars CVS_USER, CVS_RSH.
82912 2007-10-24  Jim Meyering  <meyering@redhat.com>
82914         Avoid diagnostics from sha1sum when there is no cached checksum.
82915         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
82916         if the po.s1 file hasn't been created yet.
82918         * build-aux/bootstrap: Sync from coreutils:
82919         2007-10-24  Jim Meyering  <meyering@redhat.com>
82920         Get gnulib from the git repository, not from an obsolete cvs one.
82921         * build-aux/bootstrap: Suggestion from Micah Cowan.
82922         2007-10-04  Jim Meyering  <jim@meyering.net>
82923         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
82924         (update_po_files): Work also when there are no .po files in po/.
82926 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82928         * README: Append ".git" to git and cg examples.
82929         Problem reported by Benoit Sigoure.
82931 2007-10-23  Micah Cowan  <micah@cowan.name>
82933         * users.txt: Add wget.
82935 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82937         Fix linking of some unistdio tests on FreeBSD.
82938         * modules/unistdio/u16-vsnprintf-tests
82939         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
82940         * modules/unistdio/u16-vsprintf-tests
82941         (test_u16_vsnprintf1_LDADD): Likewise.
82942         * modules/unistdio/u32-vsnprintf-tests
82943         (test_u32_vsnprintf1_LDADD): Likewise.
82944         * modules/unistdio/u32-vsprintf-tests
82945         (test_u32_vsprintf1_LDADD): Likewise.
82946         * modules/unistdio/u8-vsnprintf-tests
82947         (test_u8_vsnprintf1_LDADD): Likewise.
82948         * modules/unistdio/u8-vsprintf-tests
82949         (test_u8_vsprintf1_LDADD): Likewise.
82950         * modules/unistdio/ulc-vsnprintf-tests
82951         (test_ulc_vsnprintf1_LDADD): Likewise.
82952         * modules/unistdio/ulc-vsprintf-tests
82953         (test_ulc_vsprintf1_LDADD): Likewise.
82955         Fix linking of some uniconv tests on FreeBSD.
82956         * modules/uniconv/u16-conv-from-enc-tests
82957         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
82958         * modules/uniconv/u16-conv-to-enc-tests
82959         (test_u16_conv_to_enc_LDADD): Likewise.
82960         * modules/uniconv/u16-strconv-from-enc-tests
82961         (test_u16_strconv_from_enc_LDADD): Likewise.
82962         * modules/uniconv/u16-strconv-to-enc-tests
82963         (test_u16_strconv_to_enc_LDADD): Likewise.
82964         * modules/uniconv/u32-conv-from-enc-tests
82965         (test_u32_conv_from_enc_LDADD): Likewise.
82966         * modules/uniconv/u32-conv-to-enc-tests
82967         (test_u32_conv_to_enc_LDADD): Likewise.
82968         * modules/uniconv/u32-strconv-from-enc-tests
82969         (test_u32_strconv_from_enc_LDADD): Likewise.
82970         * modules/uniconv/u32-strconv-to-enc-tests
82971         (test_u32_strconv_to_enc_LDADD): Likewise.
82972         * modules/uniconv/u8-conv-from-enc-tests
82973         (test_u8_conv_from_enc_LDADD): Likewise.
82974         * modules/uniconv/u8-conv-to-enc-tests
82975         (test_u8_conv_to_enc_LDADD): Likewise.
82976         * modules/uniconv/u8-strconv-from-enc-tests
82977         (test_u8_strconv_from_enc_LDADD): Likewise.
82978         * modules/uniconv/u8-strconv-to-enc-tests
82979         (test_u8_strconv_to_enc_LDADD): Likewise.
82981 2007-10-22  Bruno Haible  <bruno@clisp.org>
82983         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
82984         size.
82986 2007-10-22  Eric Blake  <ebb9@byu.net>
82988         Tweak x*printf documentation.
82989         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
82990         variable name and comments.
82991         Suggested by Bruno Haible.
82993 2007-10-22  Bruno Haible  <bruno@clisp.org>
82995         * lib/acl.c (copy_acl): Fix file name in comment.
82997 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82999         Fix Tru64 problem with stdbool.h.
83000         * lib/stdbool.in.h (false, true):
83001         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
83002         Don't declare as an enum in this situation; it runs afoul of Tru64.
83003         Problem reported by Steven M. Schweda in
83004         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
83006 2007-10-22  Eric Blake  <ebb9@byu.net>
83008         Also wrap vf?printf.
83009         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
83010         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
83011         (xvprintf, xvfprintf): New functions.
83013 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83015         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
83016         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
83018         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
83019         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
83021 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83023         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
83024         by Bruno Haible.
83026 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83028         * lib/getloadavg.c
83029         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
83030         Undef `sys' after including sys/table.h, for Tru64 4.0D.
83032         * tests/test-i-ring.c: Work for C89.
83034 2007-10-22  Bruno Haible  <bruno@clisp.org>
83036         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
83037         -1u, in preprocessor expression, so that we don't test for the bug
83038         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
83039         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
83041 2007-10-22  Eric Blake  <ebb9@byu.net>
83043         * tests/test-yesno.sh: Silence stderr during test.
83045 2007-10-22  Simon Josefsson  <simon@josefsson.org>
83047         * modules/crypto/gc-camellia: New file.
83049         * m4/gc-camellia.m4: New file.
83051         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
83053         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
83055 2007-10-22  Simon Josefsson  <simon@josefsson.org>
83057         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
83058         --help to stdout.  Reported by sms@antinode.org (Steven
83059         M. Schweda).
83061 2007-10-22  Simon Josefsson  <simon@josefsson.org>
83063         * users.txt: Fix link to libksba.
83065 2007-10-21  Ben Pfaff  <blp@gnu.org>
83067         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
83068         round.c roundf implementation that depends on floorf and ceilf to
83069         be tested unconditionally.
83071 2007-10-21  Ben Pfaff  <blp@gnu.org>
83073         * m4/check-libm-func.m4: Removed.
83074         * m4/check-math-lib.m4: New file.
83075         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
83076         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
83077         definition and lack of AC_LIBOBJ([roundf]).
83078         * m4/roundl.m4: Ditto, and similarly for roundl.
83079         * modules/round: Reference new m4 file.
83080         * modules/roundf: Ditto.
83081         * modules/roundl: Ditto.
83082         * tests/test-round2.c (main): Use ROUND instead of round.
83083         Bug report from Bruno Haible.
83085 2007-10-21  Bruno Haible  <bruno@clisp.org>
83087         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
83088         context.
83090 2007-10-21  Bruno Haible  <bruno@clisp.org>
83092         * tests/test-wcwidth.c (main): Allow negative result for some control
83093         characters.
83095         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
83096         Needed on OSF/1 5.1.
83098 2007-10-21  Bruno Haible  <bruno@clisp.org>
83100         * tests/test-floorf1.c: Include isnanf.h.
83101         (main): Use isnanf() instead of isnan().
83102         * tests/test-ceilf1.c: Include isnanf.h.
83103         (main): Use isnanf() instead of isnan().
83104         * tests/test-truncf1.c: Include isnanf.h.
83105         (main): Use isnanf() instead of isnan().
83106         * tests/test-roundf1.c: Include isnanf.h.
83107         (main): Use isnanf() instead of isnan().
83109 2007-10-21  Eric Blake  <ebb9@byu.net>
83111         * users.txt: Update URL for m4.
83113 2007-10-21  Bruno Haible  <bruno@clisp.org>
83115         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
83117 2007-10-21  Bruno Haible  <bruno@clisp.org>
83119         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
83120         Git's management files if the CVS files are not present.
83122 2007-10-20  Bruno Haible  <bruno@clisp.org>
83124         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
83125         gcc-3.4.x.
83127 2007-10-20  Ben Pfaff  <blp@gnu.org>
83129         * lib/math.in.h: Declare round, roundf, roundl if we are providing
83130         implementations.
83131         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
83132         * lib/round.c: New file.
83133         * lib/roundf.c: New file.
83134         * lib/roundl.c: New file.
83135         * m4/round.m4: New file.
83136         * m4/roundf.m4: New file.
83137         * m4/roundl.m4: New file.
83138         * m4/check-libm-func-m4: New file.
83139         * modules/math: Replace round, roundf, roundl related @VARS@ in
83140         math.in.h.
83141         * modules/round: New file.
83142         * modules/round-tests: New file.
83143         * modules/roundf: New file.
83144         * modules/roundf-tests: New file.
83145         * modules/roundl: New file.
83146         * modules/roundl-tests: New file.
83147         * tests/test-round1.c: New file.
83148         * tests/test-round2.c: New file.
83149         * tests/test-roundf1.c: New file.
83150         * tests/test-roundf2.c: New file.
83151         * tests/test-roundl.c: New file.
83152         * doc/functions/round.texi: Mention round module.
83153         * doc/functions/roundf.texi: Mention roundf module.
83154         * doc/functions/roundl.texi: Mention roundl module.
83155         * MODULES.html.sh: Mention new modules.
83156         Thanks to Bruno Haible for suggestions.
83158 2007-10-20  Jim Meyering  <meyering@redhat.com>
83160         * lib/xprintf.c: Include <config.h> unconditionally.
83162         Change xprintf's license to GPL.
83163         * modules/xprintf (License): s/LGPL/GPL/, since this module
83164         depends on modules (exit and exitfail) which are GPL.
83165         Suggestion from Bruno Haible.
83167         xprintf fixes.
83168         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
83169         Use a clearer diagnostic.
83170         Patch from Bruno Haible.
83172 2007-10-20  Bruno Haible  <bruno@clisp.org>
83174         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
83175         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
83176         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83178 2007-10-20  Bruno Haible  <bruno@clisp.org>
83180         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
83181         precision in the comparison result > x - 1 or similar.
83182         * tests/test-ceilf2.c (correct_result_p): Likewise.
83183         * tests/test-truncf2.c (correct_result_p): Likewise.
83184         * tests/test-trunc2.c (correct_result_p): Likewise.
83185         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83187 2007-10-20  Bruno Haible  <bruno@clisp.org>
83189         * modules/ceil: New file.
83190         * m4/ceil.m4: New file.
83191         * doc/functions/ceil.texi: Mention the 'ceil' module.
83193 2007-10-20  Bruno Haible  <bruno@clisp.org>
83195         * modules/floor: New file.
83196         * m4/floor.m4: New file.
83197         * doc/functions/floor.texi: Mention the 'floor' module.
83199 2007-10-20  Bruno Haible  <bruno@clisp.org>
83201         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
83202         of %a.
83203         * modules/floorf-tests (Depends-on): Likewise.
83204         * modules/truncf-tests (Depends-on): Likewise.
83205         * modules/trunc-tests (Depends-on): Likewise.
83206         Reported by Ben Pfaff.
83208 2007-10-19  Jim Meyering  <meyering@redhat.com>
83210         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
83211         Don't bother testing specific errno values.  Just test ferror.
83213         New module: xprintf
83214         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
83216 2007-10-19  Bruno Haible  <bruno@clisp.org>
83218         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
83219         syntax.
83220         * modules/javaexec (Makefile.am): Likewise.
83221         * modules/relocatable-prog (Makefile.am): Likewise.
83222         Suggested by Jim Meyering.
83224 2007-10-18  Bruno Haible  <bruno@clisp.org>
83226         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
83227         Reported by Jim Meyering.
83229 2007-10-18  Eric Blake  <ebb9@byu.net>
83231         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
83233 2007-10-18  Bruno Haible  <bruno@clisp.org>
83235         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
83236         the format string into writable memory. Needed in Fortify conditions.
83238 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
83239             Bruno Haible  <bruno@clisp.org>
83241         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
83242         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
83243         * modules/trim (Depends-on): Add mbchar.
83244         (configure.ac): Add gl_FUNC_MBRTOWC.
83245         (Makefile.am): Augment lib_SOURCES.
83247 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
83249         Modify glob.c to use fstatat and dirfd, to simplify it.
83250         Suggested by Eric Blake.
83251         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
83252         Don't include <stdbool.h>; not used.
83253         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
83254         (link_exists_p): Simplify implementation, since we can now assume
83255         dirfd and fstatat.
83256         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
83258 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83260         * gnulib-tool (func_get_dependencies): Fix sed script to
83261         match only tests.
83263 2007-10-17  Bruno Haible  <bruno@clisp.org>
83265         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
83266         allow locale names without encoding suffix.
83267         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
83268         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
83270 2007-10-16  Bruno Haible  <bruno@clisp.org>
83272         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
83273         * lib/getgroups.c (getgroups): Likewise.
83274         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
83276 2007-10-16  Bruno Haible  <bruno@clisp.org>
83278         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
83279         * modules/malloc-posix (License): Likewise.
83280         * modules/realloc-posix (License): Likewise.
83281         * modules/calloc-posix (License): Likewise.
83282         * modules/intprops (License): Change from GPL to LGPL, with
83283         Paul Eggert's approval.
83285 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
83287         Merge glibc changes into lib/glob.c.
83289         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
83290         2007-10-15 04:59:03 UTC.  Here are the changes:
83292         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
83294         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
83296         * lib/glob.c: Add some branch prediction throughout.
83298         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
83300         [BZ #5103]
83301         * lib/glob.c (glob): Recognize patterns starting \/.
83303         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
83305         [BZ #3996]
83306         * lib/glob.c (attribute_hidden): Define if not defined.
83307         (glob): Unescape dirname, filename or username when needed and not
83308         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
83309         is NULL.  Handle unescaped [ in pattern without closing ].
83310         Don't pass GLOB_CHECK down to recursive glob for directories.
83311         (__glob_pattern_type): New function.
83312         (__glob_pattern_p): Implement using __glob_pattern_type.
83313         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
83314         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
83315         Remove unreachable code.
83317         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
83319         * lib/glob.c (glob_in_dir): Add some comments and asserts to
83320         explain why there are no leaks.
83322         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
83324         [BZ #3253]
83325         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
83326         time, rather allocate increasingly bigger arrays of pointers, if
83327         possible with alloca, if too large with malloc.
83329 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
83331         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
83332         Problem reported by H.Merijn Brand in
83333         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
83334         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
83335         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
83337 2007-10-15  Bruno Haible  <bruno@clisp.org>
83339         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
83340         with explicit rpl_ prefix.
83341         * lib/fopen.c (fopen): Likewise.
83342         * lib/freopen.c (freopen): Likewise.
83343         * lib/iconv.c (iconv): Likewise.
83344         * lib/iconv_close.c (iconv_close): Likewise.
83346 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83348         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
83350 2007-10-15  Bruno Haible  <bruno@clisp.org>
83352         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
83353         <stddef.h> instead of <stdlib.h> since we only need NULL.
83354         Reported by Ben Pfaff <blp@cs.stanford.edu>.
83356 2007-10-15  Bruno Haible  <bruno@clisp.org>
83358         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
83359         Replace paragraph talking about LIBOBJS.
83360         Reported by Colin Watson <cjwatson@debian.org>.
83362 2007-10-15  Bruno Haible  <bruno@clisp.org>
83364         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
83365         <stdlib.h> before using NULL.
83367 2007-10-15  Simon Josefsson  <simon@josefsson.org>
83369         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
83370         Reported by Albert Chin <china@thewrittenword.com>.
83372 2007-10-14  Bruno Haible  <bruno@clisp.org>
83374         * modules/iconv_open-utf-tests: New file.
83375         * tests/test-iconv-utf.c: New file.
83377         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
83378         * modules/iconv_open-utf: New file.
83379         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
83380         (iconv, iconv_close): New declarations.
83381         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
83382         be defined.
83383         (iconv_open): Add special handling of conversion between UTF-8 and
83384         UTF-{16,32}{BE,LE}.
83385         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
83386         * lib/iconv_close.c: New file.
83387         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
83388         gl_FUNC_ICONV_OPEN.
83389         (gl_FUNC_ICONV_OPEN): Use it.
83390         (gl_FUNC_ICONV_OPEN_UTF): New macro.
83391         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
83392         and REPLACE_ICONV_UTF.
83393         * modules/iconv_open (Depends-on): Add c-strcase.
83394         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
83395         ICONV_CONST.
83396         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
83398 2007-10-13  Albert Chin  <china@thewrittenword.com>
83399             Bruno Haible  <bruno@clisp.org>
83401         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
83402         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
83404 2007-10-13  Bruno Haible  <bruno@clisp.org>
83406         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
83407         defined, use the ISO C99 inline semantics.
83408         * lib/argp.h (ARGP_EI): Likewise.
83410 2007-10-13  Bruno Haible  <bruno@clisp.org>
83412         Handle 'inline' change in gcc 4.3.0.
83413         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
83414         argp_fmtstream_write, argp_fmtstream_set_lmargin,
83415         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
83416         argp_fmtstream_point): Disable 'extern' declaration if the function
83417         definition is going to be provided inline.
83418         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
83419         semantics, not the ISO C99 inline semantics.
83420         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
83421         'extern' declaration if the function definition is going to be provided
83422         inline.
83423         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
83424         the GNU C inline semantics, not the ISO C99 inline semantics. With
83425         GCC 4.2, avoid a warning.
83427 2007-10-13  Bruno Haible  <bruno@clisp.org>
83429         * lib/freading.h (freading): Enable the use of __freading for
83430         glibc >= 2.7.
83431         * lib/freading.c (freading): Likewise.
83433 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
83435         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
83436         "warning: C99 inline functions are not supported; using GNU89".
83438 2007-10-12  Bruno Haible  <bruno@clisp.org>
83440         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
83441         of 2.
83442         * tests/test-ceilf2.c: New file.
83443         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
83445         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
83446         * modules/ceilf-tests: Update.
83448 2007-10-12  Bruno Haible  <bruno@clisp.org>
83450         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
83451         of 2.
83452         * tests/test-floorf2.c: New file.
83453         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
83455         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
83456         * modules/floorf-tests: Update.
83458 2007-10-12  Bruno Haible  <bruno@clisp.org>
83460         * tests/test-trunc2.c: New file.
83461         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
83463         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
83464         * modules/trunc-tests: Update.
83466 2007-10-12  Bruno Haible  <bruno@clisp.org>
83468         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
83469         of 2.
83470         * tests/test-truncf2.c: New file.
83471         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
83473         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
83474         * modules/truncf-tests: Update.
83476 2007-10-11  Eric Blake  <ebb9@byu.net>
83478         Don't claim strerror is broken on Interix.
83479         * doc/functions/strerror.texi (strerror): Known broken systems are
83480         now Solaris 8, and not Interix.
83481         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
83482         Interix on cross-compile.
83483         Reported by Martin Koeppe in
83484         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
83486 2007-10-11  Bruno Haible  <bruno@clisp.org>
83488         * modules/i-ring-tests: New file.
83489         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
83490         instead of assert.
83492 2007-10-11  Bruno Haible  <bruno@clisp.org>
83494         * modules/filenamecat-tests: New file.
83495         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
83496         * lib/filenamecat.c: Remove test code.
83498 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
83500         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
83502         * lib/strerror.c: Include <string.h> always, to test interface,
83503         and to remove the need for the dummy.
83504         Include intprops.h to compute width instead of doing it ourselves
83505         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
83506         (strerror): Define it to return NULL if there's no system strerror.
83507         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
83508         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
83509         ancient pre-strerror Unix systems well any more.  Saying "unknown
83510         system error" is enough.
83511         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
83512         simpler strerror.c implementation.
83513         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
83514         Simplify the tests to reflect the simpler strerror implementation.
83515         * modules/strerror (Depends-on): Add intprops.
83517 2007-10-09  Eric Blake  <ebb9@byu.net>
83519         Silence test-fpending.
83520         * modules/fpending-tests (Files): Add wrapper script.
83521         * tests/test-fpending.sh: New file.
83523 2007-10-09  Bruno Haible  <bruno@clisp.org>
83525         * MODULES.html.sh (func_module): Don't create a hyperlink for
83526         function names like 'printf_frexp'.
83527         (Misc): Add crc, memxor.
83528         (Characteristics of floating types): New section.
83529         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
83530         isnanf-nolibm, signbit, trunc, truncf, truncl.
83531         (Enhancements for ISO C 99 functions): New subsection Input/output.
83532         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
83533         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
83534         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
83535         (Compatibility checks for POSIX:2001 functions): Add clock-time.
83536         (Enhancements for POSIX:2001 functions): Add chdir-long.
83537         (File system functions): Add areadlink, chdir-safer, read-file.
83538         Remove cycle-check.
83539         (File system as inode set): New section.
83540         (Date and time): Add gethrxtime.
83541         (Multithreading): Add openmp.
83542         (Internationalization functions): Add localename.
83543         (Unicode string functions): Add unistr/u*-mbsnlen.
83544         (Support for maintaining and releasing projects): Add git-version-gen.
83545         (Lone files): Remove directories.
83547 2007-10-08  Ben Pfaff  <blp@gnu.org>
83549         * lib/xmalloca.h: Fix typo in comment.
83551 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
83553         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
83554         when avoiding problems with integer overflow.  Use a portable test
83555         instead.
83557 2007-10-08  Simon Josefsson  <simon@josefsson.org>
83559         * modules/dummy (License): Change to LGPLv2+.
83560         * modules/float (License): Likewise
83561         * modules/realloc (License): Likewise
83562         * modules/stdlib (License): Likewise
83564 2007-10-07  Bruno Haible  <bruno@clisp.org>
83566         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
83567         * floor.c (TWO_MANT_DIG): Likewise.
83568         * ceil.c (TWO_MANT_DIG): Likewise.
83569         Reported by Ben Pfaff.
83571 2007-10-07  Bruno Haible  <bruno@clisp.org>
83573         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
83574         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
83575         * lib/frexp.c (FUNC): Likewise.
83576         * lib/printf-frexp.h (printf_frexp): Likewise.
83577         * lib/printf-frexpl.h (printf_frexpl): Likewise.
83578         * lib/printf-frexp.c (FUNC): Likewise.
83579         Suggested by Jim Meyering.
83581 2007-10-07  Jim Meyering  <meyering@redhat.com>
83583         Make xnanosleep's integer overflow test more robust.
83584         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
83585         so that gcc-4.3.0 doesn't optimize away this test for overflow.
83587 2007-10-07  Bruno Haible  <bruno@clisp.org>
83589         * NEWS: Mention the license change.
83591         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
83592         abbreviations in the modules files.
83594         Change copyright notice from GPLv2+ to GPLv3+.
83595         * README: Change copyright notice.
83596         * MODULES.html.sh: Likewise.
83597         * build-aux/bootstrap.conf: Likewise.
83598         * build-aux/config.libpath: Likewise.
83599         * build-aux/csharpcomp.sh.in: Likewise.
83600         * build-aux/csharpexec.sh.in: Likewise.
83601         * build-aux/install-reloc: Likewise.
83602         * build-aux/javacomp.sh.in: Likewise.
83603         * build-aux/javaexec.sh.in: Likewise.
83604         * build-aux/ldd.sh.in: Likewise.
83605         * build-aux/reloc-ldflags: Likewise.
83606         * build-aux/relocatable.sh.in: Likewise.
83607         * build-aux/x-to-1.in: Likewise.
83608         * check-module: Likewise.
83609         * config/srclistvars.sh: Likewise.
83610         * gnulib-tool: Likewise.
83611         * lib/acl-internal.h: Likewise.
83612         * lib/acl.c: Likewise.
83613         * lib/acl.h: Likewise.
83614         * lib/acl_entries.c: Likewise.
83615         * lib/areadlink-with-size.c: Likewise.
83616         * lib/areadlink.c: Likewise.
83617         * lib/areadlink.h: Likewise.
83618         * lib/argmatch.c: Likewise.
83619         * lib/argmatch.h: Likewise.
83620         * lib/argp-ba.c: Likewise.
83621         * lib/argp-eexst.c: Likewise.
83622         * lib/argp-fmtstream.c: Likewise.
83623         * lib/argp-fmtstream.h: Likewise.
83624         * lib/argp-fs-xinl.c: Likewise.
83625         * lib/argp-help.c: Likewise.
83626         * lib/argp-namefrob.h: Likewise.
83627         * lib/argp-parse.c: Likewise.
83628         * lib/argp-pin.c: Likewise.
83629         * lib/argp-pv.c: Likewise.
83630         * lib/argp-pvh.c: Likewise.
83631         * lib/argp-xinl.c: Likewise.
83632         * lib/argp.h: Likewise.
83633         * lib/at-func.c: Likewise.
83634         * lib/atanl.c: Likewise.
83635         * lib/backupfile.c: Likewise.
83636         * lib/backupfile.h: Likewise.
83637         * lib/basename.c: Likewise.
83638         * lib/binary-io.h: Likewise.
83639         * lib/byteswap.in.h: Likewise.
83640         * lib/c-stack.c: Likewise.
83641         * lib/c-stack.h: Likewise.
83642         * lib/c-strcasestr.c: Likewise.
83643         * lib/c-strcasestr.h: Likewise.
83644         * lib/c-strstr.c: Likewise.
83645         * lib/c-strstr.h: Likewise.
83646         * lib/c-strtod.c: Likewise.
83647         * lib/calloc.c: Likewise.
83648         * lib/canon-host.c: Likewise.
83649         * lib/canon-host.h: Likewise.
83650         * lib/canonicalize-lgpl.c: Likewise.
83651         * lib/canonicalize.c: Likewise.
83652         * lib/canonicalize.h: Likewise.
83653         * lib/ceil.c: Likewise.
83654         * lib/ceilf.c: Likewise.
83655         * lib/ceill.c: Likewise.
83656         * lib/chdir-long.c: Likewise.
83657         * lib/chdir-long.h: Likewise.
83658         * lib/chdir-safer.c: Likewise.
83659         * lib/chdir-safer.h: Likewise.
83660         * lib/chown.c: Likewise.
83661         * lib/classpath.c: Likewise.
83662         * lib/classpath.h: Likewise.
83663         * lib/clean-temp.c: Likewise.
83664         * lib/clean-temp.h: Likewise.
83665         * lib/cloexec.c: Likewise.
83666         * lib/close-stream.c: Likewise.
83667         * lib/closein.c: Likewise.
83668         * lib/closein.h: Likewise.
83669         * lib/closeout.c: Likewise.
83670         * lib/closeout.h: Likewise.
83671         * lib/concat-filename.c: Likewise.
83672         * lib/copy-file.c: Likewise.
83673         * lib/copy-file.h: Likewise.
83674         * lib/count-one-bits.h: Likewise.
83675         * lib/crc.c: Likewise.
83676         * lib/crc.h: Likewise.
83677         * lib/creat-safer.c: Likewise.
83678         * lib/csharpcomp.c: Likewise.
83679         * lib/csharpcomp.h: Likewise.
83680         * lib/csharpexec.c: Likewise.
83681         * lib/csharpexec.h: Likewise.
83682         * lib/cycle-check.c: Likewise.
83683         * lib/cycle-check.h: Likewise.
83684         * lib/diacrit.c: Likewise.
83685         * lib/diacrit.h: Likewise.
83686         * lib/diffseq.h: Likewise.
83687         * lib/dirchownmod.c: Likewise.
83688         * lib/dirent.in.h: Likewise.
83689         * lib/dirfd.c: Likewise.
83690         * lib/dirfd.h: Likewise.
83691         * lib/dirname.c: Likewise.
83692         * lib/dirname.h: Likewise.
83693         * lib/dummy.c: Likewise.
83694         * lib/dup-safer.c: Likewise.
83695         * lib/dup2.c: Likewise.
83696         * lib/eealloc.h: Likewise.
83697         * lib/error.c: Likewise.
83698         * lib/error.h: Likewise.
83699         * lib/euidaccess.c: Likewise.
83700         * lib/exclude.c: Likewise.
83701         * lib/exclude.h: Likewise.
83702         * lib/execute.c: Likewise.
83703         * lib/execute.h: Likewise.
83704         * lib/exitfail.c: Likewise.
83705         * lib/exitfail.h: Likewise.
83706         * lib/expl.c: Likewise.
83707         * lib/fatal-signal.c: Likewise.
83708         * lib/fatal-signal.h: Likewise.
83709         * lib/fbufmode.c: Likewise.
83710         * lib/fbufmode.h: Likewise.
83711         * lib/fchdir.c: Likewise.
83712         * lib/fchmodat.c: Likewise.
83713         * lib/fchownat.c: Likewise.
83714         * lib/fcntl--.h: Likewise.
83715         * lib/fcntl-safer.h: Likewise.
83716         * lib/fcntl.in.h: Likewise.
83717         * lib/fd-safer.c: Likewise.
83718         * lib/fflush.c: Likewise.
83719         * lib/file-has-acl.c: Likewise.
83720         * lib/file-set.c: Likewise.
83721         * lib/file-type.c: Likewise.
83722         * lib/file-type.h: Likewise.
83723         * lib/fileblocks.c: Likewise.
83724         * lib/filemode.c: Likewise.
83725         * lib/filemode.h: Likewise.
83726         * lib/filename.h: Likewise.
83727         * lib/filenamecat.c: Likewise.
83728         * lib/filenamecat.h: Likewise.
83729         * lib/findprog.c: Likewise.
83730         * lib/findprog.h: Likewise.
83731         * lib/float.in.h: Likewise.
83732         * lib/floor.c: Likewise.
83733         * lib/floorf.c: Likewise.
83734         * lib/floorl.c: Likewise.
83735         * lib/fopen-safer.c: Likewise.
83736         * lib/fopen.c: Likewise.
83737         * lib/fpending.c: Likewise.
83738         * lib/fpending.h: Likewise.
83739         * lib/fprintf.c: Likewise.
83740         * lib/fprintftime.h: Likewise.
83741         * lib/fpucw.h: Likewise.
83742         * lib/fpurge.c: Likewise.
83743         * lib/fpurge.h: Likewise.
83744         * lib/freadable.c: Likewise.
83745         * lib/freadable.h: Likewise.
83746         * lib/freadahead.c: Likewise.
83747         * lib/freadahead.h: Likewise.
83748         * lib/freading.c: Likewise.
83749         * lib/freading.h: Likewise.
83750         * lib/free.c: Likewise.
83751         * lib/freopen.c: Likewise.
83752         * lib/frexp.c: Likewise.
83753         * lib/frexpl.c: Likewise.
83754         * lib/fseek.c: Likewise.
83755         * lib/fseterr.c: Likewise.
83756         * lib/fseterr.h: Likewise.
83757         * lib/fstatat.c: Likewise.
83758         * lib/fstrcmp.c: Likewise.
83759         * lib/fstrcmp.h: Likewise.
83760         * lib/fsusage.c: Likewise.
83761         * lib/fsusage.h: Likewise.
83762         * lib/ftell.c: Likewise.
83763         * lib/ftello.c: Likewise.
83764         * lib/fts-cycle.c: Likewise.
83765         * lib/fts.c: Likewise.
83766         * lib/fts_.h: Likewise.
83767         * lib/full-read.c: Likewise.
83768         * lib/full-read.h: Likewise.
83769         * lib/full-write.c: Likewise.
83770         * lib/full-write.h: Likewise.
83771         * lib/fwritable.c: Likewise.
83772         * lib/fwritable.h: Likewise.
83773         * lib/fwriteerror.c: Likewise.
83774         * lib/fwriteerror.h: Likewise.
83775         * lib/fwriting.c: Likewise.
83776         * lib/fwriting.h: Likewise.
83777         * lib/gcd.c: Likewise.
83778         * lib/gcd.h: Likewise.
83779         * lib/getcwd.c: Likewise.
83780         * lib/getdate.h: Likewise.
83781         * lib/getdate.y: Likewise.
83782         * lib/getdomainname.c: Likewise.
83783         * lib/getdomainname.h: Likewise.
83784         * lib/getgroups.c: Likewise.
83785         * lib/gethostname.c: Likewise.
83786         * lib/gethrxtime.c: Likewise.
83787         * lib/gethrxtime.h: Likewise.
83788         * lib/getloadavg.c: Likewise.
83789         * lib/getndelim2.c: Likewise.
83790         * lib/getndelim2.h: Likewise.
83791         * lib/getnline.c: Likewise.
83792         * lib/getnline.h: Likewise.
83793         * lib/getopt.c: Likewise.
83794         * lib/getopt.in.h: Likewise.
83795         * lib/getopt1.c: Likewise.
83796         * lib/getopt_int.h: Likewise.
83797         * lib/getpagesize.h: Likewise.
83798         * lib/getsubopt.c: Likewise.
83799         * lib/gettime.c: Likewise.
83800         * lib/getugroups.c: Likewise.
83801         * lib/getugroups.h: Likewise.
83802         * lib/getusershell.c: Likewise.
83803         * lib/gl_anyavltree_list1.h: Likewise.
83804         * lib/gl_anyavltree_list2.h: Likewise.
83805         * lib/gl_anyhash_list1.h: Likewise.
83806         * lib/gl_anyhash_list2.h: Likewise.
83807         * lib/gl_anylinked_list1.h: Likewise.
83808         * lib/gl_anylinked_list2.h: Likewise.
83809         * lib/gl_anyrbtree_list1.h: Likewise.
83810         * lib/gl_anyrbtree_list2.h: Likewise.
83811         * lib/gl_anytree_list1.h: Likewise.
83812         * lib/gl_anytree_list2.h: Likewise.
83813         * lib/gl_anytree_oset.h: Likewise.
83814         * lib/gl_anytreehash_list1.h: Likewise.
83815         * lib/gl_anytreehash_list2.h: Likewise.
83816         * lib/gl_array_list.c: Likewise.
83817         * lib/gl_array_list.h: Likewise.
83818         * lib/gl_array_oset.c: Likewise.
83819         * lib/gl_array_oset.h: Likewise.
83820         * lib/gl_avltree_list.c: Likewise.
83821         * lib/gl_avltree_list.h: Likewise.
83822         * lib/gl_avltree_oset.c: Likewise.
83823         * lib/gl_avltree_oset.h: Likewise.
83824         * lib/gl_avltreehash_list.c: Likewise.
83825         * lib/gl_avltreehash_list.h: Likewise.
83826         * lib/gl_carray_list.c: Likewise.
83827         * lib/gl_carray_list.h: Likewise.
83828         * lib/gl_linked_list.c: Likewise.
83829         * lib/gl_linked_list.h: Likewise.
83830         * lib/gl_linkedhash_list.c: Likewise.
83831         * lib/gl_linkedhash_list.h: Likewise.
83832         * lib/gl_list.c: Likewise.
83833         * lib/gl_list.h: Likewise.
83834         * lib/gl_oset.c: Likewise.
83835         * lib/gl_oset.h: Likewise.
83836         * lib/gl_rbtree_list.c: Likewise.
83837         * lib/gl_rbtree_list.h: Likewise.
83838         * lib/gl_rbtree_oset.c: Likewise.
83839         * lib/gl_rbtree_oset.h: Likewise.
83840         * lib/gl_rbtreehash_list.c: Likewise.
83841         * lib/gl_rbtreehash_list.h: Likewise.
83842         * lib/gl_sublist.c: Likewise.
83843         * lib/gl_sublist.h: Likewise.
83844         * lib/group-member.c: Likewise.
83845         * lib/group-member.h: Likewise.
83846         * lib/hard-locale.c: Likewise.
83847         * lib/hard-locale.h: Likewise.
83848         * lib/hash-pjw.c: Likewise.
83849         * lib/hash-pjw.h: Likewise.
83850         * lib/hash-triple.c: Likewise.
83851         * lib/hash.c: Likewise.
83852         * lib/hash.h: Likewise.
83853         * lib/human.c: Likewise.
83854         * lib/human.h: Likewise.
83855         * lib/i-ring.c: Likewise.
83856         * lib/i-ring.h: Likewise.
83857         * lib/idcache.c: Likewise.
83858         * lib/imaxabs.c: Likewise.
83859         * lib/imaxdiv.c: Likewise.
83860         * lib/inet_pton.c: Likewise.
83861         * lib/inet_pton.h: Likewise.
83862         * lib/intprops.h: Likewise.
83863         * lib/inttostr.c: Likewise.
83864         * lib/inttostr.h: Likewise.
83865         * lib/inttypes.in.h: Likewise.
83866         * lib/isapipe.c: Likewise.
83867         * lib/isdir.c: Likewise.
83868         * lib/isnan.c: Likewise.
83869         * lib/isnan.h: Likewise.
83870         * lib/isnanf.c: Likewise.
83871         * lib/isnanf.h: Likewise.
83872         * lib/isnanl-nolibm.h: Likewise.
83873         * lib/isnanl.c: Likewise.
83874         * lib/isnanl.h: Likewise.
83875         * lib/javacomp.c: Likewise.
83876         * lib/javacomp.h: Likewise.
83877         * lib/javaexec.c: Likewise.
83878         * lib/javaexec.h: Likewise.
83879         * lib/javaversion.c: Likewise.
83880         * lib/javaversion.h: Likewise.
83881         * lib/javaversion.java: Likewise.
83882         * lib/lbrkprop.h: Likewise.
83883         * lib/lchmod.h: Likewise.
83884         * lib/lchown.c: Likewise.
83885         * lib/ldexpl.c: Likewise.
83886         * lib/linebreak.c: Likewise.
83887         * lib/linebreak.h: Likewise.
83888         * lib/linebuffer.c: Likewise.
83889         * lib/linebuffer.h: Likewise.
83890         * lib/locale.in.h: Likewise.
83891         * lib/logl.c: Likewise.
83892         * lib/long-options.c: Likewise.
83893         * lib/long-options.h: Likewise.
83894         * lib/lstat.c: Likewise.
83895         * lib/lstat.h: Likewise.
83896         * lib/math.in.h: Likewise.
83897         * lib/mbchar.c: Likewise.
83898         * lib/mbchar.h: Likewise.
83899         * lib/mbfile.h: Likewise.
83900         * lib/mbiter.h: Likewise.
83901         * lib/mbscasecmp.c: Likewise.
83902         * lib/mbscasestr.c: Likewise.
83903         * lib/mbschr.c: Likewise.
83904         * lib/mbscspn.c: Likewise.
83905         * lib/mbslen.c: Likewise.
83906         * lib/mbsncasecmp.c: Likewise.
83907         * lib/mbsnlen.c: Likewise.
83908         * lib/mbspbrk.c: Likewise.
83909         * lib/mbspcasecmp.c: Likewise.
83910         * lib/mbsrchr.c: Likewise.
83911         * lib/mbssep.c: Likewise.
83912         * lib/mbsspn.c: Likewise.
83913         * lib/mbsstr.c: Likewise.
83914         * lib/mbstok_r.c: Likewise.
83915         * lib/mbswidth.c: Likewise.
83916         * lib/mbswidth.h: Likewise.
83917         * lib/mbuiter.h: Likewise.
83918         * lib/memcasecmp.c: Likewise.
83919         * lib/memcasecmp.h: Likewise.
83920         * lib/memchr.c: Likewise.
83921         * lib/memcmp.c: Likewise.
83922         * lib/memcoll.c: Likewise.
83923         * lib/memcoll.h: Likewise.
83924         * lib/memcpy.c: Likewise.
83925         * lib/memrchr.c: Likewise.
83926         * lib/mkancesdirs.c: Likewise.
83927         * lib/mkdir-p.c: Likewise.
83928         * lib/mkdir-p.h: Likewise.
83929         * lib/mkdir.c: Likewise.
83930         * lib/mkdirat.c: Likewise.
83931         * lib/mkdtemp.c: Likewise.
83932         * lib/mkstemp-safer.c: Likewise.
83933         * lib/mkstemp.c: Likewise.
83934         * lib/modechange.c: Likewise.
83935         * lib/modechange.h: Likewise.
83936         * lib/mountlist.c: Likewise.
83937         * lib/mountlist.h: Likewise.
83938         * lib/mpsort.c: Likewise.
83939         * lib/nanosleep.c: Likewise.
83940         * lib/obstack.c: Likewise.
83941         * lib/obstack.h: Likewise.
83942         * lib/open-safer.c: Likewise.
83943         * lib/open.c: Likewise.
83944         * lib/openat-die.c: Likewise.
83945         * lib/openat-priv.h: Likewise.
83946         * lib/openat-proc.c: Likewise.
83947         * lib/openat.c: Likewise.
83948         * lib/openat.h: Likewise.
83949         * lib/pagealign_alloc.c: Likewise.
83950         * lib/pagealign_alloc.h: Likewise.
83951         * lib/physmem.c: Likewise.
83952         * lib/physmem.h: Likewise.
83953         * lib/pipe-safer.c: Likewise.
83954         * lib/pipe.c: Likewise.
83955         * lib/pipe.h: Likewise.
83956         * lib/posixtm.c: Likewise.
83957         * lib/posixtm.h: Likewise.
83958         * lib/posixver.c: Likewise.
83959         * lib/printf-frexp.c: Likewise.
83960         * lib/printf-frexp.h: Likewise.
83961         * lib/printf-frexpl.c: Likewise.
83962         * lib/printf-frexpl.h: Likewise.
83963         * lib/printf.c: Likewise.
83964         * lib/progname.c: Likewise.
83965         * lib/progname.h: Likewise.
83966         * lib/progreloc.c: Likewise.
83967         * lib/putenv.c: Likewise.
83968         * lib/quote.c: Likewise.
83969         * lib/quote.h: Likewise.
83970         * lib/quotearg.c: Likewise.
83971         * lib/quotearg.h: Likewise.
83972         * lib/raise.c: Likewise.
83973         * lib/readline.c: Likewise.
83974         * lib/readline.h: Likewise.
83975         * lib/readlink.c: Likewise.
83976         * lib/readtokens.c: Likewise.
83977         * lib/readtokens.h: Likewise.
83978         * lib/readtokens0.c: Likewise.
83979         * lib/readtokens0.h: Likewise.
83980         * lib/readutmp.c: Likewise.
83981         * lib/readutmp.h: Likewise.
83982         * lib/realloc.c: Likewise.
83983         * lib/relocwrapper.c: Likewise.
83984         * lib/rename-dest-slash.c: Likewise.
83985         * lib/rename.c: Likewise.
83986         * lib/rmdir.c: Likewise.
83987         * lib/rpmatch.c: Likewise.
83988         * lib/safe-read.c: Likewise.
83989         * lib/safe-read.h: Likewise.
83990         * lib/safe-write.c: Likewise.
83991         * lib/safe-write.h: Likewise.
83992         * lib/same-inode.h: Likewise.
83993         * lib/same.c: Likewise.
83994         * lib/same.h: Likewise.
83995         * lib/save-cwd.c: Likewise.
83996         * lib/save-cwd.h: Likewise.
83997         * lib/savedir.c: Likewise.
83998         * lib/savedir.h: Likewise.
83999         * lib/savewd.c: Likewise.
84000         * lib/savewd.h: Likewise.
84001         * lib/search.in.h: Likewise.
84002         * lib/setenv.c: Likewise.
84003         * lib/setenv.h: Likewise.
84004         * lib/settime.c: Likewise.
84005         * lib/sh-quote.c: Likewise.
84006         * lib/sh-quote.h: Likewise.
84007         * lib/sig2str.c: Likewise.
84008         * lib/sig2str.h: Likewise.
84009         * lib/signal.in.h: Likewise.
84010         * lib/signbitd.c: Likewise.
84011         * lib/signbitf.c: Likewise.
84012         * lib/signbitl.c: Likewise.
84013         * lib/sigprocmask.c: Likewise.
84014         * lib/sincosl.c: Likewise.
84015         * lib/sleep.c: Likewise.
84016         * lib/sprintf.c: Likewise.
84017         * lib/sqrtl.c: Likewise.
84018         * lib/stat-time.h: Likewise.
84019         * lib/stdio--.h: Likewise.
84020         * lib/stdio-safer.h: Likewise.
84021         * lib/stdlib--.h: Likewise.
84022         * lib/stdlib-safer.h: Likewise.
84023         * lib/stdlib.in.h: Likewise.
84024         * lib/stpcpy.c: Likewise.
84025         * lib/stpncpy.c: Likewise.
84026         * lib/strchrnul.c: Likewise.
84027         * lib/strcspn.c: Likewise.
84028         * lib/strerror.c: Likewise.
84029         * lib/strftime.c: Likewise.
84030         * lib/strftime.h: Likewise.
84031         * lib/striconveh.c: Likewise.
84032         * lib/striconveh.h: Likewise.
84033         * lib/striconveha.c: Likewise.
84034         * lib/striconveha.h: Likewise.
84035         * lib/stripslash.c: Likewise.
84036         * lib/strnlen1.c: Likewise.
84037         * lib/strnlen1.h: Likewise.
84038         * lib/strtod.c: Likewise.
84039         * lib/strtoimax.c: Likewise.
84040         * lib/strtok_r.c: Likewise.
84041         * lib/strtol.c: Likewise.
84042         * lib/strtoll.c: Likewise.
84043         * lib/strtoul.c: Likewise.
84044         * lib/strtoull.c: Likewise.
84045         * lib/sysexits.in.h: Likewise.
84046         * lib/tempname.c: Likewise.
84047         * lib/tempname.h: Likewise.
84048         * lib/timespec.h: Likewise.
84049         * lib/tls.c: Likewise.
84050         * lib/tls.h: Likewise.
84051         * lib/tmpdir.c: Likewise.
84052         * lib/tmpdir.h: Likewise.
84053         * lib/tmpfile-safer.c: Likewise.
84054         * lib/tmpfile.c: Likewise.
84055         * lib/trigl.c: Likewise.
84056         * lib/trigl.h: Likewise.
84057         * lib/trim.c: Likewise.
84058         * lib/trim.h: Likewise.
84059         * lib/trunc.c: Likewise.
84060         * lib/truncf.c: Likewise.
84061         * lib/truncl.c: Likewise.
84062         * lib/tsearch.c: Likewise.
84063         * lib/unicodeio.c: Likewise.
84064         * lib/unicodeio.h: Likewise.
84065         * lib/unistd--.h: Likewise.
84066         * lib/unistd-safer.h: Likewise.
84067         * lib/unistdio/ulc-fprintf.c: Likewise.
84068         * lib/unistdio/ulc-vfprintf.c: Likewise.
84069         * lib/unlinkdir.c: Likewise.
84070         * lib/unlinkdir.h: Likewise.
84071         * lib/unlocked-io.h: Likewise.
84072         * lib/unsetenv.c: Likewise.
84073         * lib/userspec.c: Likewise.
84074         * lib/utime.c: Likewise.
84075         * lib/utimecmp.c: Likewise.
84076         * lib/utimecmp.h: Likewise.
84077         * lib/utimens.c: Likewise.
84078         * lib/verify.h: Likewise.
84079         * lib/verror.c: Likewise.
84080         * lib/verror.h: Likewise.
84081         * lib/version-etc-fsf.c: Likewise.
84082         * lib/version-etc.c: Likewise.
84083         * lib/version-etc.h: Likewise.
84084         * lib/vfprintf.c: Likewise.
84085         * lib/vprintf.c: Likewise.
84086         * lib/vsprintf.c: Likewise.
84087         * lib/w32spawn.h: Likewise.
84088         * lib/wait-process.c: Likewise.
84089         * lib/wait-process.h: Likewise.
84090         * lib/wcwidth.c: Likewise.
84091         * lib/write-any-file.c: Likewise.
84092         * lib/xalloc-die.c: Likewise.
84093         * lib/xalloc.h: Likewise.
84094         * lib/xasprintf.c: Likewise.
84095         * lib/xgetcwd.c: Likewise.
84096         * lib/xgetcwd.h: Likewise.
84097         * lib/xgetdomainname.c: Likewise.
84098         * lib/xgetdomainname.h: Likewise.
84099         * lib/xgethostname.c: Likewise.
84100         * lib/xmalloc.c: Likewise.
84101         * lib/xmalloca.c: Likewise.
84102         * lib/xmalloca.h: Likewise.
84103         * lib/xmemcoll.c: Likewise.
84104         * lib/xnanosleep.c: Likewise.
84105         * lib/xreadlink.c: Likewise.
84106         * lib/xreadlink.h: Likewise.
84107         * lib/xsetenv.c: Likewise.
84108         * lib/xsetenv.h: Likewise.
84109         * lib/xstriconv.c: Likewise.
84110         * lib/xstriconv.h: Likewise.
84111         * lib/xstrndup.c: Likewise.
84112         * lib/xstrndup.h: Likewise.
84113         * lib/xstrtod.c: Likewise.
84114         * lib/xstrtod.h: Likewise.
84115         * lib/xstrtol-error.c: Likewise.
84116         * lib/xstrtol.c: Likewise.
84117         * lib/xstrtol.h: Likewise.
84118         * lib/xtime.h: Likewise.
84119         * lib/xvasprintf.c: Likewise.
84120         * lib/xvasprintf.h: Likewise.
84121         * lib/yesno.c: Likewise.
84122         * lib/yesno.h: Likewise.
84123         * posix-modules: Likewise.
84124         * tests/test-alloca-opt.c: Likewise.
84125         * tests/test-arcfour.c: Likewise.
84126         * tests/test-arctwo.c: Likewise.
84127         * tests/test-argmatch.c: Likewise.
84128         * tests/test-argp-2.sh: Likewise.
84129         * tests/test-argp.c: Likewise.
84130         * tests/test-arpa_inet.c: Likewise.
84131         * tests/test-array_list.c: Likewise.
84132         * tests/test-array_oset.c: Likewise.
84133         * tests/test-atexit.c: Likewise.
84134         * tests/test-avltree_list.c: Likewise.
84135         * tests/test-avltree_oset.c: Likewise.
84136         * tests/test-avltreehash_list.c: Likewise.
84137         * tests/test-base64.c: Likewise.
84138         * tests/test-binary-io.c: Likewise.
84139         * tests/test-byteswap.c: Likewise.
84140         * tests/test-c-ctype.c: Likewise.
84141         * tests/test-c-strcasecmp.c: Likewise.
84142         * tests/test-c-strcasestr.c: Likewise.
84143         * tests/test-c-strncasecmp.c: Likewise.
84144         * tests/test-c-strstr.c: Likewise.
84145         * tests/test-canonicalize-lgpl.c: Likewise.
84146         * tests/test-canonicalize.c: Likewise.
84147         * tests/test-carray_list.c: Likewise.
84148         * tests/test-ceilf.c: Likewise.
84149         * tests/test-ceill.c: Likewise.
84150         * tests/test-count-one-bits.c: Likewise.
84151         * tests/test-crc.c: Likewise.
84152         * tests/test-dirname.c: Likewise.
84153         * tests/test-fbufmode.c: Likewise.
84154         * tests/test-fcntl.c: Likewise.
84155         * tests/test-fflush.c: Likewise.
84156         * tests/test-floorf.c: Likewise.
84157         * tests/test-floorl.c: Likewise.
84158         * tests/test-fopen.c: Likewise.
84159         * tests/test-fprintf-posix.c: Likewise.
84160         * tests/test-fprintf-posix.h: Likewise.
84161         * tests/test-fpurge.c: Likewise.
84162         * tests/test-freadable.c: Likewise.
84163         * tests/test-freadahead.c: Likewise.
84164         * tests/test-freading.c: Likewise.
84165         * tests/test-freopen.c: Likewise.
84166         * tests/test-frexp.c: Likewise.
84167         * tests/test-frexpl.c: Likewise.
84168         * tests/test-fseek.c: Likewise.
84169         * tests/test-fseeko.c: Likewise.
84170         * tests/test-fseterr.c: Likewise.
84171         * tests/test-fstrcmp.c: Likewise.
84172         * tests/test-ftell.c: Likewise.
84173         * tests/test-ftello.c: Likewise.
84174         * tests/test-fwritable.c: Likewise.
84175         * tests/test-fwriting.c: Likewise.
84176         * tests/test-getaddrinfo.c: Likewise.
84177         * tests/test-getpass.c: Likewise.
84178         * tests/test-gettimeofday.c: Likewise.
84179         * tests/test-hmac-md5.c: Likewise.
84180         * tests/test-hmac-sha1.c: Likewise.
84181         * tests/test-iconv.c: Likewise.
84182         * tests/test-iconvme.c: Likewise.
84183         * tests/test-inttypes.c: Likewise.
84184         * tests/test-isnan.c: Likewise.
84185         * tests/test-isnanf.c: Likewise.
84186         * tests/test-isnanl-nolibm.c: Likewise.
84187         * tests/test-isnanl.c: Likewise.
84188         * tests/test-isnanl.h: Likewise.
84189         * tests/test-ldexpl.c: Likewise.
84190         * tests/test-linked_list.c: Likewise.
84191         * tests/test-linkedhash_list.c: Likewise.
84192         * tests/test-locale.c: Likewise.
84193         * tests/test-localename.c: Likewise.
84194         * tests/test-lock.c: Likewise.
84195         * tests/test-lseek.c: Likewise.
84196         * tests/test-malloca.c: Likewise.
84197         * tests/test-math.c: Likewise.
84198         * tests/test-mbscasecmp.c: Likewise.
84199         * tests/test-mbscasestr1.c: Likewise.
84200         * tests/test-mbscasestr2.c: Likewise.
84201         * tests/test-mbscasestr3.c: Likewise.
84202         * tests/test-mbscasestr4.c: Likewise.
84203         * tests/test-mbschr.c: Likewise.
84204         * tests/test-mbscspn.c: Likewise.
84205         * tests/test-mbsncasecmp.c: Likewise.
84206         * tests/test-mbspbrk.c: Likewise.
84207         * tests/test-mbspcasecmp.c: Likewise.
84208         * tests/test-mbsrchr.c: Likewise.
84209         * tests/test-mbsspn.c: Likewise.
84210         * tests/test-mbsstr1.c: Likewise.
84211         * tests/test-mbsstr2.c: Likewise.
84212         * tests/test-mbsstr3.c: Likewise.
84213         * tests/test-md5.c: Likewise.
84214         * tests/test-memmem.c: Likewise.
84215         * tests/test-netinet_in.c: Likewise.
84216         * tests/test-open.c: Likewise.
84217         * tests/test-printf-frexp.c: Likewise.
84218         * tests/test-printf-frexpl.c: Likewise.
84219         * tests/test-printf-posix.c: Likewise.
84220         * tests/test-printf-posix.h: Likewise.
84221         * tests/test-rbtree_list.c: Likewise.
84222         * tests/test-rbtree_oset.c: Likewise.
84223         * tests/test-rbtreehash_list.c: Likewise.
84224         * tests/test-read-file.c: Likewise.
84225         * tests/test-rijndael.c: Likewise.
84226         * tests/test-search.c: Likewise.
84227         * tests/test-signbit.c: Likewise.
84228         * tests/test-sleep.c: Likewise.
84229         * tests/test-snprintf-posix.c: Likewise.
84230         * tests/test-snprintf-posix.h: Likewise.
84231         * tests/test-snprintf.c: Likewise.
84232         * tests/test-sprintf-posix.c: Likewise.
84233         * tests/test-sprintf-posix.h: Likewise.
84234         * tests/test-stat-time.c: Likewise.
84235         * tests/test-stdbool.c: Likewise.
84236         * tests/test-stdint.c: Likewise.
84237         * tests/test-stdio.c: Likewise.
84238         * tests/test-stdlib.c: Likewise.
84239         * tests/test-stpncpy.c: Likewise.
84240         * tests/test-strcasestr.c: Likewise.
84241         * tests/test-striconv.c: Likewise.
84242         * tests/test-striconveh.c: Likewise.
84243         * tests/test-striconveha.c: Likewise.
84244         * tests/test-string.c: Likewise.
84245         * tests/test-sys_select.c: Likewise.
84246         * tests/test-sys_socket.c: Likewise.
84247         * tests/test-sys_stat.c: Likewise.
84248         * tests/test-sys_time.c: Likewise.
84249         * tests/test-sysexits.c: Likewise.
84250         * tests/test-time.c: Likewise.
84251         * tests/test-tls.c: Likewise.
84252         * tests/test-trunc.c: Likewise.
84253         * tests/test-truncf.c: Likewise.
84254         * tests/test-truncl.c: Likewise.
84255         * tests/test-unistd.c: Likewise.
84256         * tests/test-vasnprintf-posix.c: Likewise.
84257         * tests/test-vasnprintf-posix2.c: Likewise.
84258         * tests/test-vasnprintf.c: Likewise.
84259         * tests/test-vasprintf-posix.c: Likewise.
84260         * tests/test-vasprintf.c: Likewise.
84261         * tests/test-verify.c: Likewise.
84262         * tests/test-vfprintf-posix.c: Likewise.
84263         * tests/test-vprintf-posix.c: Likewise.
84264         * tests/test-vsnprintf-posix.c: Likewise.
84265         * tests/test-vsnprintf.c: Likewise.
84266         * tests/test-vsprintf-posix.c: Likewise.
84267         * tests/test-wchar.c: Likewise.
84268         * tests/test-wctype.c: Likewise.
84269         * tests/test-wcwidth.c: Likewise.
84270         * tests/test-xstrtol.c: Likewise.
84271         * tests/test-xvasprintf.c: Likewise.
84272         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
84273         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
84274         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
84275         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
84276         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
84277         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
84278         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
84279         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
84280         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
84281         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
84282         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
84283         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
84284         * tests/uniname/test-uninames.c: Likewise.
84285         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
84286         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
84287         * tests/unistdio/test-u16-printf1.h: Likewise.
84288         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
84289         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
84290         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
84291         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
84292         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
84293         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
84294         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
84295         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
84296         * tests/unistdio/test-u32-printf1.h: Likewise.
84297         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
84298         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
84299         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
84300         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
84301         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
84302         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
84303         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
84304         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
84305         * tests/unistdio/test-u8-printf1.h: Likewise.
84306         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
84307         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
84308         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
84309         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
84310         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
84311         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
84312         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
84313         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
84314         * tests/unistdio/test-ulc-printf1.h: Likewise.
84315         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
84316         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
84317         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
84318         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
84319         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
84320         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
84321         * tests/uniwidth/test-u16-strwidth.c: Likewise.
84322         * tests/uniwidth/test-u16-width.c: Likewise.
84323         * tests/uniwidth/test-u32-strwidth.c: Likewise.
84324         * tests/uniwidth/test-u32-width.c: Likewise.
84325         * tests/uniwidth/test-u8-strwidth.c: Likewise.
84326         * tests/uniwidth/test-u8-width.c: Likewise.
84327         * tests/uniwidth/test-uc_width.c: Likewise.
84328         * config/srclist-update: Likewise.
84329         (fixlicense): Update to GPLv3+.
84331         Change copyright notice from LGPLv2.1+ to LGPLv3+.
84332         * tests/test-tsearch.c: Change copyright notice.
84334         Change copyright notice from LGPLv2.0+ to LGPLv3+.
84335         * lib/c-strcaseeq.h: Change copyright notice.
84336         * lib/streq.h: Likewise.
84337         * lib/uniconv.h: Likewise.
84338         * lib/uniconv/u-conv-from-enc.h: Likewise.
84339         * lib/uniconv/u-conv-to-enc.h: Likewise.
84340         * lib/uniconv/u-strconv-from-enc.h: Likewise.
84341         * lib/uniconv/u-strconv-to-enc.h: Likewise.
84342         * lib/uniconv/u16-conv-from-enc.c: Likewise.
84343         * lib/uniconv/u16-conv-to-enc.c: Likewise.
84344         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
84345         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
84346         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
84347         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
84348         * lib/uniconv/u32-conv-from-enc.c: Likewise.
84349         * lib/uniconv/u32-conv-to-enc.c: Likewise.
84350         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
84351         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
84352         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
84353         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
84354         * lib/uniconv/u8-conv-from-enc.c: Likewise.
84355         * lib/uniconv/u8-conv-to-enc.c: Likewise.
84356         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
84357         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
84358         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
84359         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
84360         * lib/uniname.h: Likewise.
84361         * lib/uniname/uniname.c: Likewise.
84362         * lib/unistdio.h: Likewise.
84363         * lib/unistdio/u-asnprintf.h: Likewise.
84364         * lib/unistdio/u-asprintf.h: Likewise.
84365         * lib/unistdio/u-printf-args.c: Likewise.
84366         * lib/unistdio/u-printf-args.h: Likewise.
84367         * lib/unistdio/u-printf-parse.h: Likewise.
84368         * lib/unistdio/u-snprintf.h: Likewise.
84369         * lib/unistdio/u-sprintf.h: Likewise.
84370         * lib/unistdio/u-vasprintf.h: Likewise.
84371         * lib/unistdio/u-vsnprintf.h: Likewise.
84372         * lib/unistdio/u-vsprintf.h: Likewise.
84373         * lib/unistdio/u16-asnprintf.c: Likewise.
84374         * lib/unistdio/u16-asprintf.c: Likewise.
84375         * lib/unistdio/u16-printf-parse.c: Likewise.
84376         * lib/unistdio/u16-snprintf.c: Likewise.
84377         * lib/unistdio/u16-sprintf.c: Likewise.
84378         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
84379         * lib/unistdio/u16-u16-asprintf.c: Likewise.
84380         * lib/unistdio/u16-u16-snprintf.c: Likewise.
84381         * lib/unistdio/u16-u16-sprintf.c: Likewise.
84382         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
84383         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
84384         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
84385         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
84386         * lib/unistdio/u16-vasnprintf.c: Likewise.
84387         * lib/unistdio/u16-vasprintf.c: Likewise.
84388         * lib/unistdio/u16-vsnprintf.c: Likewise.
84389         * lib/unistdio/u16-vsprintf.c: Likewise.
84390         * lib/unistdio/u32-asnprintf.c: Likewise.
84391         * lib/unistdio/u32-asprintf.c: Likewise.
84392         * lib/unistdio/u32-printf-parse.c: Likewise.
84393         * lib/unistdio/u32-snprintf.c: Likewise.
84394         * lib/unistdio/u32-sprintf.c: Likewise.
84395         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
84396         * lib/unistdio/u32-u32-asprintf.c: Likewise.
84397         * lib/unistdio/u32-u32-snprintf.c: Likewise.
84398         * lib/unistdio/u32-u32-sprintf.c: Likewise.
84399         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
84400         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
84401         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
84402         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
84403         * lib/unistdio/u32-vasnprintf.c: Likewise.
84404         * lib/unistdio/u32-vasprintf.c: Likewise.
84405         * lib/unistdio/u32-vsnprintf.c: Likewise.
84406         * lib/unistdio/u32-vsprintf.c: Likewise.
84407         * lib/unistdio/u8-asnprintf.c: Likewise.
84408         * lib/unistdio/u8-asprintf.c: Likewise.
84409         * lib/unistdio/u8-printf-parse.c: Likewise.
84410         * lib/unistdio/u8-snprintf.c: Likewise.
84411         * lib/unistdio/u8-sprintf.c: Likewise.
84412         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
84413         * lib/unistdio/u8-u8-asprintf.c: Likewise.
84414         * lib/unistdio/u8-u8-snprintf.c: Likewise.
84415         * lib/unistdio/u8-u8-sprintf.c: Likewise.
84416         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
84417         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
84418         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
84419         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
84420         * lib/unistdio/u8-vasnprintf.c: Likewise.
84421         * lib/unistdio/u8-vasprintf.c: Likewise.
84422         * lib/unistdio/u8-vsnprintf.c: Likewise.
84423         * lib/unistdio/u8-vsprintf.c: Likewise.
84424         * lib/unistdio/ulc-asnprintf.c: Likewise.
84425         * lib/unistdio/ulc-asprintf.c: Likewise.
84426         * lib/unistdio/ulc-printf-parse.c: Likewise.
84427         * lib/unistdio/ulc-snprintf.c: Likewise.
84428         * lib/unistdio/ulc-sprintf.c: Likewise.
84429         * lib/unistdio/ulc-vasnprintf.c: Likewise.
84430         * lib/unistdio/ulc-vasprintf.c: Likewise.
84431         * lib/unistdio/ulc-vsnprintf.c: Likewise.
84432         * lib/unistdio/ulc-vsprintf.c: Likewise.
84433         * lib/unistr.h: Likewise.
84434         * lib/unistr/u-cpy-alloc.h: Likewise.
84435         * lib/unistr/u-cpy.h: Likewise.
84436         * lib/unistr/u-endswith.h: Likewise.
84437         * lib/unistr/u-move.h: Likewise.
84438         * lib/unistr/u-set.h: Likewise.
84439         * lib/unistr/u-startswith.h: Likewise.
84440         * lib/unistr/u-stpcpy.h: Likewise.
84441         * lib/unistr/u-stpncpy.h: Likewise.
84442         * lib/unistr/u-strcat.h: Likewise.
84443         * lib/unistr/u-strcpy.h: Likewise.
84444         * lib/unistr/u-strcspn.h: Likewise.
84445         * lib/unistr/u-strdup.h: Likewise.
84446         * lib/unistr/u-strlen.h: Likewise.
84447         * lib/unistr/u-strncat.h: Likewise.
84448         * lib/unistr/u-strncpy.h: Likewise.
84449         * lib/unistr/u-strnlen.h: Likewise.
84450         * lib/unistr/u-strpbrk.h: Likewise.
84451         * lib/unistr/u-strspn.h: Likewise.
84452         * lib/unistr/u-strstr.h: Likewise.
84453         * lib/unistr/u-strtok.h: Likewise.
84454         * lib/unistr/u16-check.c: Likewise.
84455         * lib/unistr/u16-chr.c: Likewise.
84456         * lib/unistr/u16-cmp.c: Likewise.
84457         * lib/unistr/u16-cpy-alloc.c: Likewise.
84458         * lib/unistr/u16-cpy.c: Likewise.
84459         * lib/unistr/u16-endswith.c: Likewise.
84460         * lib/unistr/u16-mblen.c: Likewise.
84461         * lib/unistr/u16-mbsnlen.c: Likewise.
84462         * lib/unistr/u16-mbtouc-aux.c: Likewise.
84463         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
84464         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
84465         * lib/unistr/u16-mbtouc.c: Likewise.
84466         * lib/unistr/u16-mbtoucr.c: Likewise.
84467         * lib/unistr/u16-move.c: Likewise.
84468         * lib/unistr/u16-next.c: Likewise.
84469         * lib/unistr/u16-prev.c: Likewise.
84470         * lib/unistr/u16-set.c: Likewise.
84471         * lib/unistr/u16-startswith.c: Likewise.
84472         * lib/unistr/u16-stpcpy.c: Likewise.
84473         * lib/unistr/u16-stpncpy.c: Likewise.
84474         * lib/unistr/u16-strcat.c: Likewise.
84475         * lib/unistr/u16-strchr.c: Likewise.
84476         * lib/unistr/u16-strcmp.c: Likewise.
84477         * lib/unistr/u16-strcpy.c: Likewise.
84478         * lib/unistr/u16-strcspn.c: Likewise.
84479         * lib/unistr/u16-strdup.c: Likewise.
84480         * lib/unistr/u16-strlen.c: Likewise.
84481         * lib/unistr/u16-strmblen.c: Likewise.
84482         * lib/unistr/u16-strmbtouc.c: Likewise.
84483         * lib/unistr/u16-strncat.c: Likewise.
84484         * lib/unistr/u16-strncmp.c: Likewise.
84485         * lib/unistr/u16-strncpy.c: Likewise.
84486         * lib/unistr/u16-strnlen.c: Likewise.
84487         * lib/unistr/u16-strpbrk.c: Likewise.
84488         * lib/unistr/u16-strrchr.c: Likewise.
84489         * lib/unistr/u16-strspn.c: Likewise.
84490         * lib/unistr/u16-strstr.c: Likewise.
84491         * lib/unistr/u16-strtok.c: Likewise.
84492         * lib/unistr/u16-to-u32.c: Likewise.
84493         * lib/unistr/u16-to-u8.c: Likewise.
84494         * lib/unistr/u16-uctomb-aux.c: Likewise.
84495         * lib/unistr/u16-uctomb.c: Likewise.
84496         * lib/unistr/u32-check.c: Likewise.
84497         * lib/unistr/u32-chr.c: Likewise.
84498         * lib/unistr/u32-cmp.c: Likewise.
84499         * lib/unistr/u32-cpy-alloc.c: Likewise.
84500         * lib/unistr/u32-cpy.c: Likewise.
84501         * lib/unistr/u32-endswith.c: Likewise.
84502         * lib/unistr/u32-mblen.c: Likewise.
84503         * lib/unistr/u32-mbsnlen.c: Likewise.
84504         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
84505         * lib/unistr/u32-mbtouc.c: Likewise.
84506         * lib/unistr/u32-mbtoucr.c: Likewise.
84507         * lib/unistr/u32-move.c: Likewise.
84508         * lib/unistr/u32-next.c: Likewise.
84509         * lib/unistr/u32-prev.c: Likewise.
84510         * lib/unistr/u32-set.c: Likewise.
84511         * lib/unistr/u32-startswith.c: Likewise.
84512         * lib/unistr/u32-stpcpy.c: Likewise.
84513         * lib/unistr/u32-stpncpy.c: Likewise.
84514         * lib/unistr/u32-strcat.c: Likewise.
84515         * lib/unistr/u32-strchr.c: Likewise.
84516         * lib/unistr/u32-strcmp.c: Likewise.
84517         * lib/unistr/u32-strcpy.c: Likewise.
84518         * lib/unistr/u32-strcspn.c: Likewise.
84519         * lib/unistr/u32-strdup.c: Likewise.
84520         * lib/unistr/u32-strlen.c: Likewise.
84521         * lib/unistr/u32-strmblen.c: Likewise.
84522         * lib/unistr/u32-strmbtouc.c: Likewise.
84523         * lib/unistr/u32-strncat.c: Likewise.
84524         * lib/unistr/u32-strncmp.c: Likewise.
84525         * lib/unistr/u32-strncpy.c: Likewise.
84526         * lib/unistr/u32-strnlen.c: Likewise.
84527         * lib/unistr/u32-strpbrk.c: Likewise.
84528         * lib/unistr/u32-strrchr.c: Likewise.
84529         * lib/unistr/u32-strspn.c: Likewise.
84530         * lib/unistr/u32-strstr.c: Likewise.
84531         * lib/unistr/u32-strtok.c: Likewise.
84532         * lib/unistr/u32-to-u16.c: Likewise.
84533         * lib/unistr/u32-to-u8.c: Likewise.
84534         * lib/unistr/u32-uctomb.c: Likewise.
84535         * lib/unistr/u8-check.c: Likewise.
84536         * lib/unistr/u8-chr.c: Likewise.
84537         * lib/unistr/u8-cmp.c: Likewise.
84538         * lib/unistr/u8-cpy-alloc.c: Likewise.
84539         * lib/unistr/u8-cpy.c: Likewise.
84540         * lib/unistr/u8-endswith.c: Likewise.
84541         * lib/unistr/u8-mblen.c: Likewise.
84542         * lib/unistr/u8-mbsnlen.c: Likewise.
84543         * lib/unistr/u8-mbtouc-aux.c: Likewise.
84544         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
84545         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
84546         * lib/unistr/u8-mbtouc.c: Likewise.
84547         * lib/unistr/u8-mbtoucr.c: Likewise.
84548         * lib/unistr/u8-move.c: Likewise.
84549         * lib/unistr/u8-next.c: Likewise.
84550         * lib/unistr/u8-prev.c: Likewise.
84551         * lib/unistr/u8-set.c: Likewise.
84552         * lib/unistr/u8-startswith.c: Likewise.
84553         * lib/unistr/u8-stpcpy.c: Likewise.
84554         * lib/unistr/u8-stpncpy.c: Likewise.
84555         * lib/unistr/u8-strcat.c: Likewise.
84556         * lib/unistr/u8-strchr.c: Likewise.
84557         * lib/unistr/u8-strcmp.c: Likewise.
84558         * lib/unistr/u8-strcpy.c: Likewise.
84559         * lib/unistr/u8-strcspn.c: Likewise.
84560         * lib/unistr/u8-strdup.c: Likewise.
84561         * lib/unistr/u8-strlen.c: Likewise.
84562         * lib/unistr/u8-strmblen.c: Likewise.
84563         * lib/unistr/u8-strmbtouc.c: Likewise.
84564         * lib/unistr/u8-strncat.c: Likewise.
84565         * lib/unistr/u8-strncmp.c: Likewise.
84566         * lib/unistr/u8-strncpy.c: Likewise.
84567         * lib/unistr/u8-strnlen.c: Likewise.
84568         * lib/unistr/u8-strpbrk.c: Likewise.
84569         * lib/unistr/u8-strrchr.c: Likewise.
84570         * lib/unistr/u8-strspn.c: Likewise.
84571         * lib/unistr/u8-strstr.c: Likewise.
84572         * lib/unistr/u8-strtok.c: Likewise.
84573         * lib/unistr/u8-to-u16.c: Likewise.
84574         * lib/unistr/u8-to-u32.c: Likewise.
84575         * lib/unistr/u8-uctomb-aux.c: Likewise.
84576         * lib/unistr/u8-uctomb.c: Likewise.
84577         * lib/unitypes.h: Likewise.
84578         * lib/uniwidth.h: Likewise.
84579         * lib/uniwidth/cjk.h: Likewise.
84580         * lib/uniwidth/u16-strwidth.c: Likewise.
84581         * lib/uniwidth/u16-width.c: Likewise.
84582         * lib/uniwidth/u32-strwidth.c: Likewise.
84583         * lib/uniwidth/u32-width.c: Likewise.
84584         * lib/uniwidth/u8-strwidth.c: Likewise.
84585         * lib/uniwidth/u8-width.c: Likewise.
84586         * lib/uniwidth/width.c: Likewise.
84588 2007-10-07  Bruno Haible  <bruno@clisp.org>
84590         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
84591         The file is still under LGPL (see modules/inttypes).
84593 2007-10-06  Bruno Haible  <bruno@clisp.org>
84595         * modules/trunc (Dependencies): Add 'extensions'.
84596         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
84597         Reported by Ben Pfaff <blp@gnu.org>.
84599 2007-10-06  Bruno Haible  <bruno@clisp.org>
84601         * modules/freopen-tests: New file.
84602         * tests/test-freopen.c: New file.
84604         * modules/fopen-tests: New file.
84605         * tests/test-fopen.c: New file.
84607         * modules/fopen: New file.
84608         * lib/fopen.c: New file.
84609         * m4/fopen.m4: New file.
84610         * modules/freopen: New file.
84611         * lib/freopen.c: New file.
84612         * m4/freopen.m4: New file.
84613         * lib/stdio.in.h (fopen, freopen): New declarations.
84614         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
84615         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
84616         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
84617         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
84618         * doc/functions/fopen.texi: Mention the 'fopen' module.
84619         * doc/functions/freopen.texi: Mention the 'freopen' module.
84621 2007-10-06  Bruno Haible  <bruno@clisp.org>
84623         * modules/open-tests: New file.
84624         * tests/test-open.c: New file.
84626         * modules/open: New file.
84627         * lib/open.c: New file.
84628         * m4/open.m4: New file.
84629         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
84630         lib/open.c does.
84631         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
84632         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
84633         macros.
84634         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
84635         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
84636         REPLACE_OPEN.
84637         * doc/functions/open.texi: Mention the 'open' module.
84639 2007-10-04  Bruno Haible  <bruno@clisp.org>
84641         * modules/ceill-tests: New file.
84642         * tests/test-ceill.c: New file.
84644         * modules/ceill: New file.
84645         * lib/ceill.c: Replace entire file.
84646         * m4/ceill.m4: New file.
84647         * lib/math.in.h (ceill): Replace declaration.
84648         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
84649         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
84650         * doc/functions/ceill.texi: Mention the 'ceill' module.
84651         * modules/mathl (Files): Remove lib/ceill.c.
84652         (Depends-on): Add ceill.
84654 2007-10-04  Bruno Haible  <bruno@clisp.org>
84656         * modules/ceilf-tests: New file.
84657         * tests/test-ceilf.c: New file.
84659         * modules/ceilf: New file.
84660         * lib/ceil.c: New file.
84661         * lib/ceilf.c: New file.
84662         * m4/ceilf.m4: New file.
84663         * lib/math.in.h (ceilf): New declaration.
84664         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
84665         HAVE_DECL_CEILF.
84666         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
84667         HAVE_DECL_CEILF.
84668         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
84670 2007-10-04  Bruno Haible  <bruno@clisp.org>
84672         * modules/floorl-tests: New file.
84673         * tests/test-floorl.c: New file.
84675         * modules/floorl: New file.
84676         * lib/floorl.c: Replace entire file.
84677         * m4/floorl.m4: New file.
84678         * lib/math.in.h (floorl): Replace declaration.
84679         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
84680         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
84681         * doc/functions/floorl.texi: Mention the 'floorl' module.
84682         * modules/mathl (Files): Remove lib/floorl.c.
84683         (Depends-on): Add floorl.
84685 2007-10-04  Bruno Haible  <bruno@clisp.org>
84687         * modules/floorf-tests: New file.
84688         * tests/test-floorf.c: New file.
84690         * modules/floorf: New file.
84691         * lib/floor.c: New file.
84692         * lib/floorf.c: New file.
84693         * m4/floorf.m4: New file.
84694         * lib/math.in.h (floorf): New declaration.
84695         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
84696         HAVE_DECL_FLOORF.
84697         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
84698         HAVE_DECL_FLOORF.
84699         * doc/functions/floorf.texi: Mention the 'floorf' module.
84701 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
84702             Bruno Haible  <bruno@clisp.org>
84704         Advertise for the Git server instead of the CVS server.
84705         * doc/gnulib-intro.texi (Steady Development): Mention the Git
84706         repository instead of the CVS one.
84707         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
84708         about all VCS systems generically.
84709         * doc/gnulib.texi (Introduction): Capitalize `Git'.
84711 2007-10-04  Bruno Haible  <bruno@clisp.org>
84713         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
84714         means.
84715         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
84717 2007-10-04  Bruno Haible  <bruno@clisp.org>
84719         * modules/truncl-tests: New file.
84720         * tests/test-truncl.c: New file.
84722         * modules/truncl: New file.
84723         * lib/truncl.c: New file.
84724         * m4/truncl.m4: New file.
84725         * lib/math.in.h (truncl): New declaration.
84726         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
84727         HAVE_DECL_TRUNCL.
84728         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
84729         HAVE_DECL_TRUNCL.
84730         * doc/functions/truncl.texi: Mention the 'truncl' module.
84732 2007-10-04  Bruno Haible  <bruno@clisp.org>
84734         * modules/truncf-tests: New file.
84735         * tests/test-truncf.c: New file.
84737         * modules/truncf: New file.
84738         * lib/trunc.c: Make paramerizable through USE_* macros.
84739         * lib/truncf.c: New file.
84740         * m4/truncf.m4: New file.
84741         * lib/math.in.h (truncf): New declaration.
84742         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
84743         HAVE_DECL_TRUNCF.
84744         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
84745         HAVE_DECL_TRUNCF.
84746         * doc/functions/truncf.texi: Mention the 'truncf' module.
84748 2007-10-03  Bruno Haible  <bruno@clisp.org>
84750         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
84751         augmentation also for tests modules.
84752         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
84753         * modules/atexit-tests (Makefile.am): Likewise.
84754         * modules/binary-io-tests (Makefile.am): Likewise.
84755         * modules/c-strcase-tests (Makefile.am): Likewise.
84756         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
84757         * modules/canonicalize-tests (Makefile.am): Likewise.
84758         * modules/closein-tests (Makefile.am): Likewise.
84759         * modules/fprintf-posix-tests (Makefile.am): Likewise.
84760         * modules/freadahead-tests (Makefile.am): Likewise.
84761         * modules/fseek-tests (Makefile.am): Likewise.
84762         * modules/fseeko-tests (Makefile.am): Likewise.
84763         * modules/ftell-tests (Makefile.am): Likewise.
84764         * modules/ftello-tests (Makefile.am): Likewise.
84765         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
84766         * modules/isnanl-tests (Makefile.am): Likewise.
84767         * modules/lseek-tests (Makefile.am): Likewise.
84768         * modules/mbscasecmp-tests (Makefile.am): Likewise.
84769         * modules/mbscasestr-tests (Makefile.am): Likewise.
84770         * modules/mbschr-tests (Makefile.am): Likewise.
84771         * modules/mbscspn-tests (Makefile.am): Likewise.
84772         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
84773         * modules/mbspbrk-tests (Makefile.am): Likewise.
84774         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
84775         * modules/mbsrchr-tests (Makefile.am): Likewise.
84776         * modules/mbsspn-tests (Makefile.am): Likewise.
84777         * modules/mbsstr-tests (Makefile.am): Likewise.
84778         * modules/printf-posix-tests (Makefile.am): Likewise.
84779         * modules/snprintf-posix-tests (Makefile.am): Likewise.
84780         * modules/sprintf-posix-tests (Makefile.am): Likewise.
84781         * modules/tsearch-tests (Makefile.am): Likewise.
84782         * modules/uniname/uniname-tests (Makefile.am): Likewise.
84783         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
84784         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
84785         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
84786         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
84787         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
84788         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
84789         * modules/vprintf-posix-tests (Makefile.am): Likewise.
84790         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
84791         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
84792         * modules/xstrtoimax-tests (Makefile.am): Likewise.
84793         * modules/xstrtol-tests (Makefile.am): Likewise.
84794         * modules/xstrtoumax-tests (Makefile.am): Likewise.
84795         * modules/yesno-tests (Makefile.am): Likewise.
84797 2007-10-03  Bruno Haible  <bruno@clisp.org>
84799         * modules/trunc-tests: New file.
84800         * tests/test-trunc.c: New file.
84802         * modules/trunc: New file.
84803         * lib/trunc.c: New file.
84804         * m4/trunc.m4: New file.
84805         * lib/math.in.h (trunc): New declaration.
84806         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
84807         HAVE_DECL_TRUNC.
84808         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
84809         HAVE_DECL_TRUNC.
84810         * doc/functions/trunc.texi: Mention the 'trunc' module.
84812 2007-10-03  Bruno Haible  <bruno@clisp.org>
84814         * tests/test-fpending.c: New file, mostly copied
84815         from coreutils/lib/t-fpending.c.
84816         * modules/fpending-tests: New file.
84818 2007-10-03  Bruno Haible  <bruno@clisp.org>
84820         Port the stdio extensions to QNX (untested).
84821         * lib/fseterr.c (fseterr): Add support for QNX.
84822         * lib/fbufmode.c (fbufmode): Likewise.
84823         * lib/freadable.c (freadable): Likewise.
84824         * lib/fwritable.c (fwritable): Likewise.
84825         * lib/freading.c (freading): Likewise.
84826         * lib/fwriting.c (fwriting): Likewise.
84827         * lib/freadahead.c (freadahed): Likewise.
84828         * lib/fpurge.c (fpurge): Likewise.
84829         * lib/fseeko.c (rpl_fseeko): Likewise.
84831 2007-10-03  Bruno Haible  <bruno@clisp.org>
84832             Jim Meyering  <jim@meyering.net>
84833             Eric Blake  <ebb9@byu.net>
84835         * doc/relocatable.texi: Use @command instead of @program.
84837 2007-10-02  Jim Meyering  <jim@meyering.net>
84839         Perform one more "_.h" -> ".in.h" substitution.
84840         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
84841         instead of unistd_.h here, too.
84843 2007-10-01  Bruno Haible  <bruno@clisp.org>
84845         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
84846         Needed for the alloca-opt module.
84848 2007-09-30  Bruno Haible  <bruno@clisp.org>
84850         * lib/alloca.in.h: Renamed from lib/alloca_.h.
84851         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
84852         alloca_.h.
84853         * lib/argz.in.h: Renamed from lib/argz_.h.
84854         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
84855         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
84856         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
84857         byteswap_.h.
84858         * lib/dirent.in.h: Renamed from lib/dirent_.h.
84859         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
84860         dirent_.h.
84861         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
84862         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
84863         fcntl_.h.
84864         * lib/float.in.h: Renamed from lib/float_.h.
84865         * modules/float (Files, Makefile.am): Use float.in.h instead of
84866         float_.h.
84867         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
84868         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
84869         fnmatch_.h.
84870         * lib/getopt.in.h: Renamed from lib/getopt_.h.
84871         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
84872         getopt_.h.
84873         * lib/glob.in.h: Renamed from lib/glob_.h.
84874         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
84875         * lib/iconv.in.h: Renamed from lib/iconv_.h.
84876         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
84877         iconv_.h.
84878         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
84879         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
84880         inttypes_.h.
84881         * lib/locale.in.h: Renamed from lib/locale_.h.
84882         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
84883         locale_.h.
84884         * lib/math.in.h: Renamed from lib/math_.h.
84885         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
84886         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
84887         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
84888         of netinet_in_.h. Add dependency.
84889         * lib/poll.in.h: Renamed from lib/poll_.h.
84890         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
84891         * lib/search.in.h: Renamed from lib/search_.h.
84892         * modules/search (Files, Makefile.am): Use search.in.h instead of
84893         search_.h.
84894         * lib/signal.in.h: Renamed from lib/signal_.h.
84895         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
84896         _signal.h.
84897         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
84898         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
84899         stdbool_.h.
84900         * lib/stdint.in.h: Renamed from lib/stdint_.h.
84901         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
84902         stdint_.h.
84903         * lib/stdio.in.h: Renamed from lib/stdio_.h.
84904         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
84905         stdio_.h.
84906         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
84907         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
84908         stdlib_.h.
84909         * lib/string.in.h: Renamed from lib/string_.h.
84910         * modules/string (Files, Makefile.am): Use string.in.h instead of
84911         string_.h.
84912         * doc/gnulib-tool.texi (Initial import): Update.
84913         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
84914         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
84915         of sys_select_.h. Add dependency.
84916         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
84917         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
84918         of sys_socket_.h.
84919         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
84920         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
84921         sys_stat_.h.
84922         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
84923         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
84924         sys_time_.h.
84925         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
84926         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
84927         sysexits_.h.
84928         * lib/time.in.h: Renamed from lib/time_.h.
84929         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
84930         * lib/unistd.in.h: Renamed from lib/unistd_.h.
84931         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
84932         unistd_.h.
84933         * lib/wchar.in.h: Renamed from lib/wchar_.h.
84934         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
84935         wchar_.h.
84936         * lib/wctype.in.h: Renamed from lib/wctype_.h.
84937         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
84938         wctype_.h.
84939         * build-aux/bootstrap (slurp): Update.
84940         * lib/.cppi-disable: Update.
84942 2007-09-30  Bruno Haible  <bruno@clisp.org>
84944         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
84945         Needed on BeOS.
84947 2007-09-30  Bruno Haible  <bruno@clisp.org>
84949         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
84951 2007-09-29  Bruno Haible  <bruno@clisp.org>
84953         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
84955 2007-09-29  Bruno Haible  <bruno@clisp.org>
84957         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
84958         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
84959         * build-aux/install-reloc: Compile also areadlink.c.
84960         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
84962 2007-09-29  Bruno Haible  <bruno@clisp.org>
84964         * gnulib-tool (func_emit_initmacro_done): Indentation.
84966 2007-09-29  Bruno Haible  <bruno@clisp.org>
84968         * README: Add CVS checkout update instructions.
84969         Info from Bob Proulx <bob@proulx.com>.
84971 2007-09-28  Eric Blake  <ebb9@byu.net>
84973         Provide move-if-change.
84974         * build-aux/move-if-change: New file, based on best practice
84975         rather than any canonical upstream location.
84977 2007-09-28  Jim Meyering  <jim@meyering.net>
84979         Fix canonicalize loop-detection corner case.
84980         Do not attempt to stat the symlink values stored via seen_triple.
84981         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
84982         on linux-2.6.18, (but not 2.6.22).
84983         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
84984         triple_compare.  The former compares dev,ino,filename, while the latter
84985         would actually stat dirname(filename) when dev and ino were equal.
84986         * lib/hash-triple.c: Install <string.h>.
84987         (STREQ): Define.
84988         (triple_compare_ino_str): New function.
84989         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
84991 2007-09-28  Eric Blake  <ebb9@byu.net>
84993         Enforce that AC_REPLACE_FUNCS files exist.
84994         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
84995         override check for typos.
84997         Fix test-closein on Solaris 10.
84998         * tests/test-closein.c (main): Don't assume stdin can be inherited
84999         closed on all systems.
85000         * tests/test-closein.sh: Likewise.
85001         Reported by Piotr Tarnowski.
85003 2007-09-28  Jim Meyering  <jim@meyering.net>
85005         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
85007 2007-09-27  Jim Meyering  <jim@meyering.net>
85009         canonicalize: Avoid a false-positive cycle failure.
85010         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
85011         Sort.  Remove cycle-check.
85012         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
85013         not cycle-check.h.
85014         (seen_triple): New function.
85015         (canonicalize_filename_mode): Use it instead of cycle-check.
85016         * tests/test-canonicalize.c: Add a test for this bug.
85017         * tests/test-canonicalize.sh: Set up and run the test.
85019         New module, file-set, from coreutils.
85020         * modules/file-set: Define it.
85021         * lib/file-set.c, lib/file-set.h: Implement.
85023         New module, hash-triple, from coreutils.
85024         * modules/hash-triple: Define it.
85025         * lib/hash-triple.c, lib/hash-triple.h: Implement.
85027 2007-09-25  Eric Blake  <ebb9@byu.net>
85029         Fix strerror on Interix.
85030         * lib/string_.h (strerror): Declare replacement.
85031         * doc/functions/strerror.texi (strerror): Document the Interix
85032         shortcoming.
85033         * modules/string (Makefile.am): Support new hooks.
85034         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
85035         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
85036         gl_FUNC_STRERROR_SEPARATE.
85037         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
85038         * lib/strerror.c (rpl_strerror): Provide replacement.
85039         * modules/strerror (Depends-on): Add string.
85040         (configure.ac): Detect use of module.
85041         * tests/test-strerror.c: New file.
85042         * modules/strerror-tests: New test module.
85043         * modules/argp (Depends-on): Add strerror.
85044         * modules/error (Depends-on): Likewise.
85045         Reported by Martin Koeppe.
85047 2007-09-24  Bruno Haible  <bruno@clisp.org>
85049         * README: Update git instructions.
85051 2007-09-24  Eric Blake  <ebb9@byu.net>
85053         Revert fpending breakage from 2007-09-08.
85054         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
85055         __fpending.c.
85057 2007-09-24  Jim Meyering  <jim@meyering.net>
85059         filenamecat.c: Add a test.
85060         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
85061         showing how the function works when DIR is the empty string.
85063 2007-09-21  Simon Josefsson  <simon@josefsson.org>
85065         * tests/test-canonicalize.sh: Turn on executable bit.
85067 2007-09-19  Eric Blake  <ebb9@byu.net>
85069         * README: Update CVS instructions.
85071 2007-09-18  Bruno Haible  <bruno@clisp.org>
85073         * modules/areadlink: New file.
85074         * lib/areadlink.h (areadlink): New declaration.
85075         * lib/areadlink.c: New file, based on lib/xreadlink.c.
85077 2007-09-17  Jim Meyering  <jim@meyering.net>
85079         * lib/savewd.c (ESTALE) [!defined]: Define.
85080         Reported to be required on Interix by Martin Koeppe.
85082 2007-09-17  Bruno Haible  <bruno@clisp.org>
85084         * gnulib-tool (func_version): Use $version.
85086 2007-09-16  Bruno Haible  <bruno@clisp.org>
85088         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
85089         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
85090         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
85091         Reported by Greg Schafer <gschafer@zip.com.au>.
85093 2007-09-15  Bruno Haible  <bruno@clisp.org>
85095         * gnulib-tool (sed): Try a little harder to make bash understand the
85096         alias.
85097         Reported by Bruce Korb <bruce.korb@gmail.com>.
85099 2007-09-13  Eric Blake  <ebb9@byu.net>
85101         * ChangeLog: Remove conflict markers.
85103 2007-09-13  Simon Josefsson  <simon@josefsson.org>
85105         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
85106         Reported by Bruno Haible <bruno@clisp.org>.
85108 2007-09-12  Bruno Haible  <bruno@clisp.org>
85110         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
85111         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
85112         is not defined.
85114 2007-09-12  Eric Blake  <ebb9@byu.net>
85116         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
85117         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
85118         Autoconf definition.
85119         * modules/euidaccess (Depends-on): Add extensions, for
85120         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
85121         * modules/fnmatch (Depends-on): Likewise.
85122         * modules/getaddrinfo (Depends-on): Likewise.
85123         * modules/getdelim (Depends-on): Likewise.
85124         * modules/getline (Depends-on): Likewise.
85125         * modules/getsubopt (Depends-on): Likewise.
85126         * modules/gettext (Depends-on): Likewise.
85127         * modules/group-member (Depends-on): Likewise.
85128         * modules/mbchar (Depends-on): Likewise.
85129         * modules/memmem (Depends-on): Likewise.
85130         * modules/mempcpy (Depends-on): Likewise.
85131         * modules/memrchr (Depends-on): Likewise.
85132         * modules/pagealign_alloc (Depends-on): Likewise.
85133         * modules/readutmp (Depends-on): Likewise.
85134         * modules/stpcpy (Depends-on): Likewise.
85135         * modules/stpncpy (Depends-on): Likewise.
85136         * modules/strchrnul (Depends-on): Likewise.
85137         * modules/strndup (Depends-on): Likewise.
85138         * modules/strsep (Depends-on): Likewise.
85139         * modules/strverscmp (Depends-on): Likewise.
85140         * modules/vasprintf (Depends-on): Likewise.
85141         * modules/wcwidth (Depends-on): Likewise.
85142         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
85143         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
85144         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
85145         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
85146         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
85147         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
85148         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
85149         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
85150         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
85151         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
85152         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
85153         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
85154         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
85155         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
85156         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
85157         * m4/readutmp.m4 (gl_READUTMP): Likewise.
85158         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
85159         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
85160         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
85161         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
85162         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
85163         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
85164         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
85165         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
85166         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
85167         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
85168         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
85169         so that lock.m4 can be used in gettext without extensions module.
85171 2007-09-11  Bruno Haible  <bruno@clisp.org>
85173         * m4/isc-posix.m4: Remove file.
85174         Suggested by Eric Blake.
85176 2007-09-11  Eric Blake  <ebb9@byu.net>
85178         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
85180 2007-09-10  Bruno Haible  <bruno@clisp.org>
85182         * posix-modules: Fix typo in error message.
85183         Reported by Matt <mkraai@beckman.com>.
85185 2007-09-09  Bruno Haible  <bruno@clisp.org>
85187         * doc/functions/getdelim.texi: Update list of platforms lacking the
85188         function.
85189         * doc/functions/getline.texi: Likewise.
85191 2007-09-09  Jim Meyering  <jim@meyering.net>
85193         * lib/hash.c (hash_initialize): Detect calloc failure.
85194         Reported by Bruno Haible.
85196 2007-09-09  Bruno Haible  <bruno@clisp.org>
85198         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
85199         malloc or realloc fails.
85201 2007-09-09  Bruno Haible  <bruno@clisp.org>
85203         * modules/getcwd (Depends-on): Add malloc-posix.
85204         * modules/glob (Depends-on): Likewise.
85205         * modules/putenv (Depends-on): Likewise.
85206         * modules/strdup (Depends-on): Likewise.
85207         * modules/getdelim (Depends-on): Add realloc-posix.
85208         * modules/read-file (Depends-on): Likewise.
85210 2007-09-09  Bruno Haible  <bruno@clisp.org>
85212         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
85213         (gl_FUNC_MALLOC_POSIX): Require it.
85214         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
85215         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
85216         * modules/realloc (Files): Add m4/malloc.m4.
85217         * modules/calloc (Files): Likewise.
85219 2007-09-09  Bruno Haible  <bruno@clisp.org>
85221         * modules/malloc-posix: New file.
85222         * modules/malloc (Depends-on): Add malloc-posix.
85223         * lib/malloc.c: Include errno.h.
85224         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
85225         and a POSIX-compatible malloc into a single function. Set ENOMEM
85226         when returning NULL.
85227         * m4/malloc.m4: New file.
85228         * doc/functions/malloc.texi: Mention the malloc-posix module.
85229         * lib/stdlib_.h (malloc): New declaration.
85230         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
85231         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
85232         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
85233         and HAVE_MALLOC_POSIX.
85235 2007-09-09  Bruno Haible  <bruno@clisp.org>
85237         * modules/realloc-posix: New file.
85238         * modules/realloc (Depends-on): Add realloc-posix.
85239         * lib/realloc.c: Include errno.h.
85240         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
85241         and a POSIX-compatible realloc into a single function. Set ENOMEM
85242         when returning NULL.
85243         * m4/realloc.m4: New file.
85244         * doc/functions/realloc.texi: Mention the realloc-posix module.
85245         * lib/stdlib_.h (realloc): New declaration.
85246         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
85247         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
85248         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
85249         and HAVE_REALLOC_POSIX.
85251 2007-09-09  Bruno Haible  <bruno@clisp.org>
85253         * modules/calloc-posix: New file.
85254         * modules/calloc (Depends-on): Add calloc-posix.
85255         * lib/calloc.c: Include errno.h.
85256         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
85257         and a POSIX-compatible calloc into a single function. Set ENOMEM
85258         when returning NULL.
85259         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
85260         * doc/functions/calloc.texi: Mention the calloc-posix module.
85261         * lib/stdlib_.h (calloc): New declaration.
85262         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
85263         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
85264         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
85265         and HAVE_CALLOC_POSIX.
85267 2007-09-09  Bruno Haible  <bruno@clisp.org>
85269         Allow for modules to show an arbitrary notice.
85270         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
85271         * gnulib-tool: New option --extract-notice.
85272         (func_usage): Document it.
85273         (sed_extract_prog): Update.
85274         (func_get_notice): New function.
85275         (func_modules_notice): New function.
85276         (func_import, func_create_testdir): Invoke it.
85277         Suggested by Jim Meyering.
85279 2007-09-09  Bruno Haible  <bruno@clisp.org>
85281         * gnulib-tool: New options --verbose, --quiet.
85282         (func_usage): Document them.
85283         (verbose): New variable.
85284         (func_execute_command): New function.
85285         (func_import): Don't show the module list and the file list if
85286         $verbose < 0.
85287         (func_create_testdir): Likewise. Use func_execute_command.
85288         (func_create_megatestdir): Use func_execute_command.
85290 2007-09-08  Bruno Haible  <bruno@clisp.org>
85292         * gnulib-tool (func_import): Prefer rsync over wget when available,
85293         for fetching the PO files.
85295 2007-09-08  Bruno Haible  <bruno@clisp.org>
85297         * posix-modules: New file. Portions copied from gnulib-tool.
85298         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
85300 2007-09-08  Jim Meyering  <jim@meyering.net>
85302         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
85303         * lib/fpending.h: Rename from __fpending.h.
85304         * lib/fpending.c: Rename from __fpending.c.
85305         Include "fpending.h", not "__fpending.h".
85306         * lib/__fpending.h, lib/__fpending.c: Remove files.
85307         * modules/fpending (Files): Reflect new file names.
85308         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
85310 2007-09-08  Bruno Haible  <bruno@clisp.org>
85312         * m4/inttypes-h.m4: Remove stub file.
85314 2007-09-07  Simon Josefsson  <simon@josefsson.org>
85316         * doc/headers/stdint.texi: Discuss #include_next issue.
85318 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85320         * build-aux/bootstrap: Remove obsolete comment about wget --help.
85322 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85324         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
85325         in variable name.
85327 2007-09-03  Jim Meyering  <jim@meyering.net>
85329         New module: git-version-gen.
85330         * modules/git-version-gen: New file.
85332         Import changes from coreutils for bootstrap script.
85334         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
85336         bootstrap: uses rsync to download the .po files
85337         * build-aux/bootstrap (po_download_command_format): New global.
85338         (download_po_files): Use rsync.
85339         (update_po_files): Don't remove .po files after download,
85340         so future rsync runs can take advantage of the copies.
85342         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
85344         Solve the unnecessary-.po-file-regeneration problem once and for all.
85345         * build-aux/bootstrap (download_po_files): New function, renamed from
85346         get_translations.  Now, downloads, but doesn't update LINGUAS.
85347         (update_po_files): New function.
85349         bootstrap: Ignore more.
85350         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
85351         uniwidth to e.g., lib/.gitignore.
85352         (slurp): Handle the sys_stat_.h -> sys mapping, too.
85354         * build-aux/bootstrap: New setting: vc_ignore.
85355         (insert_sorted_if_absent): Create $file if absent.
85356         Adapt to new, possibly empty, list: $vc_ignore.
85358         bootstrap: generate more ignorable names
85359         * build-aux/bootstrap (slurp): When generating ignorable names,
85360         also map .sin to .sed, .gperf to .c, and .y to .c.
85362 2007-09-03  Jim Meyering  <jim@meyering.net>
85364         * build-aux/git-version-gen: New file, from coreutils.  For details, see
85365         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
85367 2007-09-02  Bruno Haible  <bruno@clisp.org>
85369         Fix mis-recognition of 'mcs' on QNX 6.
85370         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
85371         output contains the string "Mono".
85372         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
85373         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
85375 2007-09-01  Bruno Haible  <bruno@clisp.org>
85377         Fix collision between uniwidth/* and linebreak modules.
85378         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
85379         u32_width): Remove declarations.
85380         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
85381         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
85382         streq3, streq2, streq1, streq0): Remove functions.
85383         (STREQ): Remove macro.
85384         (is_cjk_encoding): Remove function.
85385         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
85386         (uc_width, u8_width, u16_width, u32_width): Remove functions.
85387         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
85388         * NEWS: Document the change.
85390 2007-09-01  Bruno Haible  <bruno@clisp.org>
85392         * lib/streq.h: Add double-inclusion guard.
85394 2007-09-01  Karl Berry  <karl@gnu.org>
85396         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
85398 2007-08-28  Jim Meyering  <jim@meyering.net>
85400         Rename mreadlink_with_size to areadlink_with_size.
85401         * NEWS: Document the change.
85402         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
85403         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
85404         * lib/mreadlink.h: Rename this to...
85405         * lib/areadlink.h: ...this.
85406         * modules/mreadlink-with-size: Rename this to...
85407         * modules/areadlink-with-size: ...this.
85408         * lib/canonicalize.c: Reflect the renaming.
85409         * modules/canonicalize: Likewise.
85411 2007-08-26  Bruno Haible  <bruno@clisp.org>
85413         * gnulib-tool (func_import): When deciding which files to remove,
85414         consider also dangling symbolic links.
85415         Reported by Eric Blake.
85417 2007-08-26  Bruno Haible  <bruno@clisp.org>
85419         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
85421 2007-08-23  Simon Josefsson  <simon@josefsson.org>
85423         * lib/readline.c: Don't include getline.h, the prototype is now
85424         found in stdio.h.
85426 2007-08-23  Jim Meyering  <jim@meyering.net>
85428         Getdelim touchup.
85429         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
85430         around the funlockfile call, since funlockfile never sets errno.
85431         Don't set errno upon failed realloc.
85433 2007-08-22  Eric Blake  <ebb9@byu.net>
85435         Getline touchups.
85436         * lib/getdelim.c (getdelim): Revert regression that required *n to
85437         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
85438         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
85439         getdelim, rather than whether implementation is missing.
85440         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
85441         * lib/stdio_.h (getline): Also declare if replacement is
85442         required.
85443         * doc/functions/getdelim.texi: New file.
85444         * doc/functions/getline.texi: Likewise.
85445         * doc/gnulib.texi (Function Substitutes): Add new files.
85446         Reported by Bruno Haible.
85448 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
85450         * users.txt: Add Guile.
85452 2007-08-22  Eric Blake  <ebb9@byu.net>
85454         * tests/test-getdelim.c (main): Use remove, not unlink.
85455         * tests/test-getline.c (main): Likewise.
85457         Move getline and getdelim into stdio.h, per POSIX 200x.
85458         * modules/getline (Files): Remove getline.h.
85459         (Depends-on): Add stdio.
85460         (configure.ac): Add module indicator.
85461         * modules/getdelim (Files): Remove getdelim.h.
85462         (Depends-on): Add stdio.
85463         (configure.ac): Add module indicator.
85464         * modules/stdio (Makefile.am): Work with new indicators.
85465         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
85466         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
85467         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
85468         * lib/getdelim.h: Delete.
85469         * lib/getline.h: Delete.
85470         * lib/stdio_.h (getdelim, getline): Declare.
85471         * modules/getdelim-tests: New module.
85472         * modules/getline-tests: Likewise.
85473         * tests/test-getdelim.c: New file.
85474         * tests/test-getline.c: Likewise.
85475         * NEWS: Document the change.
85476         * lib/getline.c: Update choice of header.
85477         * lib/csharpcomp.c: Likewise.
85478         * lib/getpass.c: Likewise.
85479         * lib/javacomp.c: Likewise.
85480         * lib/javaversion.c: Likewise.
85481         * lib/yesno.c: Likewise.
85482         * lib/getdelim.c: Likewise.
85483         (getdelim): Set errno on failure, and avoid memory leak.
85485 2007-08-19  Bruno Haible  <bruno@clisp.org>
85487         * modules/closein (Depends-on): Add freadahead.
85488         * lib/closein.c: Include freadahead.h.
85489         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
85490         is zero.
85492 2007-08-19  Bruno Haible  <bruno@clisp.org>
85494         * modules/freadahead-tests: New file.
85495         * tests/test-freadahead.sh: New file.
85496         * tests/test-freadahead.c: New file.
85498         * modules/freadahead: New file.
85499         * lib/freadahead.h: New file.
85500         * lib/freadahead.c: New file.
85501         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
85502         fbufmode, fpurge, freadable, fwritable.
85504 2007-08-19  Eric Blake  <ebb9@byu.net>
85506         Test yesno in combination with closein.
85507         * lib/yesno.c (yesno): Document use of stdin.
85508         * modules/yesno-tests (Files): New module.
85509         * tests/test-yesno.c (main): New file.
85510         * tests/test-yesno.sh: Likewise.
85512 2007-08-19  Bruno Haible  <bruno@clisp.org>
85514         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
85515         * lib/fseeko.c (rpl_fseeko): Likewise.
85516         * lib/fseterr.c (fseterr): Likewise.
85518 2007-08-19  Bruno Haible  <bruno@clisp.org>
85520         * tests/test-lseek.c (main): Disable a test for BeOS.
85521         * doc/functions/lseek.texi: Document the BeOS bug.
85523 2007-08-19  Bruno Haible  <bruno@clisp.org>
85524             Eric Blake  <ebb9@byu.net>
85526         * lib/lseek.c: Include <sys/stat.h>.
85527         (rpl_lseek): Add workaround code also for Unix platforms.
85528         Needed for BeOS.
85529         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
85530         * doc/functions/lseek.texi: Document BeOS definiency.
85532 2007-08-18  Bruno Haible  <bruno@clisp.org>
85534         * modules/fstrcmp-tests: New file.
85535         * tests/test-fstrcmp.c: New file.
85537 2007-08-18  Bruno Haible  <bruno@clisp.org>
85539         * modules/fstrcmp: New file, from GNU gettext with modifications.
85540         * lib/fstrcmp.h: New file, from GNU gettext.
85541         * lib/fstrcmp.c: New file, from GNU gettext.
85542         * MODULES.html.sh (String handling): Add fstrcmp.
85544 2007-08-18  Bruno Haible  <bruno@clisp.org>
85546         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
85547         'bool'.
85548         (diag, compareseq): Remove const from the ctxt argument.
85549         (USE_HEURISTIC): Undefine at the end.
85551 2007-08-18  Jim Meyering  <jim@meyering.net>
85553         New file: lib/idcache.h
85554         * NEWS: Mention the addition.
85555         * modules/idcache (Files): Add lib/idcache.h
85556         * lib/idcache.c: Include "idcache.h".
85557         Don't include <sys/types.h>.
85558         Add a FIXME comment.
85559         Move file-scoped "static" declarations to the top.
85560         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
85562 2007-08-17  Bruno Haible  <bruno@clisp.org>
85563         and Paul Eggert  <eggert@cs.ucla.edu>
85565         * MODULES.html.sh: Add diffseq.
85566         * modules/diffseq: New file.
85567         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
85568         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
85570 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
85572         Import changes from coreutils for bootstrap script.
85574         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
85576         * build-aux/bootstrap (slurp): Work even in environments where
85577         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
85578         current code does not slurp files whose names start with ".", and
85579         this looks like it might be a troublesome area.
85581         2007-07-11  Jim Meyering  <jim@meyering.net>
85583         If there's a GPL vN copyright comment, require that N == 3.
85585         2007-07-08  Jim Meyering  <jim@meyering.net>
85587         Run the coreutils-specific code only if tests/Makefile.am.in exists.
85588         * build-aux/bootstrap (mam_template): Move definition out of loop.
85590         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
85592         * build-aux/bootstrap (symlink_to_dir): Rename function from
85593         symlink_to_gnulib.  Add a directory parameter.  Update all
85594         callers.
85595         (cp_mark_as_generated): Also check for -- and link to -- files in
85596         gl/.
85598         2007-07-08  Jim Meyering  <jim@meyering.net>
85600         Adapt to deeper hierarchy in gnulib.
85601         * build-aux/bootstrap (symlink_to_dir): If the destination
85602         directory doesn't exist, create it. This is required at least for
85603         "lib/uniwidth/cjk.h".
85605         2007-05-15  Jim Meyering  <jim@meyering.net>
85607         * build-aux/bootstrap: Now that generated Makefile.am files
85608         are no longer under version control, they must be created at
85609         bootstrap time.
85611 2007-08-14  Ben Pfaff  <blp@gnu.org>
85613         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
85615 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
85617         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
85618         given the changes below.
85619         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
85620         even on hosts that have padding bits beyond the supported 64.
85622 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
85624         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
85625         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
85626         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
85627         depends on it.
85628         (xstrtol_error): Remove.
85629         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
85630         but with a different signature.
85631         (ATTRIBUTE_NORETURN, __attribute__): New macros.
85632         * lib/xstrtol-error.c: Include exitfail.h.
85633         (xstrtol_fatal): New function, with a different signature from the
85634         old xstrtol_error, so that the caller need not worry about passing
85635         in an exit status, or about storage management of the option argument.
85636         (xstrtol_error): Now a static function.  Redo signature to
85637         implement xstrtol_fatal.  Output the correct number of hyphens in
85638         front of the option so that the caller need not worry about
85639         storage management.
85640         (N_): New macro.
85641         (_): Remove; not used now.
85642         * modules/xstrtol: Depend on getopt.
85643         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
85644         of old STRTOL_FATAL_ERROR macro.
85645         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
85646         of test program.
85647         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
85648         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
85650 2007-08-08  Eric Blake  <ebb9@byu.net>
85652         * lib/xstrtol-error.c: Add missing include.
85654         Move xstrtol messages into gnulib domain, when --pobase is used.
85655         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
85656         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
85657         * modules/xstrtol (Files): Distribute new file.
85658         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
85659         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
85660         * tests/test-xstrtol.c: ...into new file.
85661         * tests/test-xstrtoul.c: Also test xstrtoul.
85662         * tests/test-xstrtoimax.c: Also test xstrtoimax.
85663         * tests/test-xstrtoumax.c: Also test xstrtoumax.
85664         * tests/test-xstrtol.sh: Drive the tests.
85665         * tests/test-xstrtoimax.sh: Likewise.
85666         * tests/test-xstrtoumax.sh: Likewise.
85667         * modules/xstrtol-tests: New module.
85668         * modules/xstrtoimax-tests: Likewise.
85669         * modules/xstrtoumax-tests: Likewise.
85671 2007-08-08  Jim Meyering  <jim@meyering.net>
85673         New function: mfile_name_concat.
85674         * lib/filenamecat.c (mfile_name_concat): New function, just like
85675         file_name_concat, but return NULL upon failure rather than exiting
85676         with a diagnostic.
85677         * lib/filenamecat.h: Declare it.
85679 2007-08-07  Bruno Haible  <bruno@clisp.org>
85681         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
85682         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
85683         warning from gcc.
85684         Reported by Eric Blake.
85686 2007-08-07  Simon Josefsson  <simon@josefsson.org>
85688         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
85689         * modules/crypto/arcfour (License): Likewise.
85690         * modules/crypto/des-tests (License): Likewise.
85691         * modules/crypto/gc-arctwo-tests (License): Likewise.
85692         * modules/crypto/gc-des-tests (License): Likewise.
85693         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
85694         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
85695         * modules/crypto/gc-md2-tests (License): Likewise.
85696         * modules/crypto/gc-md4-tests (License): Likewise.
85697         * modules/crypto/gc-md5-tests (License): Likewise.
85698         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
85699         * modules/crypto/gc-rijndael-tests (License): Likewise.
85700         * modules/crypto/gc-sha1-tests (License): Likewise.
85701         * modules/crypto/gc-tests (License): Likewise.
85702         * modules/crypto/hmac-md5 (License): Likewise.
85703         * modules/crypto/hmac-sha1 (License): Likewise.
85704         * modules/crypto/md2-tests (License): Likewise.
85705         * modules/crypto/md4-tests (License): Likewise.
85706         * modules/crypto/md5 (License): Likewise.
85707         * modules/crypto/rijndael (License): Likewise.
85708         * modules/crypto/sha1 (License): Likewise.
85709         * modules/memxor (License): Likewise.
85711 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85712         and Bruno Haible  <bruno@clisp.org>
85714         * NEWS: Describe interface changes to human, xstrtol.
85715         * lib/human.h: Include <xstrtol.h>.
85716         (human_options): Return enum strtol_error, not int.  Remove
85717         bool arg; take int * instead.
85718         * lib/human.c: Don't include "gettext.h".
85719         (_): Remove; no longer used.
85720         Don't include <xstrtol.h>, since human.h does it.
85721         (human_options): Adjust to abovementioned interface changes.
85722         Do not report error to stderr; that's now the caller's
85723         responsibility.
85724         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
85725         interface change.
85726         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
85727         Str, Argument_type_string.  All uses changed.  Put " argument"
85728         in diagnostics to make them clearer.  Change wording of suffix
85729         message for clarity.
85730         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
85731         Argument_type_string.
85732         (STRTOL_FATAL_WARN): Remove; no longer used.
85733         * modules/human (Depends-on): Remove gettext-h.
85735 2007-08-06  Simon Josefsson  <simon@josefsson.org>
85737         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
85739 2007-07-31  Bruno Haible  <bruno@clisp.org>
85741         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
85742         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
85743         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
85745 2007-07-31  Bruno Haible  <bruno@clisp.org>
85747         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
85748         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
85750 2007-07-30  Bruno Haible  <bruno@clisp.org>
85752         * modules/base64 (License): Use the synonymous term "LGPLv2+".
85753         * modules/c-ctype (License): Likewise.
85754         * modules/c-strcase (License): Likewise.
85755         * modules/check-version (License): Likewise.
85756         * modules/iconv (License): Likewise.
85757         * modules/iconv_open (License): Likewise.
85758         * modules/read-file (License): Likewise.
85759         * modules/striconv (License): Likewise.
85760         * modules/strverscmp (License): Likewise.
85761         * modules/vasprintf (License): Likewise.
85762         * modules/crypto/des (License): Likewise.
85763         * modules/crypto/gc (License): Likewise.
85764         * modules/crypto/gc-arcfour (License): Likewise.
85765         * modules/crypto/gc-arctwo (License): Likewise.
85766         * modules/crypto/gc-des (License): Likewise.
85767         * modules/crypto/gc-hmac-md5 (License): Likewise.
85768         * modules/crypto/gc-hmac-sha1 (License): Likewise.
85769         * modules/crypto/gc-md2 (License): Likewise.
85770         * modules/crypto/gc-md4 (License): Likewise.
85771         * modules/crypto/gc-md5 (License): Likewise.
85772         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
85773         * modules/crypto/gc-random (License): Likewise.
85774         * modules/crypto/gc-rijndael (License): Likewise.
85775         * modules/crypto/gc-sha1 (License): Likewise.
85776         * modules/crypto/md2 (License): Likewise.
85777         * modules/crypto/md4 (License): Likewise.
85779 2007-07-30  Jim Meyering  <jim@meyering.net>
85781         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
85782         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
85783         it has valid stat data.  This bug would cause du not to count the
85784         sizes of inaccessible directories.
85785         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
85786         in <http://bugzilla.redhat.com/250077>.
85788 2007-07-25  Peter O'Gorman  <peter@pogma.com>
85789             Bruno Haible  <bruno@clisp.org>
85791         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
85792         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
85793         #include_next, gives a diagnostic about it, but reports no error in
85794         the exit code.
85795         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
85797 2007-07-24  Ben Pfaff  <blp@gnu.org>
85799         Improve name: "count-one-bits" is better than "popcount".
85800         * MODULES.html.sh: Update name.
85801         * lib/popcount.h: Renamed lib/count-one-bits.h.
85802         (popcount): Renamed count_one_bits.
85803         (popcountl): Renamed count_one_bits_l.
85804         (popcountll): Renamed count_one_bits_ll.
85805         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
85806         * modules/popcount: Renamed module/count-one-bits.
85807         * modules/popcount-tests: Renamed module/count-one-bits-tests.
85808         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
85810 2007-07-23  Ben Pfaff  <blp@gnu.org>
85812         * lib/popcount.h (popcount32): Reduce size of constants, to allow
85813         better code generation, and add U to large constants to avoid
85814         warnings, in non-GCC case.
85815         Suggested by Bruno Haible.
85817 2007-07-23  Ben Pfaff  <blp@gnu.org>
85819         * lib/popcount.h: Use verify_true instead of if...abort.
85820         * modules/popcount: Depend on verify module.
85821         Suggested by Jim Meyering.
85823 2007-07-23  Bruno Haible  <bruno@clisp.org>
85825         * gnulib-tool (func_import): Create a .cvsignore file also when the
85826         directory is not yet in CVS but the toplevel directory is. When
85827         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
85828         Reported by Karl Berry.
85830 2007-07-22  Ben Pfaff  <blp@gnu.org>
85832         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
85833         case.
85834         Suggested by Eric Blake.
85836 2007-07-22  Ben Pfaff  <blp@gnu.org>
85838         New module: popcount.
85839         * MODULES.html.sh: Add popcount.
85840         * modules/popcount: New file.
85841         * modules/popcount-tests: New file.
85842         * tests/test-popcount.c: New file.
85843         * lib/popcount.h: New file.
85844         * m4/popcount.m4: New file.
85846 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
85848         * build-aux/announce-gen: Update to GPLv3.
85850         * build-aux/config.guess: Update from config.
85852 2007-07-21  Bruno Haible  <bruno@clisp.org>
85854         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
85855         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
85857 2007-07-20  Jim Meyering  <jim@meyering.net>
85859         * check-module: Diagnose a self-dependency.
85861 2007-07-19  Bruno Haible  <bruno@clisp.org>
85863         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
85864         empty.
85865         Reported by Eric Blake.
85867 2007-07-18  Bruno Haible  <bruno@clisp.org>
85869         * gnulib-tool: New options --po-base, --po-domain.
85870         (func_usage): Document them.
85871         (pobase, po_domain): New variables.
85872         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
85873         DEFAULT_TEXT_DOMAIN.
85874         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
85875         (func_import): Consider pobase and po_domain. Create a po/ directory.
85876         (func_create_testdir): Set pobase and po_domain to empty.
85877         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
85878         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
85880 2007-07-18  Bruno Haible  <bruno@clisp.org>
85882         * gnulib-tool (func_get_automake_snippet): Synthesize also an
85883         EXTRA_DIST augmentation for files in build-aux/.
85885 2007-07-16  Bruno Haible  <bruno@clisp.org>
85887         * modules/lseek (License): Use the synonymous term "LGPLv2+".
85888         * modules/getdelim (License): Likewise.
85890 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85892         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
85893         * modules/d-type (License): Likewise.
85894         * modules/extensions (License): Likewise.
85895         * modules/fnmatch (License): Likewise.
85896         * modules/fseeko (License): Likewise.
85897         * modules/getaddrinfo (License): Likewise.
85898         * modules/getline (License): Likewise.
85899         * modules/getlogin_r (License): Likewise.
85900         * modules/getpass (License): Likewise.
85901         * modules/gettimeofday (License): Likewise.
85902         * modules/glob (License): Likewise.
85903         * modules/inet_ntop (License): Likewise.
85904         * modules/malloc (License): Likewise.
85905         * modules/malloca (License): Likewise.
85906         * modules/memmem (License): Likewise.
85907         * modules/mempcpy (License): Likewise.
85908         * modules/memset (License): Likewise.
85909         * modules/minmax (License): Likewise.
85910         * modules/mktime (License): Likewise.
85911         * modules/netinet_in (License): Likewise.
85912         * modules/pathmax (License): Likewise.
85913         * modules/poll (License): Likewise.
85914         * modules/regex (License): Likewise.
85915         * modules/snprintf (License): Likewise.
85916         * modules/stdbool (License): Likewise.
85917         * modules/stdint (License): Likewise.
85918         * modules/stdio (License): Likewise.
85919         * modules/strcase (License): Likewise.
85920         * modules/strcasestr (License): Likewise.
85921         * modules/strdup (License): Likewise.
85922         * modules/string (License): Likewise.
85923         * modules/strndup (License): Likewise.
85924         * modules/strnlen (License): Likewise.
85925         * modules/strpbrk (License): Likewise.
85926         * modules/strptime (License): Likewise.
85927         * modules/strsep (License): Likewise.
85928         * modules/sys_select (License): Likewise.
85929         * modules/sys_socket (License): Likewise.
85930         * modules/sys_stat (License): Likewise.
85931         * modules/sys_time (License): Likewise.
85932         * modules/time (License): Likewise.
85933         * modules/time_r (License): Likewise.
85934         * modules/timegm (License): Likewise.
85935         * modules/unistd (License): Likewise.
85936         * modules/vsnprintf (License): Likewise.
85937         * modules/wctype (License): Likewise.
85939 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85941         * modules/argz (License): LGPLv2+.
85943 2007-07-15  Karl Berry  <karl@gnu.org>
85945         * doc/gnulib.texi: revise node structure per new fdl.texi.
85947 2007-07-14  Bruno Haible  <bruno@clisp.org>
85949         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
85950         the output file.
85951         * lib/uniname/uninames.h: Regenerated.
85953 2007-07-14  Karl Berry  <karl@gnu.org>
85955         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
85956         omitting sectioning and index commands.
85958 2007-07-13  Bruno Haible  <bruno@clisp.org>
85960         New gnulib-tool option --more-symlinks.
85961         * gnulib-tool (func_usage): Document --more-symlinks.
85962         (do_copyrights): New variable.
85963         Recognize option --more-symlinks.
85964         (func_import): Don't add a copyright notice transform to
85965         sed_transform_lib_file if do_copyrights is empty.
85967 2007-07-13  Bruno Haible  <bruno@clisp.org>
85969         * lib/vasnprintf.c (decimal_point_char): Define also if
85970         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
85971         && !NEED_PRINTF_DIRECTIVE_A.
85972         Reported by Clemens Koller <clemens.koller@anagramm.de> via
85973         Gary V. Vaughan <gary@gnu.org>.
85975 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
85977         * lib/inttypes_.h: Undo previous change, since it was fixed
85978         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
85980 2007-07-13  Bruno Haible  <bruno@clisp.org>
85982         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
85983         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
85985 2007-07-13  Jim Meyering  <jim@meyering.net>
85987         df: Don't fail for Tru64's "file-on-file mount".
85988         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
85989         so we fall through and use statfs instead.  Details here:
85990         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
85991         Reported by Albert Chin.
85993 2007-07-13  Bruno Haible  <bruno@clisp.org>
85995         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
85996         * modules/configmake (License): Likewise.
85997         * modules/gettext (License): Likewise.
85998         * modules/gettext-h (License): Likewise.
85999         * modules/include_next (License): Likewise.
86000         * modules/link-warning (License): Likewise.
86001         * modules/localcharset (License): Likewise.
86002         * modules/localename (License): Likewise.
86003         * modules/lock (License): Likewise.
86004         * modules/relocatable-lib-lgpl (License): Likewise.
86005         * modules/size_max (License): Likewise.
86006         * modules/vasnprintf (License): Likewise.
86007         * modules/wchar (License): Likewise.
86008         * modules/xsize (License): Likewise.
86010 2007-07-13  Bruno Haible  <bruno@clisp.org>
86012         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
86013         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
86015 2007-07-12  Bruno Haible  <bruno@clisp.org>
86017         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
86018         in the modules files.
86020 2007-07-11  Karl Berry  <karl@gnu.org>
86022         * MODULES.html.sh (func_module): use
86023          sed -e '\|^'"${includefile}"'$|d'
86024          instead of /.../d, to avoid errors on $includefile's containing /.
86026 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
86028         * gnulib-tool (func_import): Avoid duplication of --avoid
86029         statements
86030         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
86031         names to `_' in variable names.
86033 2007-07-10  Eric Blake  <ebb9@byu.net>
86035         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
86036         * NEWS: Document this change.
86038 2007-07-08  Bruno Haible  <bruno@clisp.org>
86040         Update to Unicode 5.0.
86041         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
86042         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
86043         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
86044         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
86045         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
86046         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
86047         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
86048         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
86049         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
86050         U+10A3F, U+1D242..U+1D244.
86051         (nonspacing_table_ind): Update.
86052         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
86053         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
86055 2007-07-08  Bruno Haible  <bruno@clisp.org>
86057         Update to Unicode 5.0.
86058         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
86059         code transform. Extend the name index field of unicode_name_to_code and
86060         unicode_code_to_name from 16 to 24 bits.
86061         * lib/uniname/uniname.c (unicode_character_name,
86062         unicode_name_character): Add the range 0x12xxx to the code transform.
86063         * lib/uniname/uninames.h: Regenerated.
86064         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
86066 2007-07-07  Bruno Haible  <bruno@clisp.org>
86068         * modules/wcwidth-tests: New file.
86069         * tests/test-wcwidth.c: New file.
86071         Work around MacOS X wcwidth() bug.
86072         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
86073         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
86074         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
86075         original wcwidth in non-UTF-8 locales.
86076         * modules/wcwidth (Depends-on): Add localcharset, streq,
86077         uniwidth/width.
86078         * doc/functions/wcwidth.texi: Update.
86080 2007-07-07  Bruno Haible  <bruno@clisp.org>
86082         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
86083         (wcwidth): New declaration.
86084         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
86085         macros.
86086         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
86087         here. Prepare for creating <wchar.h> unconditionally.
86088         * modules/wchar (Depends-on): Add link-warning.
86089         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
86090         REPLACE_WCWIDTH, and GL_LINK_WARNING.
86091         * lib/wcwidth.h: Remove file.
86092         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
86093         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
86094         * modules/wcwidth (Files): Remove lib/wcwidth.h.
86095         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
86096         (Include): Replace wcwidth.h with <wchar.h>.
86097         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
86098         * lib/mbchar.h: Don't include wcwidth.h.
86099         * lib/mbswidth.c: Likewise.
86100         * NEWS: Mention the change.
86102 2007-07-07  Bruno Haible  <bruno@clisp.org>
86104         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
86105         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
86106         definition with an external declaration.
86107         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
86108         defined as a function. Remove AC_C_INLINE requirement.
86109         * modules/wcwidth (Files): Add lib/wcwidth.c.
86110         (Makefile.am): Remove redundant statement.
86112 2007-07-07  Bruno Haible  <bruno@clisp.org>
86114         * MODULES.html.sh (Unicode string functions): Add the new modules.
86116         * tests/uniwidth/test-u32-strwidth.c: New file.
86117         * modules/uniwidth/u32-strwidth-tests: New file.
86119         * lib/uniwidth/u32-strwidth.c: New file.
86120         * modules/uniwidth/u32-strwidth: New file.
86122         * tests/uniwidth/test-u16-strwidth.c: New file.
86123         * modules/uniwidth/u16-strwidth-tests: New file.
86125         * lib/uniwidth/u16-strwidth.c: New file.
86126         * modules/uniwidth/u16-strwidth: New file.
86128         * tests/uniwidth/test-u8-strwidth.c: New file.
86129         * modules/uniwidth/u8-strwidth-tests: New file.
86131         * lib/uniwidth/u8-strwidth.c: New file.
86132         * modules/uniwidth/u8-strwidth: New file.
86134         * tests/uniwidth/test-u32-width.c: New file.
86135         * modules/uniwidth/u32-width-tests: New file.
86137         * lib/uniwidth/u32-width.c: New file.
86138         * modules/uniwidth/u32-width: New file.
86140         * tests/uniwidth/test-u16-width.c: New file.
86141         * modules/uniwidth/u16-width-tests: New file.
86143         * lib/uniwidth/u16-width.c: New file.
86144         * modules/uniwidth/u16-width: New file.
86146         * tests/uniwidth/test-u8-width.c: New file.
86147         * modules/uniwidth/u8-width-tests: New file.
86149         * lib/uniwidth/u8-width.c: New file.
86150         * modules/uniwidth/u8-width: New file.
86152         * tests/uniwidth/test-uc_width.c: New file.
86153         * modules/uniwidth/width-tests: New file.
86155         * lib/uniwidth/width.c: New file, from GNU libiconv.
86156         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
86157         * modules/uniwidth/width: New file.
86159         * lib/uniwidth.h: New file, from GNU libiconv.
86160         * modules/uniwidth/base: New file.
86162 2007-07-07  Bruno Haible  <bruno@clisp.org>
86164         * lib/uniname.h: New file, from GNU gettext.
86165         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
86166         * lib/uniname/uninames.h: New file, from GNU gettext.
86167         * lib/uniname/uniname.c: New file, from GNU gettext.
86168         * tests/uniname/test-uninames.sh: New file.
86169         * tests/uniname/test-uninames.c: New file, from GNU gettext.
86170         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
86171         * modules/uniname/base: New file.
86172         * modules/uniname/uniname: New file.
86173         * modules/uniname/uniname-tests: New file.
86174         * MODULES.html.sh (Unicode string functions): Add the new modules.
86176 2007-07-06  Bruno Haible  <bruno@clisp.org>
86178         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
86180 2007-07-06  Bruno Haible  <bruno@clisp.org>
86182         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
86183         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
86184         includes <cygwin/sys_time.h> which includes <sys/select.h> which
86185         include <sys/time.h>.
86186         Reported by Eric Blake.
86188 2007-07-06  Eric Blake  <ebb9@byu.net>
86190         Fix testing canonicalize on cygwin.
86191         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
86192         Revert patch from 2007-06-19.
86193         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
86194         canonicalize module is also in use.
86195         * tests/test-canonicalize.c: New file.
86196         * tests/test-canonicalize.sh: Likewise.
86197         * modules/canonicalize-tests: Likewise.
86199 2007-07-06  Jim Meyering  <jim@meyering.net>
86201         * lib/getugroups.c (getugroups): Detect getgrent failure.
86202         Adjust comment to reflect reality: this function may return -1.
86204 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
86206         * build-aux/bootstrap (TP_URL,get_translations): Update to use
86207         the new TP address.
86208         (usage): Fix typo
86209         (gnulib_mk): New variable.
86211 2007-07-05  Jim Meyering  <jim@meyering.net>
86213         Don't let endgrent clobber errno, no matter how improbable.
86214         * lib/getugroups.c (getugroups): Save and restore errno around
86215         endgrent call.
86217         Close the group DB even when failing with 2^31 or more members.
86218         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
86220 2007-07-04  Jim Meyering  <jim@meyering.net>
86222         * lib/getugroups.h: New file.
86223         * lib/getugroups.c: Include "getugroups.h".
86224         Remove uses of "register" keyword.
86225         Move local variable, "cp", down into scope where used.
86226         Give "username" parameter the "const" attribute.
86227         * modules/getugroups (Files): Add lib/getugroups.h
86229 2007-07-04  Karl Berry  <karl@gnu.org>
86231         * MODULES.html.sh (func_all_modules): Complete rename of
86232         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
86234 2007-07-02  Bruno Haible  <bruno@clisp.org>
86236         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
86237         mode, when inttypes.h comes from gnulib.
86238         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
86240 2007-07-02  Simon Josefsson  <simon@josefsson.org>
86242         * NEWS: Mention lgpl module name change.
86244         * modules/lgpl-2.1: Renamed from lgpl.
86246         * NEWS: Mention gpl module name change.
86248         * modules/gpl-3.0: New file, based on gpl-2.0.
86250         * modules/gpl-2.0: Renamed from gpl.
86252         * modules/gpl: Fix filename, doc/gpl.texi is now found at
86253         doc/gpl-2.0.texi.
86255 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
86257         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
86258         #define __STDC_LIMIT_MACROS temporarily while including
86259         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
86260         Problem reported by Joel E. Denny in
86261         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
86263 2007-07-01  Bruno Haible  <bruno@clisp.org>
86265         * lib/unistdio.h: New file.
86266         * lib/unistdio/u-asnprintf.h: New file.
86267         * lib/unistdio/u-asprintf.h: New file.
86268         * lib/unistdio/u-printf-args.c: New file.
86269         * lib/unistdio/u-printf-args.h: New file.
86270         * lib/unistdio/u-printf-parse.h: New file.
86271         * lib/unistdio/u-snprintf.h: New file.
86272         * lib/unistdio/u-sprintf.h: New file.
86273         * lib/unistdio/u-vasprintf.h: New file.
86274         * lib/unistdio/u-vsnprintf.h: New file.
86275         * lib/unistdio/u-vsprintf.h: New file.
86276         * lib/unistdio/ulc-asnprintf.c: New file.
86277         * lib/unistdio/ulc-asprintf.c: New file.
86278         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
86279         * lib/unistdio/ulc-printf-parse.c: New file.
86280         * lib/unistdio/ulc-snprintf.c: New file.
86281         * lib/unistdio/ulc-sprintf.c: New file.
86282         * lib/unistdio/ulc-vasnprintf.c: New file.
86283         * lib/unistdio/ulc-vasprintf.c: New file.
86284         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
86285         * lib/unistdio/ulc-vsnprintf.c: New file.
86286         * lib/unistdio/ulc-vsprintf.c: New file.
86287         * lib/unistdio/u8-asnprintf.c: New file.
86288         * lib/unistdio/u8-asprintf.c: New file.
86289         * lib/unistdio/u8-printf-parse.c: New file.
86290         * lib/unistdio/u8-snprintf.c: New file.
86291         * lib/unistdio/u8-sprintf.c: New file.
86292         * lib/unistdio/u8-vasnprintf.c: New file.
86293         * lib/unistdio/u8-vasprintf.c: New file.
86294         * lib/unistdio/u8-vsnprintf.c: New file.
86295         * lib/unistdio/u8-vsprintf.c: New file.
86296         * lib/unistdio/u8-u8-asnprintf.c: New file.
86297         * lib/unistdio/u8-u8-asprintf.c: New file.
86298         * lib/unistdio/u8-u8-snprintf.c: New file.
86299         * lib/unistdio/u8-u8-sprintf.c: New file.
86300         * lib/unistdio/u8-u8-vasnprintf.c: New file.
86301         * lib/unistdio/u8-u8-vasprintf.c: New file.
86302         * lib/unistdio/u8-u8-vsnprintf.c: New file.
86303         * lib/unistdio/u8-u8-vsprintf.c: New file.
86304         * lib/unistdio/u16-asnprintf.c: New file.
86305         * lib/unistdio/u16-asprintf.c: New file.
86306         * lib/unistdio/u16-printf-parse.c: New file.
86307         * lib/unistdio/u16-snprintf.c: New file.
86308         * lib/unistdio/u16-sprintf.c: New file.
86309         * lib/unistdio/u16-vasnprintf.c: New file.
86310         * lib/unistdio/u16-vasprintf.c: New file.
86311         * lib/unistdio/u16-vsnprintf.c: New file.
86312         * lib/unistdio/u16-vsprintf.c: New file.
86313         * lib/unistdio/u16-u16-asnprintf.c: New file.
86314         * lib/unistdio/u16-u16-asprintf.c: New file.
86315         * lib/unistdio/u16-u16-snprintf.c: New file.
86316         * lib/unistdio/u16-u16-sprintf.c: New file.
86317         * lib/unistdio/u16-u16-vasnprintf.c: New file.
86318         * lib/unistdio/u16-u16-vasprintf.c: New file.
86319         * lib/unistdio/u16-u16-vsnprintf.c: New file.
86320         * lib/unistdio/u16-u16-vsprintf.c: New file.
86321         * lib/unistdio/u32-asnprintf.c: New file.
86322         * lib/unistdio/u32-asprintf.c: New file.
86323         * lib/unistdio/u32-printf-parse.c: New file.
86324         * lib/unistdio/u32-snprintf.c: New file.
86325         * lib/unistdio/u32-sprintf.c: New file.
86326         * lib/unistdio/u32-vasnprintf.c: New file.
86327         * lib/unistdio/u32-vasprintf.c: New file.
86328         * lib/unistdio/u32-vsnprintf.c: New file.
86329         * lib/unistdio/u32-vsprintf.c: New file.
86330         * lib/unistdio/u32-u32-asnprintf.c: New file.
86331         * lib/unistdio/u32-u32-asprintf.c: New file.
86332         * lib/unistdio/u32-u32-snprintf.c: New file.
86333         * lib/unistdio/u32-u32-sprintf.c: New file.
86334         * lib/unistdio/u32-u32-vasnprintf.c: New file.
86335         * lib/unistdio/u32-u32-vasprintf.c: New file.
86336         * lib/unistdio/u32-u32-vsnprintf.c: New file.
86337         * lib/unistdio/u32-u32-vsprintf.c: New file.
86338         * tests/unistdio/test-ulc-asnprintf1.c: New file.
86339         * tests/unistdio/test-ulc-asnprintf1.h: New file.
86340         * tests/unistdio/test-ulc-printf1.h: New file.
86341         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
86342         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
86343         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
86344         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
86345         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
86346         * tests/unistdio/test-ulc-vasprintf1.c: New file.
86347         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
86348         * tests/unistdio/test-ulc-vsprintf1.c: New file.
86349         * tests/unistdio/test-u8-asnprintf1.c: New file.
86350         * tests/unistdio/test-u8-asnprintf1.h: New file.
86351         * tests/unistdio/test-u8-printf1.h: New file.
86352         * tests/unistdio/test-u8-vasnprintf1.c: New file.
86353         * tests/unistdio/test-u8-vasnprintf2.c: New file.
86354         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
86355         * tests/unistdio/test-u8-vasnprintf3.c: New file.
86356         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
86357         * tests/unistdio/test-u8-vasprintf1.c: New file.
86358         * tests/unistdio/test-u8-vsnprintf1.c: New file.
86359         * tests/unistdio/test-u8-vsprintf1.c: New file.
86360         * tests/unistdio/test-u16-asnprintf1.c: New file.
86361         * tests/unistdio/test-u16-asnprintf1.h: New file.
86362         * tests/unistdio/test-u16-printf1.h: New file.
86363         * tests/unistdio/test-u16-vasnprintf1.c: New file.
86364         * tests/unistdio/test-u16-vasnprintf2.c: New file.
86365         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
86366         * tests/unistdio/test-u16-vasnprintf3.c: New file.
86367         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
86368         * tests/unistdio/test-u16-vasprintf1.c: New file.
86369         * tests/unistdio/test-u16-vsnprintf1.c: New file.
86370         * tests/unistdio/test-u16-vsprintf1.c: New file.
86371         * tests/unistdio/test-u32-asnprintf1.c: New file.
86372         * tests/unistdio/test-u32-asnprintf1.h: New file.
86373         * tests/unistdio/test-u32-printf1.h: New file.
86374         * tests/unistdio/test-u32-vasnprintf1.c: New file.
86375         * tests/unistdio/test-u32-vasnprintf2.c: New file.
86376         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
86377         * tests/unistdio/test-u32-vasnprintf3.c: New file.
86378         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
86379         * tests/unistdio/test-u32-vasprintf1.c: New file.
86380         * tests/unistdio/test-u32-vsnprintf1.c: New file.
86381         * tests/unistdio/test-u32-vsprintf1.c: New file.
86382         * modules/unistdio/base: New file.
86383         * modules/unistdio/u-printf-args: New file.
86384         * modules/unistdio/ulc-asnprintf: New file.
86385         * modules/unistdio/ulc-asprintf: New file.
86386         * modules/unistdio/ulc-fprintf: New file.
86387         * modules/unistdio/ulc-printf-parse: New file.
86388         * modules/unistdio/ulc-snprintf: New file.
86389         * modules/unistdio/ulc-sprintf: New file.
86390         * modules/unistdio/ulc-vasnprintf: New file.
86391         * modules/unistdio/ulc-vasprintf: New file.
86392         * modules/unistdio/ulc-vfprintf: New file.
86393         * modules/unistdio/ulc-vsnprintf: New file.
86394         * modules/unistdio/ulc-vsprintf: New file.
86395         * modules/unistdio/u8-asnprintf: New file.
86396         * modules/unistdio/u8-asprintf: New file.
86397         * modules/unistdio/u8-printf-parse: New file.
86398         * modules/unistdio/u8-snprintf: New file.
86399         * modules/unistdio/u8-sprintf: New file.
86400         * modules/unistdio/u8-vasnprintf: New file.
86401         * modules/unistdio/u8-vasprintf: New file.
86402         * modules/unistdio/u8-vsnprintf: New file.
86403         * modules/unistdio/u8-vsprintf: New file.
86404         * modules/unistdio/u8-u8-asnprintf: New file.
86405         * modules/unistdio/u8-u8-asprintf: New file.
86406         * modules/unistdio/u8-u8-snprintf: New file.
86407         * modules/unistdio/u8-u8-sprintf: New file.
86408         * modules/unistdio/u8-u8-vasnprintf: New file.
86409         * modules/unistdio/u8-u8-vasprintf: New file.
86410         * modules/unistdio/u8-u8-vsnprintf: New file.
86411         * modules/unistdio/u8-u8-vsprintf: New file.
86412         * modules/unistdio/u16-asnprintf: New file.
86413         * modules/unistdio/u16-asprintf: New file.
86414         * modules/unistdio/u16-printf-parse: New file.
86415         * modules/unistdio/u16-snprintf: New file.
86416         * modules/unistdio/u16-sprintf: New file.
86417         * modules/unistdio/u16-vasnprintf: New file.
86418         * modules/unistdio/u16-vasprintf: New file.
86419         * modules/unistdio/u16-vsnprintf: New file.
86420         * modules/unistdio/u16-vsprintf: New file.
86421         * modules/unistdio/u16-u16-asnprintf: New file.
86422         * modules/unistdio/u16-u16-asprintf: New file.
86423         * modules/unistdio/u16-u16-snprintf: New file.
86424         * modules/unistdio/u16-u16-sprintf: New file.
86425         * modules/unistdio/u16-u16-vasnprintf: New file.
86426         * modules/unistdio/u16-u16-vasprintf: New file.
86427         * modules/unistdio/u16-u16-vsnprintf: New file.
86428         * modules/unistdio/u16-u16-vsprintf: New file.
86429         * modules/unistdio/u32-asnprintf: New file.
86430         * modules/unistdio/u32-asprintf: New file.
86431         * modules/unistdio/u32-printf-parse: New file.
86432         * modules/unistdio/u32-snprintf: New file.
86433         * modules/unistdio/u32-sprintf: New file.
86434         * modules/unistdio/u32-vasnprintf: New file.
86435         * modules/unistdio/u32-vasprintf: New file.
86436         * modules/unistdio/u32-vsnprintf: New file.
86437         * modules/unistdio/u32-vsprintf: New file.
86438         * modules/unistdio/u32-u32-asnprintf: New file.
86439         * modules/unistdio/u32-u32-asprintf: New file.
86440         * modules/unistdio/u32-u32-snprintf: New file.
86441         * modules/unistdio/u32-u32-sprintf: New file.
86442         * modules/unistdio/u32-u32-vasnprintf: New file.
86443         * modules/unistdio/u32-u32-vasprintf: New file.
86444         * modules/unistdio/u32-u32-vsnprintf: New file.
86445         * modules/unistdio/u32-u32-vsprintf: New file.
86446         * modules/unistdio/ulc-asnprintf-tests: New file.
86447         * modules/unistdio/ulc-vasnprintf-tests: New file.
86448         * modules/unistdio/ulc-vasprintf-tests: New file.
86449         * modules/unistdio/ulc-vsnprintf-tests: New file.
86450         * modules/unistdio/ulc-vsprintf-tests: New file.
86451         * modules/unistdio/u8-asnprintf-tests: New file.
86452         * modules/unistdio/u8-vasnprintf-tests: New file.
86453         * modules/unistdio/u8-vasprintf-tests: New file.
86454         * modules/unistdio/u8-vsnprintf-tests: New file.
86455         * modules/unistdio/u8-vsprintf-tests: New file.
86456         * modules/unistdio/u16-asnprintf-tests: New file.
86457         * modules/unistdio/u16-vasnprintf-tests: New file.
86458         * modules/unistdio/u16-vasprintf-tests: New file.
86459         * modules/unistdio/u16-vsnprintf-tests: New file.
86460         * modules/unistdio/u16-vsprintf-tests: New file.
86461         * modules/unistdio/u32-asnprintf-tests: New file.
86462         * modules/unistdio/u32-vasnprintf-tests: New file.
86463         * modules/unistdio/u32-vasprintf-tests: New file.
86464         * modules/unistdio/u32-vsnprintf-tests: New file.
86465         * modules/unistdio/u32-vsprintf-tests: New file.
86466         * MODULES.html.sh (Unicode string functions): Add the new modules.
86468 2007-07-01  Bruno Haible  <bruno@clisp.org>
86470         * lib/sprintf.c (sprintf): Limit the available length estimation,
86471         to avoid address wraparound.
86472         * lib/vsprintf.c (vsprintf): Likewise.
86473         * modules/sprintf-posix (Dependencies): Add stdint.
86474         * modules/vsprintf-posix (Dependencies): Likewise.
86476 2007-07-01  Bruno Haible  <bruno@clisp.org>
86478         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
86479         Windows PATH as well. Conservative double-quoting. Comments.
86481 2007-07-01  Bruno Haible  <bruno@clisp.org>
86482             Eric Blake  <ebb9@byu.net>
86483             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86485         * gnulib-tool (self_abspathname): Fix algorithm to cope with
86486         empty components in $PATH, denoting '.'.
86488 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86490         * gnulib-tool: Fix indentation.
86491         (func_create_megatestdir): Likewise.
86492         Report by Bruno Haible.
86494 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86496         Sync from Automake.
86497         * build-aux/gnupload: Fix shell portability issues with for loops.
86498         Report by Karl Berry.
86500 2007-06-29  Simon Josefsson  <simon@josefsson.org>
86502         * build-aux/maint.mk (POURL): Use translationproject.org.
86504 2007-06-27  Simon Josefsson  <simon@josefsson.org>
86505             Bruno Haible  <bruno@clisp.org>
86507         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
86508         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
86509         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
86510         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
86511         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
86513 2007-06-27  Bruno Haible  <bruno@clisp.org>
86515         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
86516         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
86518 2007-06-26  Karl Berry  <karl@gnu.org>
86520         * MODULES.html.sh: remove xreadlink-with-size.
86522 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86524         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
86525         method that I hope also handles the double-include problem noted
86526         by Bruno Haible in
86527         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
86529 2007-06-23  Bruno Haible  <bruno@clisp.org>
86531         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
86532         Don't let the 'mostlyclean' target fail if the last subdirectory could
86533         not be removed.
86534         Reported by Karl Berry.
86536 2007-06-23  Bruno Haible  <bruno@clisp.org>
86538         * gnulib-tool (echo): Add a speedier workaround for ksh.
86539         * tests/test-echo.sh: Likewise.
86541 2007-06-23  Bruno Haible  <bruno@clisp.org>
86543         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
86544         * tests/test-echo.sh: Likewise.
86546 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86548         * gnulib-tool (IFS): Initialize early, so we don't set it to
86549         empty later.
86550         (self_abspathname): Rewrite algorithm to set it, reindent.
86551         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
86552         (func_create_megatestdir): Merge some sed scripts.
86554 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86556         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
86557         exposed by Sun Studio 11 cc on Solaris 8.
86559 2007-06-22  Bruno Haible  <bruno@clisp.org>
86561         * gnulib-tool (echo): Ensure the echo primitive does not interpret
86562         backslashes.
86563         * tests/test-echo.sh: New file.
86565 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86567         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
86568         simplify `sed_replace_build_aux' scripts, they are portable but
86569         echoing them with `echo' is not.
86570         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
86572 2007-06-21  Karl Berry  <karl@gnu.org>
86574         * config/srclist.txt: guess we can't handle the licenses via
86575         srclist at the moment.
86577 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
86579         * MODULES.html.sh: Add include_next.
86580         * modules/include_next: New file.
86582 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
86584         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
86585         INCLUDE_NEXT.
86586         (gl_CHECK_NEXT_HEADERS): New macro.
86587         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
86588         the obsolescent gl_ABSOLUTE_HEADER.
86589         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
86590         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
86591         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
86592         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
86593         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
86594         * m4/math_h.m4 (gl_MATH_H): Likewise.
86595         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
86596         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
86597         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
86598         * m4/stdint.m4 (gl_STDINT_H): Likewise.
86599         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
86600         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
86601         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
86602         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
86603         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
86604         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
86605         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
86606         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
86607         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
86608         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
86609         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
86610         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
86611         * m4/inttypes.m4 (gl_INTTYPES_H): Define
86612         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
86613         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
86614         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
86615         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
86616         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
86617         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
86618         * lib/float_.h: Likewise.
86619         * lib/inttypes_.h: Likewise.
86620         * lib/math_.h: Likewise.
86621         * lib/search_.h: Likewise.
86622         * lib/signal_.h: Likewise.
86623         * lib/stdint_.h: Likewise.
86624         * lib/stdio_.h: Likewise.
86625         * lib/stdlib_.h: Likewise.
86626         * lib/string_.h: Likewise.
86627         * lib/sys_stat_.h: Likewise.
86628         * lib/sys_time_.h: Likewise.
86629         * lib/time_.h: Likewise.
86630         * lib/unistd_.h: Likewise.
86631         * lib/wchar_.h: Likewise.
86632         * lib/wctype_.h: Likewise.
86633         * lib/dirent_.h: Likewise.
86634         * lib/iconv_.h: Likewise.
86635         * lib/locale_.h: Likewise.
86636         * lib/netinet_in_.h: Likewise.
86637         * lib/sys_select_.h: Likewise.
86638         * lib/sys_socket_.h: Likewise.
86639         * lib/sysexits_.h: Likewise.
86640         * modules/fcntl (Depends-on): Depend on include_next, not
86641         absolute_header.
86642         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
86643         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
86644         * modules/fchdir: Likewise.
86645         * modules/float: Likewise.
86646         * modules/iconv_open: Likewise.
86647         * modules/inttypes: Likewise.
86648         * modules/locale: Likewise.
86649         * modules/math: Likewise.
86650         * modules/netinet_in: Likewise.
86651         * modules/search: Likewise.
86652         * modules/signal: Likewise.
86653         * modules/stdint: Likewise.
86654         * modules/stdio: Likewise.
86655         * modules/stdlib: Likewise.
86656         * modules/string: Likewise.
86657         * modules/sys_select: Likewise.
86658         * modules/sys_socket: Likewise.
86659         * modules/sys_stat: Likewise.
86660         * modules/sys_time: Likewise.
86661         * modules/sysexits: Likewise.
86662         * modules/time: Likewise.
86663         * modules/unistd: Likewise.
86664         * modules/wchar: Likewise.
86665         * modules/wctype: Likewise.
86666         * modules/sys_stat: Change maintainer to "all".
86667         * modules/unistd: Likewise.
86669 2007-06-20  Karl Berry  <karl@gnu.org>
86671         * config/srclist.txt: track www changes in license files.
86673 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
86675         * build-aux/bootstrap: Remove stray dot.
86676         Make sure build_aux settings are honored when linking
86677         gnulib_extra_files.
86679 2007-06-19  Eric Blake  <ebb9@byu.net>
86681         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
86682         Allow compilation on cygwin.
86684 2007-06-19  Jim Meyering  <jim@meyering.net>
86686         xreadlink-with-size: Remove module.  No longer used.
86687         Ex-callers now use xreadlink or mreadlink-with-size.
86688         * modules/xreadlink-with-size: Remove module.
86689         * lib/xreadlink-with-size.c: Remove file.
86690         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
86691         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
86692         just before the function definition *is* accurate.
86694         Eliminate one way canonicalize_filename_mode could exit.
86695         * lib/canonicalize.c (canonicalize_filename_mode):
86696         Use mreadlink_with_size, not xreadlink_with_size.
86698 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
86700         Detect porting problems to FreeBSD/arm, which has time_t wider than
86701         long int.  Original problem reported for GNU diff by Xin Li in
86702         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
86703         * modules/getdate (Depends-on): Add intprops, verify.
86704         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
86705         is an integer type no wider than long int.
86707 2007-06-18  Jim Meyering  <jim@meyering.net>
86709         New module: mreadlink-with-size.
86710         * MODULES.html.sh: Add mreadlink-with-size.
86711         * modules/mreadlink-with-size: New module
86712         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
86713         not xreadlink-with-size.
86714         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
86716 2007-06-16  Bruno Haible  <bruno@clisp.org>
86718         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
86719         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
86720         Reported by Gary V. Vaughan <gary@gnu.org>.
86722 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
86724         Revamp lchown so that it lives in unistd.h where it belongs.
86725         * lib/lchown.h: Remove.
86726         * lib/dirchownmod.c: Don't include lib/lchown.h.
86727         * lib/fchownat.c: Likewise.
86728         * lib/openat.c: Likewise.
86729         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
86730         does not follow symlinks.
86731         (EOPNOTSUPP): Define if not defined.
86732         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
86733         is defined to 0.
86734         (lchown): New decl.
86735         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
86736         Do not check for lchown decl.
86737         Set REPLACE_LCHOWN.
86738         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
86739         REPLACE_LCHOWN.
86740         * modules/chown: Make it clear it follows symlinks.
86741         * modules/lchown: Make it clear it doesn't follow symlinks.
86742         (Files): Remove lib/lchown.h
86743         (Depends-on): Add unistd.
86744         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
86745         (Include): Include <unistd.h>, not "lchown.h".
86746         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
86747         REPLACE_LCHOWN.
86749 2007-06-15  Jim Meyering  <jim@meyering.net>
86751         Change license (GPL to LGPL) of fsusage and dependents.
86752         * modules/fsusage (License): Change to LGPL.
86753         * modules/full-read (License): Likewise.
86754         * modules/full-write (License): Likewise.
86755         * modules/safe-read (License): Likewise.
86756         * modules/safe-write (License): Likewise.
86758 2007-06-14  Ben Pfaff  <blp@gnu.org>
86760         Missing part of allocsa -> malloca transition.
86761         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
86762         gl_MALLOCA.
86764 2007-06-12  Bruno Haible  <bruno@clisp.org>
86766         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
86767         to ia64, x86_64, i386.
86768         Reported by Eric Blake.
86770 2007-06-12  Bruno Haible  <bruno@clisp.org>
86772         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
86773         cross-compiling to x86_64.
86775 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
86777         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
86778         glitch reported by Ralf Wildenhues in
86779         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
86781         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
86782         Vin Shelton.
86784 2007-06-11  Bruno Haible  <bruno@clisp.org>
86786         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
86787         replacement string.
86788         Reported by Eric Blake.
86790 2007-06-10  Bruno Haible  <bruno@clisp.org>
86792         Prepare vasnprintf code for use with Unicode strings.
86793         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
86794         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
86795         TYPE_U32_STRING.
86796         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
86797         a_u32_string variants.
86798         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
86799         * lib/printf-args.c: Don't include config.h and the specification
86800         header if PRINTF_FETCHARGS is already defined.
86801         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
86802         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
86803         TYPE_U16_STRING, TYPE_U32_STRING.
86804         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
86805         u16_directive, u16_directives, u32_directive, u32_directives): New
86806         types.
86807         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
86808         New declarations.
86809         * lib/printf-parse.c: Don't include config.h and the specification
86810         header if PRINTF_PARSE is already defined. Eliminate the set of
86811         parameters for WIDE_CHAR_VERSION; the user of this file must provide
86812         them now. Include c-ctype.h.
86813         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
86814         directive and CHAR_T_ONLY_ASCII.
86815         * lib/vasnprintf.c: Don't include config.h and the specification header
86816         if VASNPRINTF is already defined.
86817         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
86818         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
86819         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
86820         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
86821         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
86822         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
86823         code accordingly.
86824         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
86825         pad_ourselves also in this case, with the 'c' and 's' directives, and
86826         with a different notion of "width".
86827         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
86829 2007-06-10  Bruno Haible  <bruno@clisp.org>
86831         * modules/unistr/u32-mbsnlen: New file.
86832         * lib/unistr/u32-mbsnlen.c: New file.
86834         * modules/unistr/u16-mbsnlen: New file.
86835         * lib/unistr/u16-mbsnlen.c: New file.
86837         * modules/unistr/u8-mbsnlen: New file.
86838         * lib/unistr/u8-mbsnlen.c: New file.
86840         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
86841         declarations.
86843 2007-06-10  Bruno Haible  <bruno@clisp.org>
86845         * lib/string_.h (mbsnlen): New declaration.
86846         * lib/mbsnlen.c: New file.
86847         * m4/mbsnlen.m4: New file.
86848         * modules/mbsnlen: New file.
86849         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
86850         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
86851         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
86853 2007-06-10  Bruno Haible  <bruno@clisp.org>
86855         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
86857 2007-06-10  Bruno Haible  <bruno@clisp.org>
86859         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
86860         * lib/mbuiter.h: Likewise.
86862 2007-06-10  Bruno Haible  <bruno@clisp.org>
86864         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
86865         declaration.
86867 2007-06-10  Karl Berry  <karl@gnu.org>
86869         * config/srclist.txt: remove gettext entries, Bruno prefers
86870         to update individually.
86872 2007-06-10  Bruno Haible  <bruno@clisp.org>
86874         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
86875         'maxlen'. Ensure only length + width bytes are allocated, not
86876         length + 1 + width.
86878 2007-06-09  Bruno Haible  <bruno@clisp.org>
86880         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
86881         (CHAR_T): Remove macro.
86882         (VASNPRINTF): Update.
86884 2007-06-09  Bruno Haible  <bruno@clisp.org>
86886         * MODULES.html.sh (Unicode string functions): Add the new modules.
86888         * modules/uniconv/u32-conv-to-enc: New file.
86889         * lib/uniconv/u32-conv-to-enc.c: New file.
86890         * modules/uniconv/u32-conv-to-enc-tests: New file.
86891         * tests/uniconv/test-u32-conv-to-enc.c: New file.
86893         * modules/uniconv/u16-conv-to-enc: New file.
86894         * lib/uniconv/u16-conv-to-enc.c: New file.
86895         * lib/uniconv/u-conv-to-enc.h: New file.
86896         * modules/uniconv/u16-conv-to-enc-tests: New file.
86897         * tests/uniconv/test-u16-conv-to-enc.c: New file.
86899         * modules/uniconv/u8-conv-to-enc: New file.
86900         * lib/uniconv/u8-conv-to-enc.c: New file.
86901         * modules/uniconv/u8-conv-to-enc-tests: New file.
86902         * tests/uniconv/test-u8-conv-to-enc.c: New file.
86904         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
86905         u32_conv_to_encoding): New declarations.
86907 2007-06-09  Bruno Haible  <bruno@clisp.org>
86909         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
86911 2007-06-09  Bruno Haible  <bruno@clisp.org>
86913         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
86914         * modules/malloca: Renamed from modules/allocsa, updated.
86915         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
86916         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
86917         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
86918         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
86919         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
86920         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
86921         * modules/xmalloca: Renamed from modules/xallocsa, updated.
86922         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
86923         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
86924         * modules/c-strcasestr (Depends-on): Update.
86925         * lib/c-strcasestr.c: Update.
86926         * modules/c-strstr (Depends-on): Update.
86927         * lib/c-strstr.c: Update.
86928         * modules/canonicalize-lgpl (Depends-on): Update.
86929         * lib/canonicalize-lgpl.c: Update.
86930         * modules/clean-temp (Depends-on): Update.
86931         * lib/clean-temp.c: Update.
86932         * modules/csharpcomp (Depends-on): Update.
86933         * lib/csharpcomp.c: Update.
86934         * modules/csharpexec (Depends-on): Update.
86935         * lib/csharpexec.c: Update.
86936         * modules/javacomp (Depends-on): Update.
86937         * lib/javacomp.c: Update.
86938         * modules/javaexec (Depends-on): Update.
86939         * lib/javaexec.c: Update.
86940         * modules/mbscasestr (Depends-on): Update.
86941         * lib/mbscasestr.c: Update.
86942         * modules/mbsstr (Depends-on): Update.
86943         * lib/mbsstr.c: Update.
86944         * modules/setenv (Depends-on): Update.
86945         * lib/setenv.c: Update.
86946         * modules/strcasestr (Depends-on): Update.
86947         * lib/strcasestr.c: Update.
86948         * modules/striconveha (Depends-on): Update.
86949         * lib/striconveha.c: Update.
86950         * modules/relocatable-prog-wrapper (Files): Update.
86951         * lib/relocwrapper.c: Update.
86952         * build-aux/install-reloc: Update.
86953         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
86955 2007-06-08  Bruno Haible  <bruno@clisp.org>
86957         Port to uClibc.
86958         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
86959         * lib/fpurge.c (fpurge): Likewise.
86960         * lib/freading.c (freading): Likewise.
86961         * lib/fseeko.c (rpl_fseeko): Likewise.
86962         * lib/fseterr.c (fseterr): Likewise.
86963         * lib/fwriting.c (fwriting): Likewise.
86964         * tests/test-fflush.c (main): Avoid a failure on uClibc.
86966 2007-06-08  Bruno Haible  <bruno@clisp.org>
86968         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
86969         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
86970         * modules/gettext (Files): Add m4/intlmacosx.m4.
86972 2007-06-07  Bruno Haible  <bruno@clisp.org>
86974         * modules/localename-tests: New file.
86975         * tests/test-localename.c: New file.
86977         New module 'localename'.
86978         * lib/localename.h: New file.
86979         * lib/localename.c: New file, from GNU gettext.
86980         * m4/localename.m4: New file.
86981         * modules/localename: New file.
86983 2007-06-07  Bruno Haible  <bruno@clisp.org>
86985         Work around the lack of <wchar.h> on some builds of uClibc.
86986         * doc/headers/wchar.texi: Update.
86987         * lib/wchar_.h: Include <wchar.h> only if it exists.
86988         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
86989         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
86990         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
86991         doesn't exist.
86992         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
86993         * modules/mbfile (Depends-on): Add wchar.
86994         * modules/mbiter (Depends-on): Likewise.
86995         * modules/mbuiter (Depends-on): Likewise.
86996         Reported by Simon Josefsson.
86998 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
87000         Work around problem reported by Steven M. Schweda in
87001         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
87002         Tru64 5.1B with the Compaq compiler environment installed declares
87003         an 'isblank' function but does not define it in the C library.
87004         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
87005         * lib/regex_internal.h (isblank): Likewise.
87006         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
87007         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
87009 2007-06-05  Bruno Haible  <bruno@clisp.org>
87011         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
87012         ia64.
87013         * modules/printf-safe: New file.
87014         * modules/fprintf-posix (Depends-on): Add printf-safe.
87015         * modules/printf-posix (Depends-on): Likewise.
87016         * modules/snprintf-posix (Depends-on): Likewise.
87017         * modules/sprintf-posix (Depends-on): Likewise.
87018         * modules/vasnprintf-posix (Depends-on): Likewise.
87019         * modules/vasprintf-posix (Depends-on): Likewise.
87020         * modules/vfprintf-posix (Depends-on): Likewise.
87021         * modules/vprintf-posix (Depends-on): Likewise.
87022         * modules/vsnprintf-posix (Depends-on): Likewise.
87023         * modules/vsprintf-posix (Depends-on): Likewise.
87024         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
87025         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
87026         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
87027         "no" on i386, x86_64, ia64.
87028         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
87029         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87030         on i386, x86_64, ia64.
87031         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
87032         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87033         on i386, x86_64, ia64.
87034         * tests/test-vasnprintf-posix.c: Include float.h.
87035         (LDBL80_WORDS): New macro.
87036         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87037         on i386, x86_64, ia64.
87038         * tests/test-vasprintf-posix.c: Include float.h.
87039         (LDBL80_WORDS): New macro.
87040         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87041         on i386, x86_64, ia64.
87042         * tests/test-snprintf-posix.c: Include float.h.
87043         * tests/test-sprintf-posix.c: Likewise.
87044         * tests/test-vsnprintf-posix.c: Likewise.
87045         * tests/test-vsprintf-posix.c: Likewise.
87047 2007-06-05  Bruno Haible  <bruno@clisp.org>
87049         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
87050         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
87051         non-IEEE numbers on i386, x86_64, ia64.
87052         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
87053         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
87054         * tests/test-isnanl.h: Include float.h.
87055         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
87057 2007-06-05  Bruno Haible  <bruno@clisp.org>
87059         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
87060         also the %a / %A. Handle the %a / %A code before this extra handling.
87062 2007-06-05  Bruno Haible  <bruno@clisp.org>
87064         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
87065         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
87067 2007-06-05  Bruno Haible  <bruno@clisp.org>
87069         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
87070         typo in variable name.
87072 2007-06-05  Eric Blake  <ebb9@byu.net>
87074         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
87075         Reported by Simon Josefsson.
87077 2007-06-04  Bruno Haible  <bruno@clisp.org>
87079         Avoid test failures on some PowerPC platforms.
87080         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
87081         Define differently for PowerPC.
87082         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
87083         Reported by Gary V. Vaughan <gary@gnu.org>.
87085 2007-06-02  Bruno Haible  <bruno@clisp.org>
87087         Fix test-stdint failure on FreeBSD/ia64.
87088         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
87089         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
87090         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
87091         * doc/headers/stdint.texi: Update.
87093 2007-06-01  Bruno Haible  <bruno@clisp.org>
87095         * tests/test-binary-io.c (main): Pass a third argument to open().
87096         Reported by Gary V. Vaughan <gary@gnu.org>.
87098 2007-06-01  Bruno Haible  <bruno@clisp.org>
87100         * doc/functions/frexpl.texi: Update for mingw.
87102 2007-06-01  Bruno Haible  <bruno@clisp.org>
87104         * tests/test-lseek.c (main): Disable test of errno for invalid third
87105         argument.
87106         * doc/functions/lseek.texi: Update.
87107         Reported by Gary V. Vaughan <gary@gnu.org>.
87109 2007-05-28  Bruno Haible  <bruno@clisp.org>
87111         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
87113 2007-05-31  Eric Blake  <ebb9@byu.net>
87115         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
87116         cross compiling.
87118 2007-05-30  Eric Blake  <ebb9@byu.net>
87119         and Bruno Haible  <bruno@clisp.org>
87121         Work around mingw test failures exposed by m4-1.4.9b.
87122         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
87123         * tests/test-unistd.c: Disable uid_t and git_t tests for the
87124         moment.
87126 2007-05-30  Bruno Haible  <bruno@clisp.org>
87128         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
87129         assuming that they are closed. Needed on HP-UX 11.
87131 2007-05-29  Bruno Haible  <bruno@clisp.org>
87133         Fix a problem with #include_next.
87134         * lib/dirent_.h: Split the double-inclusion guard.
87135         * lib/fcntl_.h: Likewise.
87136         * lib/float_.h: Likewise.
87137         * lib/iconv_.h: Likewise.
87138         * lib/inttypes_.h: Likewise.
87139         * lib/locale_.h: Likewise.
87140         * lib/math_.h: Likewise.
87141         * lib/netinet_in_.h: Likewise.
87142         * lib/search_.h: Likewise.
87143         * lib/signal_.h: Likewise.
87144         * lib/stdint_.h: Likewise.
87145         * lib/stdio_.h: Likewise.
87146         * lib/stdlib_.h: Likewise.
87147         * lib/string_.h: Likewise.
87148         * lib/sys_select_.h: Likewise.
87149         * lib/sys_socket_.h: Likewise.
87150         * lib/sys_stat_.h: Likewise.
87151         * lib/sys_time_.h: Likewise.
87152         * lib/sysexits_.h: Likewise.
87153         * lib/time_.h: Likewise.
87154         * lib/unistd_.h: Likewise.
87155         * lib/wchar_.h: Likewise.
87156         * lib/wctype_.h: Likewise.
87158 2007-05-29  Bruno Haible  <bruno@clisp.org>
87160         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
87161         for the moment.
87163 2007-05-29  Bruno Haible  <bruno@clisp.org>
87165         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
87166         invocation.
87167         Reported by Eric Blake.
87169 2007-05-29  Bruno Haible  <bruno@clisp.org>
87171         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
87172         compiling case.
87174 2007-05-29  Eric Blake  <ebb9@byu.net>
87175             Bruno Haible  <bruno@clisp.org>
87177         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
87178         cross compiles.
87180 2007-05-28  Eric Blake  <ebb9@byu.net>
87182         * modules/closein-tests (test_closein_LDADD): Support test on
87183         cygwin with libtool.
87185 2007-05-28  Bruno Haible  <bruno@clisp.org>
87187         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
87188         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
87189         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
87190         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
87191         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
87192         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
87193         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
87194         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
87195         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
87197 2007-05-28  Eric Blake  <ebb9@byu.net>
87199         Unconditionally include <config.h> in unit tests.
87200         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
87201         * tests/test-allocsa.c, tests/test-arcfour.c,
87202         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
87203         tests/test-array_list.c, tests/test-array_oset.c,
87204         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
87205         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
87206         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
87207         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
87208         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
87209         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
87210         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
87211         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
87212         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
87213         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
87214         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
87215         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
87216         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
87217         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
87218         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
87219         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
87220         test-md5.c, test-memmem.c, test-printf-posix.c,
87221         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
87222         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
87223         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
87224         test-strcasestr.c, test-striconv.c, test-striconveh.c,
87225         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
87226         test-vasnprintf-posix2.c, test-vasnprintf.c,
87227         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
87228         test-vfprintf-posix.c, test-vprintf-posix.c,
87229         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
87230         test-xvasprintf.c: Likewise.
87232 2007-05-28  Bruno Haible  <bruno@clisp.org>
87234         * gnulib-tool (func_import): Remember the --with-tests command-line
87235         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
87236         Reported by Eric Blake.
87238 2007-05-28  Bruno Haible  <bruno@clisp.org>
87240         * modules/ftell-tests: New file.
87241         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
87242         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
87244         * lib/ftell.c: New file.
87245         * modules/ftell: New file.
87246         * m4/ftell.m4: New file.
87247         * doc/functions/ftell.texi: Update.
87248         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
87249         REPLACE_FTELL.
87250         * lib/stdio_.h (rpl_ftell): New declaration.
87251         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
87252         REPLACE_FTELL.
87254 2007-05-28  Eric Blake  <ebb9@byu.net>
87256         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
87258 2007-05-28  Bruno Haible  <bruno@clisp.org>
87260         * modules/fseek-tests: New file.
87261         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
87262         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
87264         * lib/fseek.c: New file.
87265         * modules/fseek: New file.
87266         * m4/fseek.m4: New file.
87267         * doc/functions/fseek.texi: Update.
87268         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
87269         REPLACE_FSEEK.
87270         * lib/stdio_.h (rpl_fseek): New declaration.
87271         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
87272         REPLACE_FSEEK.
87274 2007-05-28  Bruno Haible  <bruno@clisp.org>
87276         * lib/stdio_.h (fflush): More comments.
87278 2007-05-28  Bruno Haible  <bruno@clisp.org>
87280         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
87281         runtime test.
87283 2007-05-28  Eric Blake  <ebb9@byu.net>
87285         Improve lseek module.
87286         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
87287         * lib/unistd_.h (lseek): Scale back link warning message.
87288         * tests/test-lseek.c: Beef up test.
87289         * tests/test-lseek.sh: Exercise more facets of lseek.
87290         Reported by Bruno Haible.
87292 2007-05-28  Bruno Haible  <bruno@clisp.org>
87294         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
87295         to define.
87297 2007-05-27  Bruno Haible  <bruno@clisp.org>
87299         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
87301 2007-05-27  Bruno Haible  <bruno@clisp.org>
87303         * modules/openmp: New file.
87304         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
87305         Noah Misch.
87307 2007-05-26  Bruno Haible  <bruno@clisp.org>
87309         * modules/chdir-long (Depends-on): Add fchdir.
87310         * modules/chdir-safer (Depends-on): Likewise.
87311         * modules/fts (Depends-on): Likewise.
87312         * modules/fts-lgpl (Depends-on): Likewise.
87313         * modules/openat (Depends-on): Likewise.
87314         * modules/savewd (Depends-on): Likewise.
87316 2007-05-24  Eric Blake  <ebb9@byu.net>
87318         Fix lseek on mingw.
87319         * modules/lseek: New module.
87320         * m4/lseek.m4: New file.
87321         * lib/lseek.c: New file.
87322         * modules/lseek-tests: New file.
87323         * tests/test-lseek.c: New file.
87324         * tests/test-lseek.sh: New file.
87325         * MODULES.html.sh: Document lseek module.
87326         * modules/fflush (Depends-on): Add lseek, fseeko.
87327         * modules/fseeko (Depends-on): Likewise.
87328         * modules/ftello (Depends-on): Likewise.
87329         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
87330         broken.
87331         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
87332         broken.
87333         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
87334         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
87335         * lib/ftello.c (rpl_ftello): Likewise.
87336         * tests/test-fseeko.c (main): Test this.
87337         * tests/test-fseeko.sh: Likewise.
87338         * tests/test-ftello.c (main): Likewise.
87339         * tests/test-ftello.sh: Likewise.
87340         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
87341         implies replacing fseek.
87342         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
87343         HAVE_FTELLO.
87344         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
87345         * modules/unistd (Makefile.am): Likewise.
87346         * lib/unistd_.h (lseek): Declare a replacement.
87347         * doc/functions/lseek.texi (lseek): Document this fix.
87348         * doc/functions/fseek.texi (fseek): Likewise.
87349         * doc/functions/ftell.texi (ftell): Likewise.
87351 2007-05-24  Bruno Haible  <bruno@clisp.org>
87353         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
87354         in the printed representation of a NaN.
87355         * tests/test-vasprintf-posix.c (test_function): Likewise.
87356         * tests/test-snprintf-posix.h (test_function): Likewise.
87357         * tests/test-sprintf-posix.h (test_function): Likewise.
87358         Reported by Eric Blake.
87360 2007-05-23  Eric Blake  <ebb9@byu.net>
87362         Fix fseeko/ftello on cygwin 1.5.24.
87363         * doc/functions/fseeko.texi (fseeko): Document the fix.
87364         * doc/functions/ftello.texi (ftello): Document the fix.
87365         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
87366         * doc/functions/stdout.text (stdout): New file.
87367         * doc/functions/stderr.text (stderr): New file.
87368         * doc/gnulib.texi (Function Substitutes): Use new files.
87369         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
87370         prior to 1.7.0.
87371         * tests/test-ftello.c (main): Likewise for ftello.
87372         * tests/test-fseeko.sh: New file.
87373         * tests/test-ftello.sh: New file.
87374         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
87375         with seekable stdin.
87376         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
87377         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
87378         (gl_REPLACE_FSEEKO): New macro.
87379         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
87380         * modules/fseeko (Files): Distribute fseeko.c.
87381         * modules/ftello (Files): Distribute ftello.c.
87382         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
87383         mode.
87384         * lib/ftello.c (rpl_ftello): New file.
87385         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
87386         fseeko, ftello.
87387         (gl_STDIN_LARGE_OFFSET): New macro.
87388         * modules/stdio (Makefile.am): Perform the replacement.
87389         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
87391 2007-05-23  Bruno Haible  <bruno@clisp.org>
87393         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
87394         GNULIB_POSIXCHECK is defined.
87396 2007-05-21  Bruno Haible  <bruno@clisp.org>
87398         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
87399         Check also the output for NaN arguments. When cross-compiling, guess
87400         no on IRIX.
87401         * lib/vasnprintf.c: Update comments.
87402         * tests/test-vasnprintf-posix.c (strisnan): New function.
87403         (test_function): Use it.
87404         * tests/test-vasprintf-posix.c (strisnan): New function.
87405         (test_function): Use it.
87406         * tests/test-snprintf-posix.h (strisnan): New function.
87407         (test_function): Use it.
87408         * tests/test-sprintf-posix.h (strisnan): New function.
87409         (test_function): Use it.
87410         Reported by Eric Blake.
87412 2007-05-20  Bruno Haible  <bruno@clisp.org>
87414         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
87415         numbers that fails on BeOS.
87416         * doc/functions/frexpl.texi: Update.
87418 2007-05-20  Jim Meyering  <jim@meyering.net>
87420         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
87421         forced upon us by glibc-2.6.
87423 2007-05-20  Bruno Haible  <bruno@clisp.org>
87425         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
87426         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
87427         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
87428         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
87429         NEED_PRINTF_INFINITE.
87430         (is_infinitel): New function.
87431         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
87432         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
87433         gl_PREREQ_VASNPRINTF_INFINITE.
87434         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
87435         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87436         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
87437         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
87438         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
87439         gl_PREREQ_VASNPRINTF_INFINITE.
87440         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87441         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87442         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87443         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87444         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87445         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87446         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87447         * doc/functions/fprintf.texi: Update.
87448         * doc/functions/printf.texi: Update.
87449         * doc/functions/snprintf.texi: Update.
87450         * doc/functions/sprintf.texi: Update.
87451         * doc/functions/vfprintf.texi: Update.
87452         * doc/functions/vprintf.texi: Update.
87453         * doc/functions/vsnprintf.texi: Update.
87454         * doc/functions/vsprintf.texi: Update.
87456 2007-05-20  Bruno Haible  <bruno@clisp.org>
87458         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
87459         was not found in libc.
87460         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
87462 2007-05-20  Bruno Haible  <bruno@clisp.org>
87464         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
87465         printed as "-nan" instead of "nan".
87466         * tests/test-vasprintf-posix.c (test_function): Likewise.
87467         * tests/test-snprintf-posix.h (test_function): Likewise.
87468         * tests/test-sprintf-posix.h (test_function): Likewise.
87469         Needed for HP-UX 11.
87471 2007-05-20  Jim Meyering  <jim@meyering.net>
87473         Fix buggy test for the fchownat-deref bug.
87474         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
87475         symlink required for the run-test.  Without it, this test would
87476         always declare that fchownat doesn't work, and client code would
87477         unnecessarily use the replacement function with fixed libc.
87478         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
87479         Reported by Greg Schafer.
87481 2007-05-19  Bruno Haible  <bruno@clisp.org>
87483         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
87484         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
87485         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
87486         Needed for IRIX 6.5 and Solaris 2.5.1.
87488 2007-05-19  Bruno Haible  <bruno@clisp.org>
87490         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
87491         (test_function): Skip tests involving -0.0 on platforms where
87492         -0.0 = 0.0.
87493         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
87494         (test_function): Skip tests involving -0.0 on platforms where
87495         -0.0 = 0.0.
87496         * tests/test-snprintf-posix.h (have_minus_zero): New function.
87497         (test_function): Skip tests involving -0.0 on platforms where
87498         -0.0 = 0.0.
87499         * tests/test-sprintf-posix.h (have_minus_zero): New function.
87500         (test_function): Skip tests involving -0.0 on platforms where
87501         -0.0 = 0.0.
87502         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
87503         tests.
87504         * tests/test-printf-posix.h (test_function): Likewise.
87505         * tests/test-printf-posix.output: Remove all -0.0 related results.
87506         Needed for IRIX 6.5.
87508 2007-05-19  Bruno Haible  <bruno@clisp.org>
87510         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
87511         printed as "nan0x7fffffff" instead of "nan".
87512         * tests/test-vasprintf-posix.c (test_function): Likewise.
87513         * tests/test-snprintf-posix.h (test_function): Likewise.
87514         * tests/test-sprintf-posix.h (test_function): Likewise.
87515         * tests/test-fprintf-posix.h (NaN): Remove macro.
87516         (test_function): Remove all NaN related tests.
87517         * tests/test-printf-posix.h (NaN): Remove macro.
87518         (test_function): Remove all NaN related tests.
87519         * tests/test-printf-posix.output: Remove all NaN related results.
87520         Needed for IRIX 6.5.
87522 2007-05-19  Bruno Haible  <bruno@clisp.org>
87524         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
87525         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
87527 2007-05-19  Bruno Haible  <bruno@clisp.org>
87529         * lib/float_.h: New file.
87530         * m4/float_h.m4: New file.
87531         * modules/float: New file.
87532         * modules/isnanl (Dependencies): Add float.
87533         * modules/isnanl-nolibm (Dependencies): Likewise.
87534         * modules/mathl (Dependencies): Likewise.
87535         * modules/printf-frexpl (Dependencies): Likewise.
87536         * modules/signbit (Dependencies): Likewise.
87537         * modules/vasnprintf (Dependencies): Likewise.
87538         * doc/headers/float.texi: Update.
87540 2007-05-19  Jim Meyering  <jim@meyering.net>
87542         * lib/utimens.c (gl_futimens): Rename from futimens,
87543         now that glibc-2.6 declares futimens.
87544         * lib/utimens.h: Likewise.
87546 2007-05-19  Bruno Haible  <bruno@clisp.org>
87548         Avoid test failures on mingw.
87549         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
87550         * tests/test-printf-posix.sh: Likewise.
87551         * tests/test-vfprintf-posix.sh: Likewise.
87552         * tests/test-vprintf-posix.sh: Likewise.
87554 2007-05-19  Bruno Haible  <bruno@clisp.org>
87556         Fix *printf result for NaN, Inf, -0.0 on mingw.
87557         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
87558         * lib/vasnprintf.c: Include math.h and isnan.h.
87559         (is_infinite_or_zero): New function.
87560         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
87561         values in the %f, %F, %e, %E, %g, %G directives.
87562         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
87563         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87564         gl_PRINTF_INFINITE and test its result. Invoke
87565         gl_PREREQ_VASNPRINTF_INFINITE.
87566         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87567         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87568         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87569         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87570         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87571         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87572         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87573         * doc/functions/fprintf.texi: Update.
87574         * doc/functions/printf.texi: Update.
87575         * doc/functions/snprintf.texi: Update.
87576         * doc/functions/sprintf.texi: Update.
87577         * doc/functions/vfprintf.texi: Update.
87578         * doc/functions/vprintf.texi: Update.
87579         * doc/functions/vsnprintf.texi: Update.
87580         * doc/functions/vsprintf.texi: Update.
87582 2007-05-19  Bruno Haible  <bruno@clisp.org>
87584         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
87585         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
87586         Instead of multiplying with 10^k, set extra_zeroes to k.
87587         (scale10_round_long_double): Remove function.
87589 2007-05-18  Bruno Haible  <bruno@clisp.org>
87591         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
87592         introduced on 2007-05-06.
87594 2007-05-18  Bruno Haible  <bruno@clisp.org>
87596         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
87597         %g directives.
87598         * tests/test-vasprintf-posix.c (test_function): Likewise.
87599         * tests/test-snprintf-posix.h (test_function): Likewise.
87600         * tests/test-sprintf-posix.h (test_function): Likewise.
87602 2007-05-18  Bruno Haible  <bruno@clisp.org>
87604         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
87605         (strmatch): New function.
87606         (test_function): Test the %f directive on numbers of various exponents.
87607         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
87608         (strmatch): New function.
87609         (test_function): Test the %f directive on numbers of various exponents.
87610         * tests/test-snprintf-posix.h (strmatch): New function.
87611         (test_function): Test the %f directive on numbers of various exponents.
87612         * tests/test-sprintf-posix.h (strmatch): New function.
87613         (test_function): Test the %f directive on numbers of various exponents.
87614         * tests/test-snprintf-posix.c (SIZEOF): New macro.
87615         * tests/test-sprintf-posix.c (SIZEOF): New macro.
87616         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
87617         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
87619 2007-05-18  Bruno Haible  <bruno@clisp.org>
87621         Add support for 'long double' number output.
87622         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
87623         * lib/vasnprintf.c: Include math.h and float+.h.
87624         (mp_limb_t): New type.
87625         (GMP_LIMB_BITS): New macro.
87626         (mp_twolimb_t): New type.
87627         (GMP_TWOLIMB_BITS): New macro.
87628         (mpn_t): New type.
87629         (multiply, divide, convert_to_decimal, decode_long_double,
87630         scale10_round_long_double, scale10_round_decimal_long_double,
87631         floorlog10l): New functions.
87632         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
87633         for the %f, %F, %e, %E, %g, %G directives.
87634         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
87635         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87636         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
87637         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
87638         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87639         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87640         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87641         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87642         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87643         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87644         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87645         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
87646         * modules/snprintf-posix (Depends-on): Likewise.
87647         * modules/sprintf-posix (Depends-on): Likewise.
87648         * modules/vasnprintf-posix (Depends-on): Likewise.
87649         * modules/vasprintf-posix (Depends-on): Likewise.
87650         * modules/vfprintf-posix (Depends-on): Likewise.
87651         * modules/vsnprintf-posix (Depends-on): Likewise.
87652         * modules/vsprintf-posix (Depends-on): Likewise.
87653         * modules/vasnprintf (Files): Add lib/float+.h.
87654         * doc/functions/fprintf.texi: Update.
87655         * doc/functions/printf.texi: Update.
87656         * doc/functions/snprintf.texi: Update.
87657         * doc/functions/sprintf.texi: Update.
87658         * doc/functions/vfprintf.texi: Update.
87659         * doc/functions/vprintf.texi: Update.
87660         * doc/functions/vsnprintf.texi: Update.
87661         * doc/functions/vsprintf.texi: Update.
87663 2007-05-18  Bruno Haible  <bruno@clisp.org>
87665         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
87667 2007-05-18  Bruno Haible  <bruno@clisp.org>
87669         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
87670         for printing 64-bit integers. Needed for mingw.
87672 2007-05-18  Bruno Haible  <bruno@clisp.org>
87674         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
87675         gl_FUNC_FREXPL_WORKS.
87676         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
87678 2007-05-18  Bruno Haible  <bruno@clisp.org>
87680         * modules/frexpl-nolibm-tests: New file.
87682         * modules/frexpl-nolibm: New file.
87683         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
87685 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87687         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
87688         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
87689         GCC 4.2, which otherwise issues a lot of warnings.
87690         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
87691         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
87692         Likewise.
87693         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
87694         * modules/iconv_open (iconv.h): Likewise.
87695         * modules/locale (locale.h): Likewise.
87696         * modules/netinet_in (netinet/in.h): Likewise.
87697         * modules/sys_select (sys_select.h): Likewise.
87698         * modules/sys_socket (sys/socket.h): Likewise.
87699         * modules/sys_stat (sys/stat.h): Likewise.
87700         * modules/sysexits (sysexits.h): Likewise.
87701         * modules/unistd (unistd.h): Likewise.
87703 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87705         * modules/closein-tests (Makefile.am): Distribute
87706         `test-closein.sh'.
87708 2007-05-17  Bruno Haible  <bruno@clisp.org>
87710         * tests/test-printf-posix.output: Renamed from
87711         tests/test-fprintf-posix.out.
87712         * modules/fprintf-posix-tests: Update.
87713         * modules/printf-posix-tests: Update.
87714         * modules/vfprintf-posix-tests: Update.
87715         * modules/vprintf-posix-tests: Update.
87716         * tests/test-fprintf-posix.sh: Update.
87717         * tests/test-printf-posix.sh: Update.
87718         * tests/test-vfprintf-posix.sh: Update.
87719         * tests/test-vprintf-posix.sh: Update.
87720         Reported by Ralf Wildenhues.
87722 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87724         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
87725         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
87726         GCC 4.2, which otherwise issues a lot of warnings.
87727         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
87728         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
87729         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
87730         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
87731         it should no longer be needed.
87732         * lib/string_.h: Likewise.
87733         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
87734         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
87735         * modules/inttypes (inttypes.h): Likewise.
87736         * modules/math (math.h): Likewise.
87737         * modules/search (search.h): Likewise.
87738         * modules/signal (signal.h): Likewise.
87739         * modules/stdint (stdint.h): Likewise.
87740         * modules/stdio (stdio.h): Likewise.
87741         * modules/stdlib (stdlib.h): Likewise.
87742         * modules/string (string.h): Likewise.
87743         * modules/sys_time (sys/time.h): Likewise.
87744         * modules/time (time.h): Likewise.
87745         * modules/wchar (wchar.h): Likewise.
87746         * modules/wctype (wtype.h): Likewise.
87748 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
87750         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
87752 2007-05-13  Bruno Haible  <bruno@clisp.org>
87754         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
87755         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
87756         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
87757         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
87758         (gl_PREREQ_STRTOK_R): Don't require it here.
87760 2007-05-13  Bruno Haible  <bruno@clisp.org>
87762         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
87763         when used in C++ mode.
87765 2007-05-12  Bruno Haible  <bruno@clisp.org>
87767         * lib/linebuffer.h: Tweak doc.
87768         * lib/linebuffer.c: Likewise.
87770 2007-05-12  James Youngman  <jay@gnu.org>
87772         * lib/linebuffer.c (readlinebuffer_delim): New function,
87773         like readlinebuffer, but use a caller-specified delimiter.
87774         (readlinebuffer): Just call readlinebuffer_delim with '\n'
87775         as the delimiter.
87776         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
87778 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
87780         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
87781         * modules/openat (Files): Remove openat-die.c.
87782         (Depends-on): Add openat-die.
87783         * modules/openat-die: New module.
87785 2007-05-06  Bruno Haible  <bruno@clisp.org>
87787         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
87788         Update with info about Cygwin.
87789         * doc/functions/fprintf.texi: Update.
87790         * doc/functions/printf.texi: Update.
87791         * doc/functions/snprintf.texi: Update.
87792         * doc/functions/sprintf.texi: Update.
87793         * doc/functions/vfprintf.texi: Update.
87794         * doc/functions/vprintf.texi: Update.
87795         * doc/functions/vsnprintf.texi: Update.
87796         * doc/functions/vsprintf.texi: Update.
87797         Reported by Eric Blake.
87799 2007-05-06  Bruno Haible  <bruno@clisp.org>
87801         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
87802         padding ourselves for the floating-point directives.
87803         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
87804         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
87805         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87806         gl_PRINTF_FLAG_ZERO and test its result. Invoke
87807         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
87808         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87809         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
87810         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87811         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87812         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87813         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87814         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87815         * tests/test-snprintf-posix.h (test_function): Also check the width
87816         and some flags in the %f directive.
87817         * tests/test-sprintf-posix.h (test_function): Likewise.
87818         * tests/test-vasnprintf-posix.c (test_function): Likewise.
87819         * tests/test-vasprintf-posix.c (test_function): Likewise.
87820         * doc/functions/fprintf.texi: Update.
87821         * doc/functions/printf.texi: Update.
87822         * doc/functions/snprintf.texi: Update.
87823         * doc/functions/sprintf.texi: Update.
87824         * doc/functions/vfprintf.texi: Update.
87825         * doc/functions/vprintf.texi: Update.
87826         * doc/functions/vsnprintf.texi: Update.
87827         * doc/functions/vsprintf.texi: Update.
87829 2007-05-06  Bruno Haible  <bruno@clisp.org>
87831         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
87832         pass the ' flag character to sprintf or snprintf.
87833         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
87834         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
87835         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87836         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
87837         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
87838         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87839         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
87840         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87841         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87842         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87843         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87844         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87845         * tests/test-snprintf-posix.h (test_function): Also check the grouping
87846         flag.
87847         * tests/test-sprintf-posix.h (test_function): Likewise.
87848         * tests/test-vasnprintf-posix.c (test_function): Likewise.
87849         * tests/test-vasprintf-posix.c (test_function): Likewise.
87850         * doc/functions/fprintf.texi: Update.
87851         * doc/functions/printf.texi: Update.
87852         * doc/functions/snprintf.texi: Update.
87853         * doc/functions/sprintf.texi: Update.
87854         * doc/functions/vfprintf.texi: Update.
87855         * doc/functions/vprintf.texi: Update.
87856         * doc/functions/vsnprintf.texi: Update.
87857         * doc/functions/vsprintf.texi: Update.
87859 2007-05-01  Bruno Haible  <bruno@clisp.org>
87861         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
87863 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
87865         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
87866         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
87868 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
87870         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
87871         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
87872         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
87874 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
87876         * lib/argp-help.c (struct hol_entry): New member `ord'.
87877         (HOL_ENTRY_PTRCMP): Use ord for comparison
87878         (hol_sort): Initialize ord.
87880 2007-05-01  Bruno Haible  <bruno@clisp.org>
87882         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
87883         Reported by Eric Blake.
87884         * doc/gnulib.texi (Function Substitutes): Update.
87886 2007-05-01  Bruno Haible  <bruno@clisp.org>
87888         * doc/functions.texi: Remove file, now redundant through
87889         doc/functions/*.texi.
87891 2007-05-01  Bruno Haible  <bruno@clisp.org>
87893         * modules/argp (Depends-on): Add sleep.
87895 2007-05-01  Bruno Haible  <bruno@clisp.org>
87897         * modules/sleep-tests: New file.
87898         * tests/test-sleep.c: New file.
87900         * modules/sleep: New file.
87901         * lib/sleep.c: New file.
87902         * m4/sleep.m4: New file.
87903         * lib/unistd_.h (sleep): New declaration.
87904         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
87905         HAVE_SLEEP.
87906         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
87907         * doc/functions/sleep.texi: Document the sleep module.
87909 2007-05-01  Bruno Haible  <bruno@clisp.org>
87911         * lib/sigprocmask.h: Remove file.
87912         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
87913         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
87914         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
87915         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
87916         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
87917         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
87918         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
87919         HAVE_SIGSET_T as a shell variable.
87920         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
87921         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
87922         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
87923         (Depends-on): Add signal. Remove verify.
87924         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
87925         (Include): Mention <signal.h> instead of sigprocmask.h.
87926         * NEWS: Mention the change.
87927         * lib/fatal-signal.c: Don't include sigprocmask.h.
87929 2007-05-01  Bruno Haible  <bruno@clisp.org>
87931         * modules/signal: New file.
87932         * lib/signal_.h: New file.
87933         * m4/signal_h.m4: New file.
87935 2007-05-01  Bruno Haible  <bruno@clisp.org>
87937         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
87938         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
87939         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
87940         HAVE_WCTYPE_CTMP_BUG into wctype.h.
87942 2007-05-01  Bruno Haible  <bruno@clisp.org>
87944         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
87945         configure time.
87946         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
87947         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
87948         * modules/sys_stat (Makefile.am): Substitute their values into
87949         sys/stat.h.
87951 2007-05-01  Bruno Haible  <bruno@clisp.org>
87953         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
87954         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
87955         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
87957 2007-05-01  Bruno Haible  <bruno@clisp.org>
87959         * doc/header/assert.texi: Undo last change: don't mention the gnulib
87960         'assert' module here.
87962 2007-05-01  Bruno Haible  <bruno@clisp.org>
87964         * doc/functions/*.texi: New files.
87965         * doc/functions/google-ranking.txt: New file.
87966         * doc/gnulib.texi (Function Substitutes): New chapter.
87967         (ctime, inet_ntoa): Remove sections.
87968         * doc/ctime.texi: Remove file.
87969         * doc/inet_ntoa.texi: Remove file.
87970         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
87971         dependencies.
87972         (%.info): New rule, specifying a --reference-limit.
87974 2007-05-01  Bruno Haible  <bruno@clisp.org>
87976         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
87978 2007-05-01  Bruno Haible  <bruno@clisp.org>
87980         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
87981         the portability of 'mkdir' to mingw systems.
87983 2007-05-01  Bruno Haible  <bruno@clisp.org>
87985         * doc/headers/google-ranking.txt: New file.
87987 2007-04-30  Eric Blake  <ebb9@byu.net>
87989         Prefer fseeko to fseek.
87990         * modules/getpass (Depends-on): Add fseeko.
87991         * lib/getpass.c (getpass): Use fseeko, not fseek.
87993 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
87995         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
87996         assumes the sorting is stable, while most qsort implementations
87997         are not.  Use argument addresses to ensure they never compare as
87998         equal.
88000         * tests/test-argp-2.sh (usage-indent test): Fix output
88001         (func_compare): Restore diff options
88002         * tests/test-argp.c: Restore #include "progname.h"
88004 2007-04-29  Bruno Haible  <bruno@clisp.org>
88006         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
88007         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
88008         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
88009         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
88010         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
88011         (configure.ac): Define CHECK_SNPRINTF_POSIX.
88012         (TESTS, check_PROGRAMS): Add test-snprintf.
88013         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
88014         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
88015         (TESTS, check_PROGRAMS): Add test-vsnprintf.
88016         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
88017         assertions that fail on HP-UX, OSF/1, or IRIX.
88018         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
88020 2007-04-29  Bruno Haible  <bruno@clisp.org>
88022         * MODULES.html.sh (posix_functions): Remove 'contents'.
88024 2007-04-29  Karl Berry  <karl@gnu.org>
88026         * config/srclist.txt (gendocs_template_min): new entry.
88028 2007-04-29  Bruno Haible  <bruno@clisp.org>
88030         Work around fpurge bug on BSD systems.
88031         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
88032         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
88033         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
88034         fpurge to rpl_fpurge if the system already has this function.
88035         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
88036         the case where the system already has this function. Correct invariants
88037         on BSD systems.
88038         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
88039         BSD systems.
88041 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
88043         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
88044         proposed by Sven Verdoolaege.
88046         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
88047         options.
88048         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
88049         (usage and help tests): Update
88051 2007-04-29  Bruno Haible  <bruno@clisp.org>
88053         * tests/test-fflush.c (main): Use a file of size 17, not 10.
88054         Print more information in case of failure. Disable a test on BeOS.
88056 2007-04-29  Bruno Haible  <bruno@clisp.org>
88058         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
88059         This helps debugging on systems on which no gdb is available.
88061 2007-04-29  Bruno Haible  <bruno@clisp.org>
88063         * lib/freading.h: Improve comments.
88064         * lib/fwriting.h: Likewise.
88065         * tests/test-freading.c (main): Don't check freading immediately after
88066         repositioning. Needed for glibc.
88068 2007-04-29  Bruno Haible  <bruno@clisp.org>
88070         * lib/freading.c (freading): Trivial simplification.
88072 2007-04-28  Bruno Haible  <bruno@clisp.org>
88074         * tests/test-fwriting.c (main): Also test the interaction between
88075         fflush and fwriting.
88076         * modules/fwriting-tests (Depends-on): Add fflush.
88078         * tests/test-freading.c (main): Also test the interaction between
88079         fflush and freading.
88080         * modules/freading-tests (Depends-on): Add fflush.
88082 2007-04-28  Bruno Haible  <bruno@clisp.org>
88084         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
88085         fseeko and ftello.
88086         Suggested by Eric Blake.
88088 2007-04-28  Jim Meyering  <jim@meyering.net>
88090         Avoid false-negative in gl_STDINT_H's C99 conformance test.
88091         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
88092         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
88094 2007-04-27  Eric Blake  <ebb9@byu.net>
88096         * doc/headers/assert.texi (assert.h): Document assert module use.
88098 2007-04-27  Bruno Haible  <bruno@clisp.org>
88100         * doc/headers/*.texi: New files.
88101         * doc/gnulib.texi (Header File Substitutes): New chapter.
88102         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
88103         dependencies.
88104         (standards.info ,standards.html, standards.dvi): Update dependencies.
88105         (mostlyclean, clean): New targets.
88107 2007-04-27  Bruno Haible  <bruno@clisp.org>
88109         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
88110         * modules/sysexits (Files, Makefile.am): Update.
88112         * lib/sys_socket_.h: Renamed from lib/socket_.h.
88113         * modules/sys_socket (Files, Makefile.am): Update.
88115         * lib/sys_stat_.h: Renamed from lib/stat_.h.
88116         * modules/sys_stat (Files, Makefile.am): Update.
88118 2007-04-27  Eric Blake  <ebb9@byu.net>
88120         * lib/freading.h: Improve comments.
88121         * lib/fwriting.h: Likewise.
88122         * lib/fflush.c: Likewise.
88124         Fix closein for mingw.
88125         * modules/closein-tests: Add tests for closein.
88126         * tests/test-closein.c: New file.
88127         * tests/test-closein.sh: Likewise.
88128         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
88129         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
88131 2007-04-27  Bruno Haible  <bruno@clisp.org>
88133         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
88134         version is < 6.
88135         * lib/math_.h [__DECC]: Likewise.
88136         * lib/stdio_.h [__DECC]: Likewise.
88137         * lib/stdlib_.h [__DECC]: Likewise.
88138         * lib/string_.h [__DECC]: Likewise.
88139         * lib/time_.h [__DECC]: Likewise.
88140         * lib/wchar_.h [__DECC]: Likewise.
88141         * lib/wctype_.h [__DECC]: Likewise.
88143 2007-04-27  Bruno Haible  <bruno@clisp.org>
88145         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
88147 2007-04-27  Bruno Haible  <bruno@clisp.org>
88149         * lib/fflush.c: Add comments.
88150         * modules/fpurge-tests (Depends-on): Add fflush.
88151         * modules/freadable-tests (Depends-on): Likewise.
88152         * modules/fwritable-tests (Depends-on): Likewise.
88154 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
88156         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
88157         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
88158         Report by Bruno Haible <bruno@clisp.org>.
88160 2007-04-26  Eric Blake  <ebb9@byu.net>
88162         Fix fflush on mingw.
88163         * modules/fflush (Depends-on): Add freading.
88164         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
88165         but unread data.
88167 2007-04-26  Eric Blake  <ebb9@byu.net>
88168         and Bruno Haible  <bruno@clisp.org>
88170         Implement freading and fwriting.
88171         * lib/freading.c: New file.
88172         * lib/freading.h: Likewise.
88173         * m4/freading.m4: Likewise.
88174         * modules/freading: Likewise.
88175         * modules/freading-tests: Likewise.
88176         * tests/test-freading.c: Likewise.
88177         * lib/fwriting.c: New file.
88178         * lib/fwriting.h: Likewise.
88179         * m4/fwriting.m4: Likewise.
88180         * modules/fwriting: Likewise.
88181         * modules/fwriting-tests: Likewise.
88182         * tests/test-fwriting.c: Likewise.
88183         * MODULES.html.sh (File stream based Input/Output): Mention them.
88185 2007-04-26  Bruno Haible  <bruno@clisp.org>
88187         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
88188         'long' when we assume it.
88189         Suggested by Eric Blake.
88191 2007-04-26  Bruno Haible  <bruno@clisp.org>
88193         Ensure fseeko, ftello are declared on glibc systems.
88194         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
88195         * modules/fseeko (configure.ac-early): Likewise.
88196         * modules/ftello (configure.ac-early): Likewise.
88197         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
88198         AC_FUNC_FSEEKO for this.
88199         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
88200         (gl_CHECK_FSEEKO): Remove macro.
88202 2007-04-26  Bruno Haible  <bruno@clisp.org>
88204         * tests/test-fflush.c (main): Also check the ftell result after
88205         fflush and fseek/fseeko.
88206         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
88207         file descriptor position cache in the stream.
88208         * lib/fseeko.c (rpl_fseeko): Likewise.
88210 2007-04-26  Bruno Haible  <bruno@clisp.org>
88212         * modules/fflush-tests (Depends-on): Add fseeko.
88214 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
88215             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88217         * lib/argz_.h: ensure error_t definition is obtained in same
88218         mechanism system argz.h would have.
88219         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
88220         argz facilities are known bad.  Err on the side of caution if
88221         cross-compiling.
88223 2007-04-25  Eric Blake  <ebb9@byu.net>
88225         * lib/fpurge.c (includes): Use stdlib.h for free.
88226         * tests/test-fflush.c (main): Also test fflush-fseeko.
88228 2007-04-25  Bruno Haible  <bruno@clisp.org>
88230         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
88231         * lib/fseeko.c: New file.
88232         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
88233         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
88234         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
88235         gl_FUNC_FSEEKO.
88236         (gl_FUNC_FSEEKO): Invoke it.
88237         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
88238         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
88239         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
88241 2007-04-25  Bruno Haible  <bruno@clisp.org>
88243         * modules/fflush (Depends-on): Add ftello.
88245 2007-04-25  Bruno Haible  <bruno@clisp.org>
88247         * modules/ftello-tests: New file.
88248         * tests/test-ftello.c: New file.
88250         * modules/ftello: New file.
88251         * m4/ftello.m4: New file.
88252         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
88253         HAVE_FTELLO.
88254         * lib/stdio_.h (ftello): New declaration.
88255         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
88256         HAVE_FTELLO.
88258 2007-04-25  Bruno Haible  <bruno@clisp.org>
88260         * modules/fseeko-tests: New file.
88261         * tests/test-fseeko.c: New file.
88263         * modules/fseeko: New file.
88264         * m4/fseeko.m4: New file.
88265         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
88266         HAVE_FSEEKO.
88267         * lib/stdio_.h (fseeko): New declaration.
88268         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
88269         HAVE_FSEEKO.
88271 2007-04-25  Bruno Haible  <bruno@clisp.org>
88273         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
88275 2007-04-25  Bruno Haible  <bruno@clisp.org>
88277         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
88278         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
88279         * tests/test-unistd.c: Likewise.
88280         * tests/test-fcntl.c: Likewise.
88282 2007-04-23  Eric Blake  <ebb9@byu.net>
88284         * lib/fflush.c: Fix missing include.
88285         Reported by Bruno Haible.
88287 2007-04-23  Bruno Haible  <bruno@clisp.org>
88289         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
88290         Reported by Eric Blake.
88292 2007-04-23  Bruno Haible  <bruno@clisp.org>
88294         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
88296 2007-04-23  Bruno Haible  <bruno@clisp.org>
88298         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
88300 2007-04-23  Bruno Haible  <bruno@clisp.org>
88302         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
88303         Needed on HP-UX 11.
88305 2007-04-16  Eric Blake  <ebb9@byu.net>
88307         Make fflush rely on fpurge.
88308         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
88309         open coding all variants.
88310         * modules/fflush (Depends-on): Add fpurge and unistd.
88311         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
88312         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
88314         Fix --with-tests compilation on cygwin.
88315         * modules/argmatch-tests (Makefile.am): List gnulib library first
88316         in LDADD.
88317         * modules/argp-tests (Makefile.am): Likewise.
88318         * modules/array-list-tests (Makefile.am): Likewise.
88319         * modules/array-oset-tests (Makefile.am): Likewise.
88320         * modules/avltree-list-tests (Makefile.am): Likewise.
88321         * modules/avltree-oset-tests (Makefile.am): Likewise.
88322         * modules/avltreehash-list-tests (Makefile.am): Likewise.
88323         * modules/carray-list-tests (Makefile.am): Likewise.
88324         * modules/dirname-tests (Makefile.am): Likewise.
88325         * modules/frexp-tests (Makefile.am): Likewise.
88326         * modules/isnanl-tests (Makefile.am): Likewise.
88327         * modules/linked-list-tests (Makefile.am): Likewise.
88328         * modules/linkedhash-list-tests (Makefile.am): Likewise.
88329         * modules/lock-tests (Makefile.am): Likewise.
88330         * modules/rbtree-list-tests (Makefile.am): Likewise.
88331         * modules/rbtree-oset-tests (Makefile.am): Likewise.
88332         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
88333         * modules/tls-tests (Makefile.am): Likewise.
88334         * modules/tsearch-tests (Makefile.am): Likewise.
88335         * modules/xvasprintf-tests (Makefile.am): Likewise.
88337         Fix fpurge for cygwin.
88338         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
88339         value.
88340         * modules/fpurge-tests (Depends-on): Clean up trash.
88342 2007-04-16  Simon Josefsson  <simon@josefsson.org>
88344         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
88346         * m4/autobuild.m4: Re-indent.
88348 2007-04-13  Bruno Haible  <bruno@clisp.org>
88350         * modules/fpurge-tests: New file.
88351         * tests/test-fpurge.c: New file.
88353         * modules/fpurge: New file.
88354         * lib/fpurge.h: New file.
88355         * lib/fpurge.c: New file.
88356         * m4/fpurge.m4: New file.
88358 2007-04-13  Bruno Haible  <bruno@clisp.org>
88360         * modules/fbufmode-tests: New file.
88361         * tests/test-fbufmode.c: New file.
88363         * modules/fbufmode: New file.
88364         * lib/fbufmode.h: New file.
88365         * lib/fbufmode.c: New file.
88366         * m4/fbufmode.m4: New file.
88368 2007-04-13  Bruno Haible  <bruno@clisp.org>
88370         * modules/fwritable-tests: New file.
88371         * tests/test-fwritable.c: New file.
88373         * modules/fwritable: New file.
88374         * lib/fwritable.h: New file.
88375         * lib/fwritable.c: New file.
88376         * m4/fwritable.m4: New file.
88378 2007-04-13  Bruno Haible  <bruno@clisp.org>
88380         * modules/freadable-tests: New file.
88381         * tests/test-freadable.c: New file.
88383         * modules/freadable: New file.
88384         * lib/freadable.h: New file.
88385         * lib/freadable.c: New file.
88386         * m4/freadable.m4: New file.
88388 2007-04-13  Bruno Haible  <bruno@clisp.org>
88390         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
88391         MOSTLYCLEANFILES.
88393 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
88395         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
88396         gzip bootstrap.conf to avoid dragging in i18n machinery.
88397         (gnulib_tool_option): Use it.
88399 2007-04-13  Bruno Haible  <bruno@clisp.org>
88401         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
88402         %F directives.
88403         * tests/test-vasprintf-posix.c (test_function): Likewise.
88404         * tests/test-snprintf-posix.h (test_function): Likewise.
88405         * tests/test-sprintf-posix.h (test_function): Likewise.
88406         * tests/test-fprintf-posix.h (test_function): Likewise.
88407         * tests/test-printf-posix.h (test_function): Likewise.
88408         * tests/test-fprintf-posix.out: Likewise.
88410 2007-04-13  Bruno Haible  <bruno@clisp.org>
88412         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
88413         * modules/tls-tests (configure.ac): Likewise.
88414         Reported by Arto C. Nirkko <anirkko@insel.ch>.
88416 2007-04-13  Bruno Haible  <bruno@clisp.org>
88418         * lib/tls.c (glthread_tls_get): Fix return type.
88419         Patch by Arto C. Nirkko <anirkko@insel.ch>.
88421 2007-04-12  Eric Blake  <ebb9@byu.net>
88423         * modules/gettime (Depends-on): Remove gettime.
88424         Reported by Dmitry V. Levin.
88426 2007-04-12  Bruno Haible  <bruno@clisp.org>
88428         * modules/fflush (Include): Mention <stdio.h>.
88429         * modules/strtoimax (Include): Mention <inttypes.h>.
88430         * modules/strtoumax (Include): Likewise.
88432 2007-04-12  Eric Blake  <ebb9@byu.net>
88434         * .cvsignore: New file.
88435         * .gitignore: Likewise.
88437 2007-04-12  Bruno Haible  <bruno@clisp.org>
88439         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
88440         not before, since $(LDADD) often contains libgnu.a.
88441         * modules/striconv-tests (test_striconv_LDADD): Likewise.
88442         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
88443         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
88444         Needed on Cygwin.
88446 2007-04-12  Eric Blake  <ebb9@byu.net>
88448         Work around glibc's failure to flush stdin on fclose.
88449         * lib/closein.c (close_stdin): Flush stdin before closing.
88451         Work around glibc's failure to reset seekable stdin on exit.
88452         * modules/closein: New module.
88453         * lib/closein.c: New file.
88454         * lib/closein.h: Likewise.
88455         * m4/closein.m4: Likewise.
88456         * MODULES.html.sh (File stream based Input/Output): Document it.
88458 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88460         * gnulib-tool: Rename generated 'autobuild' script to
88461         'do-autobuild' in --create-megatestdir output.
88463         * doc/gnulib.texi (Build robot for gnulib): Fix.
88465 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88467         * modules/sysexits (Depends-on): Add absolute-header.
88469 2007-04-12  Eric Blake  <ebb9@byu.net>
88471         No need to preserve errno on success.
88472         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
88473         Reported by Bruno Haible.
88475 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88477         * MODULES.html.sh (Support for maintaining and releasing
88478         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
88480 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88482         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
88484 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88486         * modules/autobuild: New module.
88488         * m4/autobuild.m4: New file.
88490 2007-04-11  Bruno Haible  <bruno@clisp.org>
88492         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
88493         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
88494         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
88495         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
88496         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
88497         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88498         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88499         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
88500         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88501         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88502         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
88503         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88504         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88505         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
88506         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88507         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88508         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
88509         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88510         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88511         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
88512         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88513         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88514         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
88515         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88516         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88517         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
88518         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88519         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88520         Reported by Eric Blake.
88522 2007-04-11  Bruno Haible  <bruno@clisp.org>
88524         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
88526 2007-04-10  Bruno Haible  <bruno@clisp.org>
88528         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
88529         for NaN and Infinity. Needed on FreeBSD 6.1.
88530         * tests/test-vasnprintf-posix.c (test_function): Undo last change
88531         regarding results for "%010a" of Infinity and NaN.
88532         * tests/test-vasprintf-posix.c (test_function): Likewise.
88533         * tests/test-snprintf-posix.h (test_function): Likewise.
88534         * tests/test-sprintf-posix.h (test_function): Likewise.
88535         * tests/test-fprintf-posix.h (test_function): Likewise.
88536         * tests/test-printf-posix.h (test_function): Likewise.
88537         * tests/test-fprintf-posix.out: Likewise.
88539 2007-04-10  Bruno Haible  <bruno@clisp.org>
88541         * modules/locale-tests: New file.
88542         * tests/test-locale.c: New file.
88544         * modules/locale: New file.
88545         * lib/locale_.h: New file.
88546         * m4/locale_h.m4: New file.
88548 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
88549             Bruno Haible  <bruno@clisp.org>
88551         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
88552         be determined, test for availability of the copysignf, copysign,
88553         copysignl functions.
88554         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
88555         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
88556         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
88558 2007-04-09  Eric Blake  <ebb9@byu.net>
88560         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
88561         * modules/stdio (Makefile.am): Support fflush.
88562         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
88563         * modules/fflush: New file.
88564         * lib/fflush.c: Likewise.
88565         * m4/fflush.m4: Likewise.
88566         * modules/fflush-tests: New test.
88567         * tests/test-fflush.c: Likewise.
88568         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
88570 2007-04-06  Bruno Haible  <bruno@clisp.org>
88572         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
88573         (VASNPRINTF): Use signbit for faster determination whether to print a
88574         minus sign.
88575         * modules/vasnprintf (Files): Remove lib/float+.h.
88576         * modules/fprintf-posix (Depends-on): Add signbit.
88577         * modules/snprintf-posix (Depends-on): Likewise.
88578         * modules/sprintf-posix (Depends-on): Likewise.
88579         * modules/vasnprintf-posix (Depends-on): Likewise.
88580         * modules/vasprintf-posix (Depends-on): Likewise.
88581         * modules/vfprintf-posix (Depends-on): Likewise.
88582         * modules/vsnprintf-posix (Depends-on): Likewise.
88583         * modules/vsprintf-posix (Depends-on): Likewise.
88585 2007-04-06  Bruno Haible  <bruno@clisp.org>
88587         * tests/test-frexp.c (main): Test also the sign bit of zero results.
88588         * tests/test-frexpl.c (main): Likewise.
88589         * tests/test-ldexpl.c (main): Likewise.
88590         * modules/frexp-tests (Depends-on): Add signbit.
88591         * modules/frexpl-tests (Depdends-on): Likewise.
88592         * modules/ldexpl-tests (Depdends-on): Likewise.
88594 2007-04-06  Bruno Haible  <bruno@clisp.org>
88596         * modules/signbit-tests: New file.
88597         * tests/test-signbit.c: New file.
88599         * modules/signbit: New file.
88600         * lib/signbitf.c: New file.
88601         * lib/signbitd.c: New file.
88602         * lib/signbitl.c: New file.
88603         * m4/signbit.m4: New file.
88604         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
88605         (signbit): New macro.
88606         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
88607         REPLACE_SIGNBIT.
88608         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
88609         REPLACE_FREXPL into math.h.
88611 2007-04-06  Bruno Haible  <bruno@clisp.org>
88613         * modules/isnanf-nolibm-tests: New file.
88614         * tests/test-isnanf.c: New file.
88616         * modules/isnanf-nolibm: New file.
88617         * lib/isnanf.h: New file.
88618         * lib/isnanf.c: New file.
88619         * lib/isnan.c: Consider the USE_FLOAT macro.
88620         * m4/isnanf.m4: New file.
88622 2007-04-06  Bruno Haible  <bruno@clisp.org>
88624         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
88625         (Link): New section.
88627         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
88629 2007-04-06  Bruno Haible  <bruno@clisp.org>
88631         Assume the 'long double' type.
88632         * m4/longdouble.m4: Remove file.
88633         * config/srclist.txt: Don't mention longdouble.m4.
88634         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
88635         * lib/float+.h: Likewise.
88636         * lib/frexp.c: Likewise.
88637         * lib/printf-args.h: Likewise.
88638         * lib/printf-args.c: Likewise.
88639         * lib/printf-frexp.c: Likewise.
88640         * lib/printf-parse.c: Likewise.
88641         * lib/vasnprintf.c: Likewise.
88642         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
88643         * m4/intl.m4: Likewise.
88644         * m4/isnanl.m4: Likewise.
88645         * m4/printf.m4: Likewise.
88646         * m4/printf-frexpl.m4: Likewise.
88647         * m4/vasnprintf.m4: Likewise.
88648         * modules/allocsa (Files): Remove m4/longdouble.m4.
88649         * modules/gettext (Files): Likewise.
88650         * modules/relocatable-prog-wrapper (Files): Likewise.
88651         * modules/vasnprintf (Files): Likewise.
88652         * modules/isnanl (Files): Likewise.
88653         (Include): Simplify.
88654         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
88655         (Include): Simplify.
88656         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
88657         (Include): Simplify.
88658         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
88659         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88660         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
88661         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88662         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
88663         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88664         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
88665         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88666         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
88667         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88668         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
88669         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88670         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
88671         * tests/test-isnanl.c: Likewise.
88672         * tests/test-snprintf-posix.h: Likewise.
88673         * tests/test-sprintf-posix.h: Likewise.
88674         * tests/test-vasnprintf-posix.c: Likewise.
88675         * tests/test-vasnprintf-posix2.c: Likewise.
88676         * tests/test-vasprintf-posix.c: Likewise.
88678 2007-04-06  Bruno Haible  <bruno@clisp.org>
88680         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
88681         * lib/math_.h [__DECC]: Include the overridden include file through
88682         #include_next, outside the double-inclusion guard.
88683         * lib/stdio_.h [__DECC]: Likewise.
88684         * lib/stdlib_.h [__DECC]: Likewise.
88685         * lib/string_.h [__DECC]: Likewise.
88686         * lib/time_.h [__DECC]: Likewise.
88687         * lib/wchar_.h [__DECC]: Likewise.
88688         * lib/wctype_.h [__DECC]: Likewise.
88689         * lib/inttypes_.h [__DECC]: Likewise.
88690         Reported by Albert Chin <china@thewrittenword.com> in
88691         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
88693 2007-04-04  Eric Blake  <ebb9@byu.net>
88695         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
88696         1.5.x.
88698 2007-04-04  Bruno Haible  <bruno@clisp.org>
88700         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
88701         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
88703 2007-04-04  Bruno Haible  <bruno@clisp.org>
88705         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
88706         results for "%010a" of Infinity and NaN.
88707         * tests/test-vasprintf-posix.c (test_function): Likewise.
88708         * tests/test-snprintf-posix.h (test_function): Likewise.
88709         * tests/test-sprintf-posix.h (test_function): Likewise.
88710         * tests/test-fprintf-posix.h (test_function): Remove these tests.
88711         * tests/test-printf-posix.h (test_function): Likewise.
88712         * tests/test-fprintf-posix.out: Update.
88713         Needed for FreeBSD 6.1.
88715 2007-04-04  Bruno Haible  <bruno@clisp.org>
88717         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
88718         directly used by the gnulib modules nor by gnulib-tool.
88720 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
88722         * DEPENDENCIES: Give overall description of version dependency
88723         desirability.  Use more-typical names for apps.
88724         Add shell, coreutils, diffutils, grep, tar, gzip.
88726 2007-04-04  Simon Josefsson  <simon@josefsson.org>
88728         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
88730 2007-04-04  Karl Berry  <karl@gnu.org>
88732         * MODULES.html.sh (func_module): missing '.
88734 2007-04-03  Bruno Haible  <bruno@clisp.org>
88736         * modules/argmatch-tests (Makefile.am): New variable
88737         test_argmatch_LDADD.
88738         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
88739         * modules/array-list-tests (Makefile.am): New variable
88740         test_array_list_LDADD.
88741         * modules/array-oset-tests (Makefile.am): New variable
88742         test_array_oset_LDADD.
88743         * modules/avltree-list-tests (Makefile.am): New variable
88744         test_avltree_list_LDADD.
88745         * modules/avltree-oset-tests (Makefile.am): New variable
88746         test_avltree_oset_LDADD.
88747         * modules/avltreehash-list-tests (Makefile.am): New variable
88748         test_avltreehash_list_LDADD.
88749         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
88750         test_canonicalize_lgpl_LDADD.
88751         * modules/carray-list-tests (Makefile.am): New variable
88752         test_carray_list_LDADD.
88753         * modules/dirname-tests (Makefile.am): New variable
88754         test_dirname_LDADD.
88755         * modules/linked-list-tests (Makefile.am): New variable
88756         test_linked_list_LDADD.
88757         * modules/linkedhash-list-tests (Makefile.am): New variable
88758         test_linkedhash_list_LDADD.
88759         * modules/rbtree-list-tests (Makefile.am): New variable
88760         test_rbtree_list_LDADD.
88761         * modules/rbtree-oset-tests (Makefile.am): New variable
88762         test_rbtree_oset_LDADD.
88763         * modules/rbtreehash-list-tests (Makefile.am): New variable
88764         test_rbtreehash_list_LDADD.
88765         * modules/xvasprintf-tests (Makefile.am): New variable
88766         test_xvasprintf_LDADD.
88767         Reported by Eric Blake.
88769 2007-04-03  Eric Blake  <ebb9@byu.net>
88771         * DEPENDENCIES: Weaken m4 requirements.
88773 2007-04-03  Bruno Haible  <bruno@clisp.org>
88775         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
88776         * modules/isnanl-tests (configure.ac): Likewise.
88778 2007-04-03  Ben Pfaff  <blp@gnu.org>
88780         * modules/iconv_open: Add $(srcdir)/ to source directory
88781         references in Makefile fragments that call gperf, to fix VPATH
88782         builds.
88784 2007-04-03  Bruno Haible  <bruno@clisp.org>
88786         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
88787         * lib/ldexpl.c: Undo last change.
88789 2007-04-03  Bruno Haible  <bruno@clisp.org>
88791         * modules/printf-frexpl (Depends-on): Undo last change.
88792         (Files): Add m4/ldexpl.m4.
88794 2007-04-03  Bruno Haible  <bruno@clisp.org>
88796         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
88797         * modules/isnanl (Link): New section.
88799         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
88800         * modules/frexp (Link): New section.
88802         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
88803         * modules/frexpl (Link): New section.
88805         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
88806         * modules/ldexpl (Link): New section.
88808 2007-04-03  Bruno Haible  <bruno@clisp.org>
88810         * modules/TEMPLATE-EXTENDED: New file.
88811         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
88813 2007-04-03  Bruno Haible  <bruno@clisp.org>
88815         * DEPENDENCIES: New file.
88816         Suggested by Simon Josefsson.
88818 2007-04-03  Bruno Haible  <bruno@clisp.org>
88820         * doc/gnulib.texi: Escape @.
88822 2007-04-03  James Youngman  <jay@gnu.org>
88823         and Paul Eggert  <eggert@cs.ucla.edu>
88825         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
88826         birthtime on all systems that have birthtime, not just those which
88827         use st_birthtimensec rather than st_birthtim.  Putting zero in
88828         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
88829         that the birth time is not available for files on an NFS mount.
88831 2007-04-03  Simon Josefsson  <simon@josefsson.org>
88833         * modules/memxor: Move back from crypto/, suggested by Bruno.
88834         * modules/crypto/hmac-sha1: Fix memxor dependency.
88836         * modules/crypto/gc: Moved from ../.
88838 2007-04-02  Eric Blake  <ebb9@byu.net>
88840         * lib/ldexpl.c (includes): Avoid libm.
88842         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
88844 2007-04-02  Bruno Haible  <bruno@clisp.org>
88846         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
88847         on IRIX.
88849 2007-04-02  Bruno Haible  <bruno@clisp.org>
88851         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
88852         x86 or x86_64 platforms running MacOS X.
88853         Reported by Ryan Schmidt <@ryandesign.com>.
88855 2007-04-02  Bruno Haible  <bruno@clisp.org>
88857         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
88858         i386.
88860 2007-04-01  Simon Josefsson  <simon@josefsson.org>
88862         * modules/crypto/arcfour: Moved from ../.
88863         * modules/crypto/arcfour-tests: Moved from ../.
88864         * modules/crypto/arctwo: Moved from ../.
88865         * modules/crypto/arctwo-tests: Moved from ../.
88866         * modules/crypto/des: Moved from ../.
88867         * modules/crypto/des-tests: Moved from ../.
88868         * modules/crypto/gc-arcfour: Moved from ../.
88869         * modules/crypto/gc-arcfour-tests: Moved from ../.
88870         * modules/crypto/gc-arctwo: Moved from ../.
88871         * modules/crypto/gc-arctwo-tests: Moved from ../.
88872         * modules/crypto/gc-des: Moved from ../.
88873         * modules/crypto/gc-des-tests: Moved from ../.
88874         * modules/crypto/gc-hmac-md5: Moved from ../.
88875         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
88876         * modules/crypto/gc-hmac-sha1: Moved from ../.
88877         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
88878         * modules/crypto/gc-md2: Moved from ../.
88879         * modules/crypto/gc-md2-tests: Moved from ../.
88880         * modules/crypto/gc-md4: Moved from ../.
88881         * modules/crypto/gc-md4-tests: Moved from ../.
88882         * modules/crypto/gc-md5: Moved from ../.
88883         * modules/crypto/gc-md5-tests: Moved from ../.
88884         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
88885         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
88886         * modules/crypto/gc-random: Moved from ../.
88887         * modules/crypto/gc-rijndael: Moved from ../.
88888         * modules/crypto/gc-rijndael-tests: Moved from ../.
88889         * modules/crypto/gc-sha1: Moved from ../.
88890         * modules/crypto/gc-sha1-tests: Moved from ../.
88891         * modules/crypto/gc-tests: Moved from ../.
88892         * modules/crypto/hmac-md5: Moved from ../.
88893         * modules/crypto/hmac-md5-tests: Moved from ../.
88894         * modules/crypto/hmac-sha1: Moved from ../.
88895         * modules/crypto/hmac-sha1-tests: Moved from ../.
88896         * modules/crypto/md2: Moved from ../.
88897         * modules/crypto/md2-tests: Moved from ../.
88898         * modules/crypto/md4: Moved from ../.
88899         * modules/crypto/md4-tests: Moved from ../.
88900         * modules/crypto/md5: Moved from ../.
88901         * modules/crypto/md5-tests: Moved from ../.
88902         * modules/crypto/memxor: Moved from ../.
88903         * modules/crypto/rijndael: Moved from ../.
88904         * modules/crypto/rijndael-tests: Moved from ../.
88905         * modules/crypto/sha1: Moved from ../.
88907 2007-03-30  James Youngman  <jay@gnu.org>
88909         * tests/test-stat-time.c (prepare_test): use chmod() rather than
88910         rename() to change the ctime of a file (because ctime is unaffected
88911         by rename on jfs2 on AIX 5.1).
88912         (main): Start by doing cleanup, in case a previous run failed leaving
88913         test files behind.
88915 2007-03-31  Bruno Haible  <bruno@clisp.org>
88917         Support old proprietary implementations of iconv.
88918         * modules/iconv_open: New file.
88919         * lib/iconv_.h: New file.
88920         * m4/iconv_h.m4: New file.
88921         * lib/iconv_open.c: New file.
88922         * lib/iconv_open-aix.gperf: New file.
88923         * lib/iconv_open-hpux.gperf: New file.
88924         * lib/iconv_open-irix.gperf: New file.
88925         * lib/iconv_open-osf.gperf: New file.
88926         * m4/iconv_open.m4: New file.
88927         * modules/linebreak (Depends-on): Add iconv_open.
88928         * modules/striconv (Depends-on): Likewise.
88929         * modules/striconveh (Depends-on): Likewise.
88930         * modules/unicodeio (Depends-on): Likewise.
88931         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
88932         (iconv_t)(-1).
88933         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
88934         conversion if cd is (iconv_t)(-1).
88935         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
88936         is not possible.
88938 2007-03-31  Bruno Haible  <bruno@clisp.org>
88940         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
88941         work on Solaris either. Protect also second use of "autodetect_jp".
88943 2007-03-31  Bruno Haible  <bruno@clisp.org>
88945         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
88946         the function is not present.
88948 2007-03-31  Bruno Haible  <bruno@clisp.org>
88950         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
88951         the function is not present.
88953 2007-03-31  Bruno Haible  <bruno@clisp.org>
88955         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
88956         a bug in HP-UX iconv_open().
88958 2007-03-31  Bruno Haible  <bruno@clisp.org>
88960         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
88961         (Mathematics <math.h>): New section, add fpieee.
88962         (Input/output <stdio.h>): Add fseterr.
88963         (Mathematics <math.h>): New section, add printf-frexp.
88964         (Container data structures): Add sublist.
88965         (Core language properties): Add fpucw, inline.
88966         (Functions for greatest-width integer types <inttypes.h>): Add
88967         imaxabs, imaxdiv, inttypes.
88968         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
88969         isnanl-nolibm, ldexp.
88970         (Mathematics <math.h>): New section, add printf-frexpl.
88971         (Support for systems lacking POSIX:2001): Add fprintf-posix,
88972         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
88973         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
88974         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
88975         (Unicode string functions): Add unistr/u*-mbtoucr.
88976         (Java): Add javacomp-script, javaexec-script.
88977         (C#): Add csharpcomp-script, csharpexec-script.
88978         (Support for building libraries and executables): Add havelib,
88979         relocatable-*.
88980         (Support for maintaining and releasing projects): Renamed from
88981         'Support for maintaining and release projects'. Add announce-gen.
88983 2007-03-31  Bruno Haible  <bruno@clisp.org>
88985         * README: Talk primarily about git.
88986         (git and CVS): Renamed from CVS.
88987         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
88988         gnulib is available through git.
88989         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
88991 2007-03-30  Bruno Haible  <bruno@clisp.org>
88993         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
88994         * lib/poll_.h: Likewise.
88995         * lib/stat_.h: Likewise.
88996         * lib/sys_time_.h: Likewise.
88997         * lib/sysexit_.h: Likewise.
88998         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
88999         * lib/stdbool_.h: Likewise.
89000         * lib/byteswap_.h: Add double-inclusion guard.
89002 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
89004         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
89006 2007-03-30  Karl Berry  <karl@gnu.org>
89008         * config/srclist-update: double space after USA in the license
89009         substitution, since that's how it's usually (?) written.
89011 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
89013         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
89014         reported by Bruno Haible.
89016 2007-03-29  Bruno Haible  <bruno@clisp.org>
89018         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
89019         a bug in AIX iconv().
89021 2007-03-29  Bruno Haible  <bruno@clisp.org>
89023         * modules/ldexpl-tests: New file.
89024         * tests/test-ldexpl.c: New file.
89026 2007-03-29  Bruno Haible  <bruno@clisp.org>
89028         * lib/ldexpl.c: Include fpucw.h.
89029         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
89030         multiplication.
89031         * modules/ldexpl (Depends-on): Add fpucw.
89033 2007-03-29  Bruno Haible  <bruno@clisp.org>
89035         * modules/ldexpl: New file.
89036         * m4/ldexpl.m4: New file.
89037         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
89038         set.
89039         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
89040         REPLACE_LDEXPL.
89041         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
89042         REPLACE_LDEXPL.
89043         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
89044         gl_FUNC_LDEXPL_WORKS.
89045         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
89046         * modules/mathl (Files): Remove lib/ldexpl.c.
89047         (Depends-on): Add ldexpl.
89049 2007-03-29  Bruno Haible  <bruno@clisp.org>
89051         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
89053 2007-03-29  Bruno Haible  <bruno@clisp.org>
89055         * tests/test-striconveh.c (main): Don't assume that a direct conversion
89056         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
89057         and possibly also HP-UX.
89058         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
89059         work on AIX, IRIX, HP-UX, OSF/1.
89060         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
89061         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
89062         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
89063         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
89064         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
89065         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
89067 2007-03-29  Bruno Haible  <bruno@clisp.org>
89069         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
89071 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
89073         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
89074         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
89076 2007-03-29  Eric Blake  <ebb9@byu.net>
89078         * lib/acl-internal.h: Remove redundant include.
89079         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
89080         Cygwin when a file is locked.
89082 2007-03-29  Bruno Haible  <bruno@clisp.org>
89084         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
89085         file.
89086         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
89088 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
89090         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
89091         try to remove a parent directory if the child couldn't be removed
89092         (except for the first rmdir, which could fail because the child
89093         doesn't exist).  Problem reported by Jeff Blaine in
89094         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
89096 2007-03-28  Bruno Haible  <bruno@clisp.org>
89098         * lib/striconveh.c (utf8conv_carefully): New function.
89099         (mem_cd_iconveh_internal): Invoke it.
89101 2007-03-28  Bruno Haible  <bruno@clisp.org>
89103         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
89104         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
89105         input.
89106         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
89107         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
89108         unistr/u8-uctomb.
89110 2007-03-28  Bruno Haible  <bruno@clisp.org>
89112         * modules/unistr/u8-mbtoucr: New file.
89113         * lib/unistr/u8-mbtoucr.c: New file.
89114         * modules/unistr/u16-mbtoucr: New file.
89115         * lib/unistr/u16-mbtoucr.c: New file.
89116         * modules/unistr/u16-mbtoucr: New file.
89117         * lib/unistr/u16-mbtoucr.c: New file.
89118         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
89120 2007-03-27  Simon Josefsson  <simon@josefsson.org>
89121             Bruno Haible  <bruno@clisp.org>
89123         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
89124         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
89125         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
89127         * m4/stdio_h.m4: Add stubs for vasprintf too.
89129         * modules/stdio: Support vasprintf in sed command.
89131         * modules/vasprintf: Depend on stdio for prototypes.  Remove
89132         vasprintf.h.  Add stdio module indicator.
89134         * lib/stdio_.h: Declare asprintf and vasprintf, based on
89135         vasprintf.h.
89137         * lib/vasprintf.h: File removed.
89139         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
89140         * lib/vasprintf.c: Ditto.
89141         * lib/xvasprintf.c: Ditto.
89142         * tests/test-vasprintf-posix.c: Ditto.
89143         * tests/test-vasprintf.c: Ditto.
89145 2007-03-27  Bruno Haible  <bruno@clisp.org>
89147         Make vasnprintf multithread-safe.
89148         * lib/vasnprintf.c (decimal_point_char): New function.
89149         (VASNPRINTF): Use it.
89150         Suggested by Simon Josefsson.
89152 2007-03-27  Eric Blake  <ebb9@byu.net>
89154         Support sub-second birthtime on cygwin.
89155         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
89156         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
89157         (get_stat_birthtime): Also work with st_birthtim.
89159 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
89161         * lib/stat-time.h (USE_BIRTHTIME): Remove.
89162         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
89163         (get_stat_birthtime_ns): Do not try to use "spare" fields.
89164         (get_stat_birthtime_ns): Simplify compile-time tests.
89165         (get_stat_birthtime): Change the API to look like
89166         get_stat_mtime etc., except return a negative tv_nsec on error.
89167         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
89168         Don't check for "spare" fields.
89169         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
89170         or for struct stat.st_birthtime, as these tests aren't used.
89171         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
89173 2007-03-27  Bruno Haible  <bruno@clisp.org>
89175         * lib/stat-time.h: Include <sys/stat.h>.
89177 2007-03-27  James Youngman  <jay@gnu.org>
89179         * lib/stat-time.h (get_stat_birthtime): New function for
89180           retrieving st_birthtime as provided by UFS2 (hence *BSD).
89181         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
89182           and its variants.
89183         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
89184         * modules/stat-time-test: New file.
89185         * tests/test-stat-time.c: New test, devised by Bruno Haible.
89187 2007-03-26  Bruno Haible  <bruno@clisp.org>
89189         Better support of signalling NaNs.
89190         * lib/atanl.c: Include isnanl.h.
89191         (atanl): Perform test for NaN at the beginning of the function and
89192         through a call to isnanl.
89193         * lib/cosl.c: Include isnanl.h.
89194         (cosl): Perform test for NaN at the beginning of the function and
89195         through a call to isnanl.
89196         * lib/ldexpl.c: Include isnanl.h.
89197         (ldexpl): Perform test for NaN through a call to isnanl.
89198         * lib/logl.c: Include isnanl.h.
89199         (logl): Perform test for NaN at the beginning of the function and
89200         through a call to isnanl.
89201         * lib/sinl.c: Include isnanl.h.
89202         (sinl): Perform test for NaN at the beginning of the function and
89203         through a call to isnanl.
89204         * lib/sqrtl.c: Include isnanl.h.
89205         (sqrtl): Perform test for NaN at the beginning of the function and
89206         through a call to isnanl.
89207         * lib/tanl.c: Include isnanl.h.
89208         (tanl): Perform test for NaN at the beginning of the function and
89209         through a call to isnanl.
89210         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
89211         * modules/mathl (Depends-on): Add isnanl.
89213 2007-03-26  Eric Blake  <ebb9@byu.net>
89215         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
89216         regression in logic sense of previous patch.
89218 2007-03-26  Bruno Haible  <bruno@clisp.org>
89220         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
89221         unportable shell command "if ! ...".
89222         Reported by Ralf Wildenhues.
89224 2007-03-25  Bruno Haible  <bruno@clisp.org>
89226         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
89227         <sysexits.h> file, and only add EX_CONFIG.
89228         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
89229         absolute file name and whether it is sufficient. Substitute also
89230         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
89231         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
89232         ABSOLUTE_SYSEXITS_H into sysexits.h.
89234 2007-03-25  Bruno Haible  <bruno@clisp.org>
89236         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
89237         hints is NULL.
89239 2007-03-25  Bruno Haible  <bruno@clisp.org>
89241         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
89242         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
89244 2007-03-25  Bruno Haible  <bruno@clisp.org>
89246         * lib/vasnprintf.c: Include langinfo.h.
89247         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
89248         multithread-safe.
89249         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
89250         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
89251         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
89252         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
89253         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
89254         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
89255         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
89256         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
89257         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
89258         Reported by Simon Josefsson.
89260 2007-03-25  Bruno Haible  <bruno@clisp.org>
89262         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
89263         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
89264         * modules/vasnprintf (Depends-on): Add stdint.
89266 2007-03-25  Bruno Haible  <bruno@clisp.org>
89268         * modules/fpieee: New file.
89269         * m4/fpieee.m4: New file.
89270         * modules/isnan-nolibm (Depends-on): Add fpieee.
89271         * modules/isnanl-nolibm (Depends-on): Add fpieee.
89272         * modules/isnanl (Depends-on): Add fpieee.
89274 2007-03-25  Bruno Haible  <bruno@clisp.org>
89276         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
89278 2007-03-25  Bruno Haible  <bruno@clisp.org>
89280         Avoid test failures on IRIX 6.5.
89281         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
89282         (main): Use it.
89283         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
89284         macros.
89285         (main): Use them.
89287 2007-03-25  Bruno Haible  <bruno@clisp.org>
89289         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
89290         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
89291         exists but doesn't work.
89292         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
89293         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
89294         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
89295         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
89296         math.h.
89298 2007-03-25  Bruno Haible  <bruno@clisp.org>
89300         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
89301         returns inf. Needed on IRIX 6.5.
89303 2007-03-25  Bruno Haible  <bruno@clisp.org>
89305         * tests/test-frexpl.c: Include isnanl-nolibm.h.
89306         (main): Use isnanl instead of x != x idiom.
89307         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
89309         * tests/test-frexp.c: Include isnan.h.
89310         (main): Use isnan instead of x != x idiom.
89311         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
89313 2007-03-25  Bruno Haible  <bruno@clisp.org>
89315         * tests/test-frexp.c (NaN): New function/macro.
89316         (main): Use it instead of 0.0 / 0.0.
89317         * tests/test-isnan.c (NaN): New function/macro.
89318         (main): Use it instead of 0.0 / 0.0.
89319         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
89320         (test_function): Use it instead of 0.0 / 0.0.
89321         * tests/test-vasprintf-posix.c (NaN): New function/macro.
89322         (test_function): Use it instead of 0.0 / 0.0.
89323         * tests/test-snprintf-posix.h (NaN): New function/macro.
89324         (test_function): Use it instead of 0.0 / 0.0.
89325         * tests/test-sprintf-posix.h (NaN): New function/macro.
89326         (test_function): Use it instead of 0.0 / 0.0.
89327         * tests/test-fprintf-posix.h (NaN): New function/macro.
89328         (test_function): Use it instead of 0.0 / 0.0.
89329         * tests/test-printf-posix.h (NaN): New function/macro.
89330         (test_function): Use it instead of 0.0 / 0.0.
89332         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
89334 2007-03-25  Bruno Haible  <bruno@clisp.org>
89336         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
89338 2007-03-25  Bruno Haible  <bruno@clisp.org>
89340         * lib/regexec.c (merge_state_with_log): Make static.
89342 2007-03-25  Bruno Haible  <bruno@clisp.org>
89344         * lib/trigl.c (kernel_rem_pio2): Make static.
89346 2007-03-25  Bruno Haible  <bruno@clisp.org>
89348         * lib/sincosl.c (sincosl_table): Make static.
89350 2007-03-25  Bruno Haible  <bruno@clisp.org>
89352         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
89353         if the compiler does not support C99.
89355 2007-03-25  Bruno Haible  <bruno@clisp.org>
89357         * modules/time (Makefile.am): Ensure all rule action lines start with a
89358         tab.
89360 2007-03-24  Bruno Haible  <bruno@clisp.org>
89362         * modules/tsearch-tests: New file.
89363         * tests/test-tsearch.sh: New file.
89364         * tests/test-tsearch.c: New file, mostly copied from glibc.
89366         * modules/search-tests: New file.
89367         * tests/test-search.c: New file.
89369         * modules/search: New file.
89370         * lib/search_.h: New file, incorporating lib/tsearch.h.
89371         * m4/search_h.m4: New file.
89372         * lib/tsearch.h: Remove file.
89373         * lib/tsearch.c: Include search.h instead of tsearch.h.
89374         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
89375         HAVE_TSEARCH.
89376         * modules/tsearch (Files): Remove lib/tsearch.h.
89377         (Depends-on): Add search.
89378         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
89379         (Include): Change tsearch.h into search.h.
89381 2007-03-24  Bruno Haible  <bruno@clisp.org>
89383         * modules/fpucw: New file.
89384         * lib/fpucw.h: New file.
89385         * lib/frexp.c: Include fpucw.h.
89386         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
89387         (FUNC): Use them.
89388         * lib/printf-frexp.c: Include fpucw.h.
89389         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
89390         (FUNC): Use them.
89391         * lib/vasnprintf.c: Include fpucw.h.
89392         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
89393         'long double' calculations.
89394         * tests/test-frexpl.c: Include fpucw.h.
89395         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
89396         * tests/test-printf-frexpl.c: Include fpucw.h.
89397         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
89398         * modules/frexpl (Depends-on): Add fpucw.
89399         * modules/printf-frexpl (Depends-on): Likewise.
89400         * modules/fprintf-posix (Depends-on): Likewise.
89401         * modules/snprintf-posix (Depends-on): Likewise.
89402         * modules/sprintf-posix (Depends-on): Likewise.
89403         * modules/vasnprintf-posix (Depends-on): Likewise.
89404         * modules/vasprintf-posix (Depends-on): Likewise.
89405         * modules/vfprintf-posix (Depends-on): Likewise.
89406         * modules/vsnprintf-posix (Depends-on): Likewise.
89407         * modules/vsprintf-posix (Depends-on): Likewise.
89408         * modules/frexpl-tests (Depends-on): Likewise.
89409         * modules/printf-frexpl-tests (Depends-on): Likewise.
89411 2007-03-24  Bruno Haible  <bruno@clisp.org>
89413         * lib/float+.h: New file.
89414         * lib/isnan.c: Include float+.h.
89415         (SIZE): New macro.
89416         (FUNC): Compare only SIZE bytes of the value.
89417         * lib/vasnprintf.c: Include float+.h.
89418         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
89419         SIZEOF_LDBL or SIZEOF_DBL bytes.
89420         * modules/isnan-nolibm (Files): Add lib/float+.h.
89421         * modules/isnanl-nolibm (Files): Add lib/float+.h.
89422         * modules/isnanl (Files): Add lib/float+.h.
89423         * modules/vasnprintf (Files): Add lib/float+.h.
89425 2007-03-24  Bruno Haible  <bruno@clisp.org>
89427         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
89428         include isnanl-nolibm.h.
89430 2007-03-24  Bruno Haible  <bruno@clisp.org>
89432         * tests/test-read-file.c (main): Don't produce spurious output for
89433         expected situations. Make the test fail if it encountered unexpected
89434         results.
89436 2007-03-24  Bruno Haible  <bruno@clisp.org>
89438         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
89439         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
89441 2007-03-24  Bruno Haible  <bruno@clisp.org>
89443         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
89445 2007-03-24  Bruno Haible  <bruno@clisp.org>
89447         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
89448         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
89450         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
89451         * modules/utf8-ucs4: Turn into a symbolic link to module
89452         unistr/u8-mbtouc.
89454         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
89455         utf8-ucs4-unsafe.
89456         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
89457         unistr/u8-mbtouc-unsafe.
89459         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
89460         * modules/utf16-ucs4: Turn into a symbolic link to module
89461         unistr/u16-mbtouc.
89463         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
89464         utf16-ucs4-unsafe.
89465         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
89466         unistr/u16-mbtouc-unsafe.
89468         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
89469         * modules/ucs4-utf8: Turn into a symbolic link to module
89470         unistr/u8-ubtomb.
89472         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
89473         * modules/ucs4-utf16: Turn into a symbolic link to module
89474         unistr/u16-ubtomb.
89476 2007-03-24  Bruno Haible  <bruno@clisp.org>
89478         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
89479         Enable the function only if HAVE_INLINE.
89480         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
89481         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
89482         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
89483         Enable the function only if HAVE_INLINE.
89484         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
89485         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
89486         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
89487         Enable the function only if HAVE_INLINE.
89488         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
89489         Enable the function only if HAVE_INLINE.
89490         * modules/utf8-ucs4: Update.
89491         * modules/utf8-ucs4-unsafe: Update.
89492         * modules/utf16-ucs4: Update.
89493         * modules/utf16-ucs4-unsafe: Update.
89494         * modules/ucs4-utf8: Update.
89495         * modules/ucs4-utf16: Update.
89497 2007-03-24  Bruno Haible  <bruno@clisp.org>
89499         * lib/utf8-ucs4.h: Remove file.
89500         * lib/utf8-ucs4-unsafe.h: Remove file.
89501         * lib/utf16-ucs4.h: Remove file.
89502         * lib/utf16-ucs4-unsafe.h: Remove file.
89503         * lib/ucs4-utf8.h: Remove file.
89504         * lib/ucs4-utf16.h: Remove file.
89505         * lib/unistr.h: Include their previous contents.
89506         * m4/utf-ucs4.m4: Remove file.
89507         * m4/ucs4-utf.m4: Remove file.
89508         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
89509         (Depends-on): Add unistr/base.
89510         (configure.ac): Remove gl_UTF_UCS4.
89511         (Makefile.am): Update.
89512         (Include): Change to unistr.h.
89513         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
89514         (Depends-on): Add unistr/base.
89515         (configure.ac): Remove gl_UTF_UCS4.
89516         (Makefile.am): Update.
89517         (Include): Change to unistr.h.
89518         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
89519         (Depends-on): Add unistr/base.
89520         (configure.ac): Remove gl_UTF_UCS4.
89521         (Makefile.am): Update.
89522         (Include): Change to unistr.h.
89523         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
89524         (Depends-on): Add unistr/base.
89525         (configure.ac): Remove gl_UTF_UCS4.
89526         (Makefile.am): Update.
89527         (Include): Change to unistr.h.
89528         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
89529         (Depends-on): Add unistr/base.
89530         (configure.ac): Remove gl_UCS4_UTF.
89531         (Makefile.am): Update.
89532         (Include): Change to unistr.h.
89533         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
89534         (Depends-on): Add unistr/base.
89535         (configure.ac): Remove gl_UCS4_UTF.
89536         (Makefile.am): Update.
89537         (Include): Change to unistr.h.
89538         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
89539         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
89540         utf8-ucs4-unsafe.h.
89541         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
89542         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
89543         utf16-ucs4-unsafe.h.
89544         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
89545         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
89546         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
89547         * lib/unistr/u8-strchr.c: Likewise.
89548         * lib/unistr/u8-strrchr.c: Likewise.
89549         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
89550         * lib/unistr/u16-strchr.c: Likewise.
89551         * lib/unistr/u16-strrchr.c: Likewise.
89552         * lib/striconveh.c: Update.
89553         * lib/linebreak.c: Update.
89555 2007-03-24  Bruno Haible  <bruno@clisp.org>
89557         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
89558         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
89560 2007-03-22  Bruno Haible  <bruno@clisp.org>
89562         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
89564 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
89566         * MODULES.html.sh (File system functions): New module write-any-file.
89567         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
89568         * m4/write-any-file.m4: New files.
89570 2007-03-23  Eric Blake  <ebb9@byu.net>
89572         * gnulib-tool: Rearrange space-tab sequences, since some editors
89573         like to eat them.
89575 2007-03-23  Eric Blake  <ebb9@byu.net>
89577         * lib/version-etc.c (version_etc_va): Update license wording to
89578         be more concise.  Recommended by Richard Stallman.
89580 2007-03-22  Bruno Haible  <bruno@clisp.org>
89582         * lib/poll.c (MSG_PEEK): New fallback definition.
89584 2007-03-22  Bruno Haible  <bruno@clisp.org>
89586         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
89587         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
89588         (main): Update.
89589         Fixes a compilation error on BeOS.
89591 2007-03-22  Bruno Haible  <bruno@clisp.org>
89593         * modules/frexpl-tests: New file.
89594         * tests/test-frexpl.c: New file.
89596         * modules/frexpl: New file.
89597         * m4/frexpl.m4: New file.
89598         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
89599         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
89600         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
89601         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
89602         (Depends-on): Add frexpl. Remove isnanl-nolibm.
89603         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
89605 2007-03-22  Bruno Haible  <bruno@clisp.org>
89607         * lib/frexpl.c: Share code with lib/frexp.c.
89608         * modules/mathl (Files): Add lib/frexp.c.
89609         (Depends-on): Add isnanl-nolibm.
89611 2007-03-22  Bruno Haible  <bruno@clisp.org>
89613         * modules/printf-frexp (Files): Add m4/frexp.m4.
89614         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
89615         only if the found frexp function actually works.
89617 2007-03-22  Bruno Haible  <bruno@clisp.org>
89619         * lib/frexp.c: Remove older implementation that uses divisions.
89621 2007-03-21  Bruno Haible  <bruno@clisp.org>
89623         * modules/frexp-tests: New file.
89624         * tests/test-frexp.c: New file.
89626         * modules/frexp: New file.
89627         * lib/frexp.c: New file.
89628         * m4/frexp.m4: New file.
89629         * lib/math_.h (frexp): New declaration.
89630         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
89631         REPLACE_FREXP.
89632         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
89634 2007-03-21  Bruno Haible  <bruno@clisp.org>
89636         * modules/isnanl-tests: New file.
89637         * tests/test-isnanl.c: New file.
89639         * modules/isnanl: New file.
89640         * lib/isnanl.h: New file.
89641         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
89642         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
89643         gl_FUNC_ISNANL_WORKS.
89644         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
89645         New macros.
89647 2007-03-21  Bruno Haible  <bruno@clisp.org>
89649         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
89650         lib/isnanl.h.
89651         (Include): Update.
89652         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
89653         * lib/vasnprintf.c: Update.
89654         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
89655         tests/test-isnanl.h, remove tests/test-isnanl.c.
89656         (Makefile.am): Update.
89657         * tests/test-isnanl-nolibm.c: New file.
89658         * tests/test-isnanl.h: New file.
89659         * tests/test-isnanl.c: Remove file.
89661 2007-03-21  Jim Meyering  <jim@meyering.net>
89663         When trying to open ".", treat ESTALE like EACCES.
89664         * lib/savewd.c (savewd_save): Resort to forking not just upon
89665         failure with EACCES, but also when errno is ESTALE.
89667 2007-03-20  Bruno Haible  <bruno@clisp.org>
89669         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
89670         Needed on AIX 5.1. Reported by Matthew Woehlke.
89672 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89674         Suggestions by Bruno Haible:
89675         * lib/acl-internal.h: Include "gettext.h" rather than rolling
89676         our own.
89677         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
89678         * modules/acl (Depends-on): Add gettext.
89680 2007-03-19  Bruno Haible  <bruno@clisp.org>
89682         * modules/iconvme: Remove file.
89683         * lib/iconvme.h: Remove file.
89684         * lib/iconvme.c: Remove file.
89685         * m4/iconvme.m4: Remove file.
89687 2007-03-19  Bruno Haible  <bruno@clisp.org>
89689         * doc/relocatable-maint.texi: Break long shell script line.
89690         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
89692 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89694         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
89695         handle file_has_acl.
89696         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
89697         * lib/acl.c: Move header inclusions and related macro defns into
89698         lib/acl-internal.h.
89699         (S_ISLNK): Remove defn, since that's now done for us.
89700         (file_has_acl): Move to lib/file-has-acl.c.
89701         Call acl_trivial if available.  This is the crucial part of the fix.
89702         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
89703         shared within the library.  Rewrite a bit, partly to make it compatible
89704         with the GNU coding style.
89705         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
89706         Remove unnecessary double-quotes.
89707         Don't test for acl_to_text; the build will catch that.
89708         Replace acl_entries if it doesn't exist and it is needed.
89709         Check for -lsec and acl_trivial (as used on Solaris 10).
89710         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
89711         lib/file-has-acl.c.
89712         (Depends-on): Add sys_stat, for S_ISLNK.
89714 2007-03-19  Ben Pfaff  <blp@gnu.org>
89716         * doc/gnulib.texi: Fix typos.
89717         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
89719 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89721         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
89722         If size is zero here, buf must be zero.
89724 2007-03-19  Simon Josefsson  <simon@josefsson.org>
89726         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
89727         <bruno@clisp.org>.
89729 2007-03-18  Bruno Haible  <bruno@clisp.org>
89731         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
89732         Suggested by Eric Blake.
89734 2007-03-18  Ben Pfaff  <blp@gnu.org>
89736         * doc/relocatable.texi: Recommend using as prefix a directory
89737         that does not exist and will never be created.  Based on
89738         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
89739         and others.
89741 2007-03-17  Bruno Haible  <bruno@clisp.org>
89743         * lib/fchownat.c: Include lchown.h.
89745 2007-03-17  Bruno Haible  <bruno@clisp.org>
89747         Fix endless loop when the given allocated size was > INT_MAX.
89748         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
89749         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
89750         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
89751         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
89752         * lib/sprintf.c (sprintf): Likewise.
89754 2007-03-17  Bruno Haible  <bruno@clisp.org>
89756         * tests/test-argp-2.sh (func_compare): Output a context diff.
89758 2007-03-17  Bruno Haible  <bruno@clisp.org>
89760         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
89761         locale's decimal-point character.
89763 2007-03-17  Bruno Haible  <bruno@clisp.org>
89765         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
89766         before comparing it. Needed because on some platforms (e.g. x86) a
89767         'long double' occupies less bytes than sizeof (long double).
89769 2007-03-17  Bruno Haible  <bruno@clisp.org>
89771         * tests/test-crc.c (main): Make printf statements 64-bit clean.
89772         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
89773         * tests/test-getaddrinfo.c (simple): Likewise.
89774         * tests/test-read-file.c (main): Likewise.
89776 2007-03-17  Bruno Haible  <bruno@clisp.org>
89778         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
89780 2007-03-17  Bruno Haible  <bruno@clisp.org>
89782         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
89783         unused variable.
89785 2007-03-17  Bruno Haible  <bruno@clisp.org>
89787         * tests/test-c-strcasecmp.c: Include c-strcase.h.
89788         * tests/test-c-strncasecmp.c: Likewise.
89790 2007-03-17  Bruno Haible  <bruno@clisp.org>
89792         * modules/stdlib (Depends-on): Add unistd.
89793         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
89794         Needed for MacOS X 10.3.
89796 2007-03-17  Bruno Haible  <bruno@clisp.org>
89798         * lib/unistr/u-strdup.h: Include <stdlib.h>.
89800 2007-03-17  Bruno Haible  <bruno@clisp.org>
89802         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
89804 2007-03-17  Bruno Haible  <bruno@clisp.org>
89806         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
89807         to reflect files copied from gnulib (with or without modifications).
89808         Suggested by Jim Meyering.
89810 2007-03-17  Eric Blake  <ebb9@byu.net>
89812         * NEWS: Document stdlib change from 2007-02-18.
89814 2007-03-17  Jim Meyering  <jim@meyering.net>
89816         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
89817         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
89818         someone uses a name containing shell meta-characters.
89819         Reported by Alfred M. Szmidt.
89821         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
89823 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
89825         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
89826         and copy gettext configuration files only if configure.ac contains
89827         a use of AM_GNU_GETTEXT_VERSION.
89829 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
89831         * build-aux/bootstrap (gnulib_name): New variable.
89832         (gnulib_tool_options): Use it.
89834 2007-03-13  Simon Josefsson  <simon@josefsson.org>
89836         * tests/test-des.c: Use new namespace.
89838 2007-03-15  Bruno Haible  <bruno@clisp.org>
89840         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
89841         Reported by James Youngman <jay@gnu.org>.
89843 2007-03-15  Bruno Haible  <bruno@clisp.org>
89845         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
89846         declared prototype. Needed with cc on OSF/1 5.1.
89848 2007-03-15  Bruno Haible  <bruno@clisp.org>
89850         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
89851         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
89852         (struct gl_list_implementation): Add dispose_fn argument to the
89853         'create_empty', 'create' methods.
89854         (struct gl_list_impl_base): Add field 'dispose_fn'.
89855         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
89856         argument.
89857         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
89858         dispose_fn argument.
89859         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
89860         dispose_fn on the dropped values.
89861         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
89862         dispose_fn argument.
89863         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
89864         dropped values.
89865         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
89866         (gl_tree_remove_node): Call dispose_fn on the dropped value.
89867         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
89868         (gl_tree_remove_node): Call dispose_fn on the dropped value.
89869         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
89870         argument.
89871         (gl_tree_list_free): Call dispose_fn on the dropped values.
89872         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
89873         the dropped values.
89874         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
89875         Add dispose_fn argument.
89876         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
89877         Call dispose_fn on the dropped values.
89878         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
89879         Add dispose_fn argument.
89880         (gl_sublist_create): Initialize the 'dispose_fn' field.
89881         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
89882         * tests/test-array_list.c (main): Update.
89883         * tests/test-carray_list.c (main): Update.
89884         * tests/test-avltree_list.c (main): Update.
89885         * tests/test-rbtree_list.c (main): Update.
89886         * tests/test-avltreehash_list.c (main): Update.
89887         * tests/test-rbtreehash_list.c (main): Update.
89888         * tests/test-linked_list.c (main): Update.
89889         * tests/test-linkedhash_list.c (main): Update.
89890         * tests/test-array_oset.c (main): Update.
89892 2007-03-15  Bruno Haible  <bruno@clisp.org>
89894         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
89895         (gl_oset_create_empty): Add dispose_fn argument.
89896         (struct gl_oset_implementation): Add dispose_fn argument to
89897         'create_empty' method.
89898         (struct gl_oset_impl_base): Add dispose_fn field.
89899         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
89900         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
89901         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
89902         values.
89903         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
89904         (gl_tree_oset_free): Call dispose_fn on the dropped values.
89905         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
89906         dropped value.
89907         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
89908         dropped value.
89909         * tests/test-array_oset.c (main): Update.
89910         * tests/test-avltree_oset.c (main): Update.
89911         * tests/test-rbtree_oset.c (main): Update.
89912         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
89914 2007-03-13  Bruno Haible  <bruno@clisp.org>
89916         * tests/test-stdbool.c (i): Update after last patch.
89918 2007-03-12  Bruno Haible  <bruno@clisp.org>
89920         * lib/quotearg.c: Include <wctype.h> early, before the definition of
89921         the iswprint macro. Needed on Solaris 2.5.1.
89923 2007-03-12  Bruno Haible  <bruno@clisp.org>
89925         * tests/test-printf-frexp.c (main): Declare x as volatile.
89927 2007-03-12  Simon Josefsson  <simon@josefsson.org>
89929         * doc/gnulib.texi (Build robot for gnulib): New section.
89931 2007-03-12  Jim Meyering  <jim@meyering.net>
89933         * build-aux/bootstrap: New file.
89934         * build-aux/bootstrap.conf: New file, from coreutils.
89936 2007-03-11  Bruno Haible  <bruno@clisp.org>
89938         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
89940 2007-03-12  Simon Josefsson  <simon@josefsson.org>
89942         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
89943         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
89944         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
89946 2007-03-11  Bruno Haible  <bruno@clisp.org>
89948         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
89949         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
89951 2007-03-11  Bruno Haible  <bruno@clisp.org>
89953         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
89954         formula. Needed for SunPRO C 5.0.
89956 2007-03-11  Bruno Haible  <bruno@clisp.org>
89958         * modules/long-options (Depends-on): Add getopt.
89960 2007-03-11  Bruno Haible  <bruno@clisp.org>
89962         * modules/modechange (Depends-on): Add stdbool.
89964 2007-03-11  Bruno Haible  <bruno@clisp.org>
89966         * modules/i-ring (Depends-on): Add stdbool.
89968 2007-03-11  Bruno Haible  <bruno@clisp.org>
89970         * modules/gc-des (Depends-on): Add stdbool.
89972 2007-03-11  Bruno Haible  <bruno@clisp.org>
89974         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
89976 2007-03-11  Bruno Haible  <bruno@clisp.org>
89978         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
89980 2007-03-11  Bruno Haible  <bruno@clisp.org>
89982         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
89984 2007-03-11  Bruno Haible  <bruno@clisp.org>
89986         * lib/vasnprintf.c (sprintf): Undefine.
89988 2007-03-11  Bruno Haible  <bruno@clisp.org>
89990         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
89991         initializers in SunPRO C and Compaq C compilers.
89993 2007-03-11  Bruno Haible  <bruno@clisp.org>
89995         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
89996         decrementing code ANSI C compliant.
89998 2007-03-11  Bruno Haible  <bruno@clisp.org>
90000         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
90001         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
90003 2007-03-11  Bruno Haible  <bruno@clisp.org>
90005         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
90006         <stdbool.h> substitute doesn't pass.
90008 2007-03-11  Bruno Haible  <bruno@clisp.org>
90010         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
90012 2007-03-11  Bruno Haible  <bruno@clisp.org>
90014         * gnulib-tool (func_create_megatestdir): Create also an autobuild
90015         script, for submission to autobuild.josefsson.org.
90017 2007-03-10  Bruno Haible  <bruno@clisp.org>
90019         * modules/canonicalize-lgpl-tests: New file.
90020         * tests/test-canonicalize-lgpl.sh: New file.
90021         * tests/test-canonicalize-lgpl.c: New file.
90023         * modules/c-strcase-tests: New file.
90024         * tests/test-c-strcase.sh: New file.
90025         * tests/test-c-strcasecmp.c: New file.
90026         * tests/test-c-strncasecmp.c: New file.
90028         * modules/atexit-tests: New file.
90029         * tests/test-atexit.sh: New file.
90030         * tests/test-atexit.c: New file.
90032 2007-03-10  Bruno Haible  <bruno@clisp.org>
90034         * tests/test-binary-io.sh: Use temporary filenames that are not so
90035         likely to clash with those of other tests (in a parallel make).
90036         * tests/test-binary-io.c: Likewise.
90038 2007-03-10  Bruno Haible  <bruno@clisp.org>
90040         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
90041         fallback; use #error instead.
90042         Suggested by Simon Josefsson.
90044 2007-03-10  Bruno Haible  <bruno@clisp.org>
90046         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
90047         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
90048         first and the last.
90050 2007-03-10  Bruno Haible  <bruno@clisp.org>
90052         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
90054 2007-03-10  Bruno Haible  <bruno@clisp.org>
90056         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
90057         "make distcheck".
90058         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
90059         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
90060         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
90062 2007-03-10  Bruno Haible  <bruno@clisp.org>
90064         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
90065         variable.
90066         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
90067         variable.
90069 2007-03-09  Eric Blake  <ebb9@byu.net>
90070         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
90072         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
90073         types are not being provided by gnulib.
90074         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
90075         types are supported.
90077 2007-03-10  Bruno Haible  <bruno@clisp.org>
90079         * lib/stdio_.h (__attribute__): New macro.
90080         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
90081         vsprintf): Specify __attribute__ __format__ for GCC.
90082         Suggested by Eric Blake.
90084 2007-03-09  Bruno Haible  <bruno@clisp.org>
90086         * modules/printf-posix-tests: New file.
90087         * tests/test-printf-posix.sh: New file.
90088         * tests/test-printf-posix.c: New file.
90090         * modules/printf-posix: New file.
90091         * lib/printf.c: New file.
90092         * m4/printf-posix-rpl.m4: New file.
90093         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
90094         REPLACE_PRINTF.
90095         * lib/stdio_.h (printf): New declaration.
90096         (format, __format__, ____printf____, ____scanf____, ____strftime____,
90097         ____strfmon____): New macros.
90098         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
90099         REPLACE_PRINTF.
90101 2007-03-09  Bruno Haible  <bruno@clisp.org>
90103         * tests/test-vasnprintf-posix2.sh: New file.
90104         * tests/test-vasnprintf-posix2.c: New file.
90105         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
90106         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
90107         (Makefile.am): Activate test-vasnprintf-posix2.sh.
90109         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
90110         a locale dependent decimal point, rather than always '.'.
90112 2007-03-09  Eric Blake  <ebb9@byu.net>
90114         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
90115         spite of platforms like Tandem/NSK that define it to -1.
90117 2007-03-08  Bruno Haible  <bruno@clisp.org>
90119         * modules/vprintf-posix-tests: New file.
90120         * tests/test-vprintf-posix.sh: New file.
90121         * tests/test-vprintf-posix.c: New file.
90122         * tests/test-printf-posix.h: New file.
90124         * modules/vprintf-posix: New file.
90125         * lib/vprintf.c: New file.
90126         * m4/vprintf-posix.m4: New file.
90127         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
90128         REPLACE_VPRINTF.
90129         * lib/stdio_.h (vprintf): New declaration.
90130         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
90131         REPLACE_VPRINTF.
90133 2007-03-08  Bruno Haible  <bruno@clisp.org>
90135         * modules/fprintf-posix-tests: New file.
90136         * tests/test-fprintf-posix.sh: New file.
90137         * tests/test-fprintf-posix.c: New file.
90139         * modules/fprintf-posix: New file.
90140         * lib/fprintf.c: New file.
90141         * m4/fprintf-posix.m4: New file.
90142         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
90143         REPLACE_FPRINTF.
90144         * lib/stdio_.h (fprintf): New declaration.
90145         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
90146         REPLACE_FPRINTF.
90148 2007-03-08  Bruno Haible  <bruno@clisp.org>
90150         * modules/vfprintf-posix-tests: New file.
90151         * tests/test-vfprintf-posix.sh: New file.
90152         * tests/test-vfprintf-posix.c: New file.
90153         * tests/test-fprintf-posix.h: New file.
90154         * tests/test-fprintf-posix.out: New file.
90156         * modules/vfprintf-posix: New file.
90157         * lib/vfprintf.c: New file.
90158         * m4/vfprintf-posix.m4: New file.
90159         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
90160         REPLACE_VFPRINTF.
90161         * lib/stdio_.h (vfprintf): New declaration.
90162         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
90163         REPLACE_VFPRINTF.
90165 2007-03-08  Bruno Haible  <bruno@clisp.org>
90167         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
90169 2007-03-08  Bruno Haible  <bruno@clisp.org>
90171         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
90172         instead of 'expr' invocations.
90173         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
90174         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
90175         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
90176         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
90177         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
90178         Suggested by Paul Eggert.
90180 2007-03-08  Bruno Haible  <bruno@clisp.org>
90182         * modules/fseterr-tests: New file.
90183         * tests/test-fseterr.c: New file.
90185         * modules/fseterr: New file.
90186         * lib/fseterr.h: New file.
90187         * lib/fseterr.c: New file.
90189 2007-03-08  Bruno Haible  <bruno@clisp.org>
90191         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
90192         * lib/getopt_.h: Likewise.
90193         * lib/mbswidth.h: Likewise.
90194         * lib/setenv.h: Likewise.
90195         * lib/vasnprintf.h: Likewise.
90196         * lib/vasprintf.h: Likewise.
90197         * lib/verror.h: Likewise.
90198         * lib/xsetenv.h: Likewise.
90199         * lib/xvasprintf.h: Likewise.
90201 2007-03-08  Jim Meyering  <jim@meyering.net>
90203         * users.txt: Add parted.
90205         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
90207 2007-03-07  Bruno Haible  <bruno@clisp.org>
90209         * m4/printf.m4: Make the shell script snippets copy&pastable.
90211 2007-03-02  Bruno Haible  <bruno@clisp.org>
90213         * lib/netinet_in_.h: New file.
90214         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
90215         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
90216         * modules/netinet_in (Files): Add lib/netinet_in_.h.
90217         (Depends-on): Add absolute-header.
90218         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
90219         into netinet/in.h.
90221 2007-03-03  Bruno Haible  <bruno@clisp.org>
90223         * lib/sys_select_.h: New file.
90224         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
90225         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
90226         * modules/sys_select (Files): Add lib/sys_select_.h.
90227         (Depends-on): Add absolute-header.
90228         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
90229         into sys/select.h.
90231 2007-03-02  Bruno Haible  <bruno@clisp.org>
90233         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
90234         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
90235         values.
90236         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
90237         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
90238         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
90239         * modules/sys_socket (Depends-on): Add absolute-header.
90240         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
90241         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
90242         (Include): Remove requirement of inclusion of <sys/types.h>.
90244 2007-03-02  Bruno Haible  <bruno@clisp.org>
90246         * lib/byteswap_.h (bswap_32): Fix formula.
90248 2007-03-06  Bruno Haible  <bruno@clisp.org>
90250         * modules/sprintf-posix-tests: New file.
90251         * tests/test-sprintf-posix.c: New file.
90253         * modules/sprintf-posix: New file.
90254         * lib/sprintf.c: New file.
90255         * m4/sprintf-posix.m4: New file.
90256         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
90257         REPLACE_SPRINTF.
90258         * lib/stdio_.h (sprintf): New declaration.
90259         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
90260         REPLACE_SPRINTF.
90262 2007-03-06  Bruno Haible  <bruno@clisp.org>
90264         * modules/vsprintf-posix-tests: New file.
90265         * tests/test-vsprintf-posix.c: New file.
90266         * tests/test-sprintf-posix.h: New file.
90268         * modules/vsprintf-posix: New file.
90269         * lib/vsprintf.c: New file.
90270         * m4/vsprintf-posix.m4: New file.
90271         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
90272         REPLACE_VSPRINTF.
90273         * lib/stdio_.h (vsprintf): New declaration.
90274         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
90275         REPLACE_VSPRINTF.
90277 2007-03-06  Bruno Haible  <bruno@clisp.org>
90279         * modules/vsnprintf (Depend-on): Remove minmax.
90281 2007-03-06  Bruno Haible  <bruno@clisp.org>
90283         * modules/snprintf-posix-tests: New file.
90284         * tests/test-snprintf-posix.c: New file.
90286         * modules/snprintf-posix: New file.
90287         * m4/snprintf-posix.m4: New file.
90288         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
90289         gl_FUNC_SNPRINTF.
90290         (gl_FUNC_SNPRINTF): Invoke it.
90291         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
90292         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
90293         is set.
90294         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
90296 2007-03-06  Bruno Haible  <bruno@clisp.org>
90298         * modules/vsnprintf-posix-tests: New file.
90299         * tests/test-vsnprintf-posix.c: New file.
90300         * tests/test-snprintf-posix.h: New file.
90302         * modules/vsnprintf-posix: New file.
90303         * m4/vsnprintf-posix.m4: New file.
90304         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
90305         gl_FUNC_VSNPRINTF.
90306         (gl_FUNC_VSNPRINTF): Invoke it.
90307         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
90308         * lib/stdio_.h (vsnprintf): Define as a replacement if
90309         REPLACE_VSNPRINTF is set.
90310         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
90312 2007-03-06  Bruno Haible  <bruno@clisp.org>
90314         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
90315         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
90317 2007-03-06  Bruno Haible  <bruno@clisp.org>
90319         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
90320         (asinl): Declare also if HAVE_DECL_ASINL is set.
90321         (atanl): Declare also if HAVE_DECL_ATANL is set.
90322         (ceill): Declare also if HAVE_DECL_CEILL is set.
90323         (cosl): Declare also if HAVE_DECL_COSL is set.
90324         (expl): Declare also if HAVE_DECL_EXPL is set.
90325         (floorl): Declare also if HAVE_DECL_FLOORL is set.
90326         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
90327         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
90328         (logl): Declare also if HAVE_DECL_LOGL is set.
90329         (sinl): Declare also if HAVE_DECL_SINL is set.
90330         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
90331         (tanl): Declare also if HAVE_DECL_TANL is set.
90332         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
90333         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
90334         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
90335         declaration of frexpl, ldexpl.
90336         * modules/printf-frexpl (Depends-on): Add math.
90337         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
90339 2007-03-05  Bruno Haible  <bruno@clisp.org>
90341         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
90342         frexpl and ldexpl are declared.
90343         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
90345 2007-03-05  Bruno Haible  <bruno@clisp.org>
90347         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
90348         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
90350 2007-03-05  Bruno Haible  <bruno@clisp.org>
90352         * lib/stdio_.h: Include <stddef.h>.
90354 2007-03-05  Bruno Haible  <bruno@clisp.org>
90356         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
90358 2007-03-05  Bruno Haible  <bruno@clisp.org>
90360         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
90361         NetBSD 4, from Ralf Wildenhues.
90363 2007-03-04  Bruno Haible  <bruno@clisp.org>
90365         * lib/vasprintf.h: Update #if logic for the case when the functions
90366         exist but are overridden.
90368 2007-03-04  Bruno Haible  <bruno@clisp.org>
90370         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
90371         implementations: glibc-2.4 and MacOS X 10.3.
90372         * tests/test-vasnprintf-posix.c (test_function): Test also the case
90373         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
90374         * tests/test-vasprintf-posix.c (test_function): Likewise.
90376 2007-03-04  Bruno Haible  <bruno@clisp.org>
90378         * modules/vasprintf-posix-tests: New file.
90379         * tests/test-vasprintf-posix.c: New file.
90381         * modules/vasprintf-posix: New file.
90382         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
90383         defined.
90384         * m4/vasprintf-posix.m4: New file.
90385         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
90386         gl_FUNC_VASPRINTF.
90387         (gl_FUNC_VASPRINTF): Invoke it.
90388         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
90389         here.
90390         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
90392 2007-03-04  Bruno Haible  <bruno@clisp.org>
90394         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
90395         REPLACE_GETTIMEOFDAY.
90396         * modules/sys_time (Makefile.am): Likewise.
90397         * m4/sys_time_h.m4: Likewise.
90398         * m4/gettimeofday.m4: Likewise.
90400 2007-03-04  Bruno Haible  <bruno@clisp.org>
90402         * modules/vasnprintf-posix-tests: New file.
90403         * tests/test-vasnprintf-posix.c: New file.
90405         * modules/vasnprintf-posix: New file.
90406         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
90407         printf-frexpl.h.
90408         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
90409         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
90410         REPLACE_VASNPRINTF is defined.
90411         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
90412         gl_FUNC_VASNPRINTF.
90413         (gl_FUNC_VASNPRINTF): Invoke it.
90414         * m4/vasnprintf-posix.m4: New file.
90415         * m4/printf.m4: New file.
90417 2007-03-04  Bruno Haible  <bruno@clisp.org>
90419         Compile progreloc.c only if --enable-relocatable is specified.
90420         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
90421         if --enable-relocatable was specified.
90422         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
90423         lib_SOURCES.
90425 2007-03-04  Jim Meyering  <jim@meyering.net>
90427         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
90428         Use it consistently, rather than enumerating errno constants.
90430 2007-03-04  Bruno Haible  <bruno@clisp.org>
90432         * modules/xvasprintf-tests: New file.
90433         * tests/test-xvasprintf.c: New file.
90435         * modules/vasprintf-tests: New file.
90436         * tests/test-vasprintf.c: New file.
90438         * modules/vasnprintf-tests: New file.
90439         * tests/test-vasnprintf.c: New file.
90441         * modules/vsnprintf-tests: New file.
90442         * tests/test-vsnprintf.c: New file.
90444         * modules/snprintf-tests: New file.
90445         * tests/test-snprintf.c: New file.
90447 2007-03-04  Bruno Haible  <bruno@clisp.org>
90449         Compile relocatable.c only if --enable-relocatable is specified.
90450         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
90451         gl_RELOCATABLE_LIBRARY.
90452         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
90453         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
90454         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
90455         gl_RELOCATABLE_LIBRARY.
90456         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
90457         (Makefile.am): Remove lib_SOURCES.
90458         * modules/relocatable-lib-lgpl (configure.ac): Invoke
90459         gl_RELOCATABLE_LIBRARY.
90460         (Makefile.am): Remove lib_SOURCES.
90461         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
90462         always.
90463         * modules/relocatable-prog-wrapper (configure.ac): Invoke
90464         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
90466 2007-03-04  Bruno Haible  <bruno@clisp.org>
90468         * modules/argmatch-tests: New file.
90469         * tests/test-argmatch.c: New file.
90471         * tests/test-allocsa.c (main): Halve the number of loop runs.
90473         * modules/alloca-opt-tests: New file.
90474         * tests/test-alloca-opt.c: New file.
90476 2007-03-04  Jim Meyering  <jim@meyering.net>
90478         Work around difference between Linux ACLs and Solaris 10 ZFS.
90479         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
90480         for EINVAL.
90482 2007-03-03  Bruno Haible  <bruno@clisp.org>
90484         * modules/relocatable-prog (Depends-on): Add back progreloc's
90485         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
90487 2007-03-03  Bruno Haible  <bruno@clisp.org>
90489         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
90490         * modules/relocatable-lib: New file.
90492 2007-03-03  Bruno Haible  <bruno@clisp.org>
90494         * modules/relocatable-prog: Renamed from modules/relocatable.
90495         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
90497 2007-03-03  Bruno Haible  <bruno@clisp.org>
90499         * modules/relocatable-script (Files): Add doc/relocatable.texi,
90500         m4/relocatable-lib.m4.
90501         (Depends-on): Remove 'relocatable'.
90502         (configure.ac): Add gl_RELOCATABLE_NOP.
90504 2007-03-03  Bruno Haible  <bruno@clisp.org>
90506         * modules/relocatable-prog-wrapper: New file.
90507         * modules/relocatable (Depends-on): Add it. Remove all other
90508         dependencies except progname.
90509         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
90511         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
90512         (gl_FUNC_STRERROR): Nop.
90513         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
90515         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
90516         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
90518         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
90519         (gl_FUNC_READLINK): Update.
90521         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
90523 2007-03-03  Bruno Haible  <bruno@clisp.org>
90525         * lib/xreadlink.c: Include <unistd.h> unconditionally.
90526         * modules/xreadlink (Depends-on): Add unistd.
90527         * modules/xreadlink-with-size (Depends-on): Likewise.
90529 2007-03-03  Bruno Haible  <bruno@clisp.org>
90531         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
90532         extracted from gt_FUNC_SETENV.
90533         (gt_FUNC_SETENV): Remove macro.
90534         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
90535         remove gt_FUNC_SETENV.
90537 2007-03-03  Bruno Haible  <bruno@clisp.org>
90539         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
90540         ENABLE_RELOCATABLE here.
90541         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
90543 2007-03-03  Bruno Haible  <bruno@clisp.org>
90545         * modules/rbtreehash-list-tests (Depends-on): Add progname.
90546         * tests/test-rbtreehash_list.c: Include progname.h.
90547         (main): Call set_program_name.
90549         * modules/rbtree-oset-tests (Depends-on): Add progname.
90550         * tests/test-rbtree_oset.c: Include progname.h.
90551         (main): Call set_program_name.
90553         * modules/rbtree-list-tests (Depends-on): Add progname.
90554         * tests/test-rbtree_list.c: Include progname.h.
90555         (main): Call set_program_name.
90557         * modules/linked-list-tests (Depends-on): Add progname.
90558         * tests/test-linked_list.c: Include progname.h.
90559         (main): Call set_program_name.
90561 2007-03-03  Bruno Haible  <bruno@clisp.org>
90563         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
90564         All uses of __restrict changed to _Restrict_.
90565         * lib/glob_.h (__restrict): Remove macro.
90567 2007-03-02  Bruno Haible  <bruno@clisp.org>
90569         * modules/gettext (configure.ac): Require gettext infrastructure
90570         from version 0.16.1.
90572 2007-03-02  Bruno Haible  <bruno@clisp.org>
90574         * modules/linkedhash-list-tests (Depends-on): Add progname.
90575         * tests/test-linkedhash_list.c: Include progname.h.
90576         (main): Call set_program_name.
90578         * modules/carray-list-tests (Depends-on): Add progname.
90579         * tests/test-carray_list.c: Include progname.h.
90580         (main): Call set_program_name.
90582         * modules/avltreehash-list-tests (Depends-on): Add progname.
90583         * tests/test-avltreehash_list.c: Include progname.h.
90584         (main): Call set_program_name.
90586         * modules/avltree-oset-tests (Depends-on): Add progname.
90587         * tests/test-avltree_oset.c: Include progname.h.
90588         (main): Call set_program_name.
90590         * modules/avltree-list-tests (Depends-on): Add progname.
90591         * tests/test-avltree_list.c: Include progname.h.
90592         (main): Call set_program_name.
90594         * modules/array-oset-tests (Depends-on): Add progname.
90595         * tests/test-array_oset.c: Include progname.h.
90596         (main): Call set_program_name.
90598         * modules/array-list-tests (Depends-on): Add progname.
90599         * tests/test-array_list.c: Include progname.h.
90600         (main): Call set_program_name.
90602         * modules/argp-tests (Depends-on): Add progname.
90603         * tests/test-argp.c: Include argp.h first. Include progname.h.
90604         (main): Call set_program_name.
90606 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
90608         * doc/gnulib-tool.texi (Initial import): Reword description of
90609         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
90610         limited effect even if defined after the first system include.
90612 2007-03-01  Bruno Haible  <bruno@clisp.org>
90614         * build-aux/config.libpath: Update to libtool-1.5.22.
90615         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
90617 2007-03-01  Bruno Haible  <bruno@clisp.org>
90619         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
90620         foo_CFLAGS.
90621         Reported by Ralf Wildenhues.
90623 2007-03-01  Bruno Haible  <bruno@clisp.org>
90625         * build-aux/install-reloc: Remove object files left over by some
90626         compilers.
90627         Reported by Ralf Wildenhues.
90629 2007-03-01  Bruno Haible  <bruno@clisp.org>
90631         * build-aux/install-reloc: Break long lines.
90633 2007-03-01  Bruno Haible  <bruno@clisp.org>
90635         * doc/relocatable.texi: Document that it may not work on OpenBSD.
90636         Reported by Ralf Wildenhues.
90638 2007-03-01  Bruno Haible  <bruno@clisp.org>
90640         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
90641         include ordering constraints.
90643 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
90645         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
90646         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
90647         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
90648         as another example.
90649         * lib/time_.h: Fix misspelling.
90650         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
90651         Require gl_HEADER_TIME_H_DEFAULTS.
90652         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
90653         * m4/time_r.m4 (gl_TIME_R): Likewise.
90654         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
90656 2007-03-01  Bruno Haible  <bruno@clisp.org>
90658         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
90659         * m4/utimens.m4 (gl_UTIMENS): Likewise.
90661 2007-03-01  Jim Meyering  <jim@meyering.net>
90663         * modules/xreadlink (Maintainer): Add my name.
90664         * modules/xreadlink-with-size (Depends-on): Alphabetize.
90666 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
90667             Bruno Haible  <bruno@clisp.org>
90669         * build-aux/install-reloc: Compile also c-ctype.c.
90670         * build-aux/relocatable.sh.in: New file.
90671         * doc/relocatable.texi: New file.
90672         * doc/relocatable-maint.texi: New file.
90673         * doc/gnulib.texi: Include relocatable-maint.texi.
90674         * lib/progreloc.c: Include unistd.h unconditionally.
90675         * lib/relocwrapper.c: Include unistd.h unconditionally.
90676         Include c-ctype.h.
90677         (add_dotbin): Use c_tolower.
90678         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
90679         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
90680         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
90681         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
90682         to m4/relocatable-lib.m4.
90683         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
90684         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
90685         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
90686         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
90687         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
90688         * modules/relocatable: New file.
90689         * modules/relocatable-lib: New file.
90690         * modules/relocatable-script: New file.
90692 2007-02-28  Bruno Haible  <bruno@clisp.org>
90694         Import --enable-relocatable infrastructure.
90695         * build-aux/config.libpath: New file, from GNU gettext.
90696         * build-aux/install-reloc: New file, from GNU gettext.
90697         * build-aux/reloc-ldflags: New file, from GNU gettext.
90698         * lib/relocatable.h: New file, from GNU gettext.
90699         * lib/relocatable.c: New file, from GNU gettext.
90700         * lib/relocwrapper.c: New file, from GNU gettext.
90701         * m4/relocatable.m4: New file, from GNU gettext.
90703 2007-02-28  Bruno Haible  <bruno@clisp.org>
90705         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
90707         * modules/xreadlink: New file, from GNU gettext with modifications.
90708         * lib/xreadlink.c: New file, from GNU gettext.
90709         * lib/xreadlink.h: Add comments.
90710         (xreadlink): New declaration.
90712         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
90713         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
90714         lib/xreadlink-with-size.c.
90715         (configure.ac): Remove gl_XREADLINK invocation.
90716         (Makefile.am): Augment lib_SOURCES.
90717         * m4/xreadlink.m4: Remove file.
90718         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
90719         (xreadlink_with_size): Renamed from xreadink.
90720         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
90721         * modules/canonicalize (Depends-on): Replace xreadlink with
90722         xreadlink-with-size.
90723         * lib/canonicalize.c (canonicalize_filename_mode): Update.
90725 2007-02-25  Jim Meyering  <jim@meyering.net>
90727         * build-aux/announce-gen: When complaining about excess arguments,
90728         list them.
90730 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
90732         * README: Document signed integer overflow situation more
90733         accurately.
90735 2007-02-25  Bruno Haible  <bruno@clisp.org>
90737         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
90738         'a' or 'A' conversion.
90740 2007-02-25  Bruno Haible  <bruno@clisp.org>
90742         * modules/filename: Renamed from modules/pathname.
90743         (Files): Replace lib/pathname.h with lib/filename.h. Replace
90744         lib/concatpath.c with lib/concat-filename.c.
90745         (Makefile.am): Update.
90746         (Include): Replace pathname.h with filename.h.
90747         * lib/filename.h: Renamed from lib/pathname.h.
90748         (concatenated_filename): Renamed from concatenated_pathname.
90749         * lib/concat-filename.c: Renamed from lib/concatpath.c.
90750         (concatenated_filename): Renamed from concatenated_pathname.
90751         * lib/findprog.c: Include filename.h instead of pathname.h.
90752         (find_in_path): Update.
90753         * lib/javacomp.c: Include filename.h instead of pathname.h.
90754         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
90755         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
90756         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
90757         is_oldgcj_14_13_usable, is_javac_usable): Update.
90758         * lib/javaexec.c: Include filename.h instead of pathname.h.
90759         (execute_java_class): Update.
90760         * modules/findprog: Update.
90761         * modules/javacomp: Update.
90762         * modules/javaexec: Update.
90763         * MODULES.html.sh (File system functions): Add 'filename', remove
90764         'pathname'.
90766 2007-02-25  Bruno Haible  <bruno@clisp.org>
90768         * modules/printf-frexpl-tests: New file.
90769         * tests/test-printf-frexpl.c: New file.
90771         * modules/printf-frexpl: New file.
90772         * lib/printf-frexpl.h: New file.
90773         * lib/printf-frexpl.c: New file.
90774         * m4/printf-frexpl.m4: New file.
90776 2007-02-25  Bruno Haible  <bruno@clisp.org>
90778         * modules/printf-frexp-tests: New file.
90779         * tests/test-printf-frexp.c: New file.
90781         * modules/printf-frexp: New file.
90782         * lib/printf-frexp.h: New file.
90783         * lib/printf-frexp.c: New file.
90784         * m4/printf-frexp.m4: New file.
90786 2007-02-25  Bruno Haible  <bruno@clisp.org>
90788         Assume automake >= 1.10 for the tests.
90789         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
90790         * modules/arctwo-tests: Likewise.
90791         * modules/argp-tests: Likewise.
90792         * modules/avltree-list-tests: Likewise.
90793         * modules/avltree-oset-tests: Likewise.
90794         * modules/avltreehash-list-tests: Likewise.
90795         * modules/carray-list-tests: Likewise.
90796         * modules/crc-tests: Likewise.
90797         * modules/des-tests: Likewise.
90798         * modules/gc-arcfour-tests: Likewise.
90799         * modules/gc-arctwo-tests: Likewise.
90800         * modules/gc-des-tests: Likewise.
90801         * modules/gc-hmac-md5-tests: Likewise.
90802         * modules/gc-hmac-sha1-tests: Likewise.
90803         * modules/gc-md2-tests: Likewise.
90804         * modules/gc-md4-tests: Likewise.
90805         * modules/gc-md5-tests: Likewise.
90806         * modules/gc-pbkdf2-sha1-tests: Likewise.
90807         * modules/gc-rijndael-tests: Likewise.
90808         * modules/gc-sha1-tests: Likewise.
90809         * modules/gc-tests: Likewise.
90810         * modules/getaddrinfo-tests: Likewise.
90811         * modules/hmac-md5-tests: Likewise.
90812         * modules/hmac-sha1-tests: Likewise.
90813         * modules/linked-list-tests: Likewise.
90814         * modules/linkedhash-list-tests: Likewise.
90815         * modules/lock-tests: Likewise.
90816         * modules/md2-tests: Likewise.
90817         * modules/md4-tests: Likewise.
90818         * modules/md5-tests: Likewise.
90819         * modules/rbtree-list-tests: Likewise.
90820         * modules/rbtree-oset-tests: Likewise.
90821         * modules/rbtreehash-list-tests: Likewise.
90822         * modules/read-file-tests: Likewise.
90823         * modules/rijndael-tests: Likewise.
90824         * modules/stdint-tests: Likewise.
90825         * modules/tls-tests: Likewise.
90827 2007-02-24  Bruno Haible  <bruno@clisp.org>
90829         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
90830         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
90831         function; instead check whether isnan with a double argument links.
90832         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
90833         function; instead check whether isnan with a 'long double' argument
90834         links.
90835         Reported by Eric Blake <ebb9@byu.net>.
90837 2007-02-24  Bruno Haible  <bruno@clisp.org>
90839         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
90840         defined.
90841         * lib/isnanl.c: Remove all code. Just include isnan.c.
90842         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
90844 2007-02-25  Jim Meyering  <jim@meyering.net>
90846         Avoid conflicting types for 'unsetenv' on FreeBSD.
90847         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
90848         conflicting with FreeBSD's (5.0 and 6.1) function declaration
90849         in stdlib.h.
90851 2007-02-24  Bruno Haible  <bruno@clisp.org>
90853         * modules/isnanl-nolibm-tests: New file.
90854         * tests/test-isnanl.c: New file.
90856         * modules/isnanl-nolibm: New file.
90857         * lib/isnanl.h: New file.
90858         * lib/isnanl.c: New file.
90859         * m4/isnanl.m4: New file.
90861 2007-02-24  Bruno Haible  <bruno@clisp.org>
90863         * modules/isnan-nolibm-tests: New file.
90864         * tests/test-isnan.c: New file.
90866         * modules/isnan-nolibm: New file.
90867         * lib/isnan.h: New file.
90868         * lib/isnan.c: New file.
90869         * m4/isnan.m4: New file.
90871 2007-02-24  Bruno Haible  <bruno@clisp.org>
90873         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
90874         assume that an exponent fits in 20 bits.
90876 2007-02-24  Jim Meyering  <jim@meyering.net>
90878         * m4/regex.m4: Update the description of the configure-time option,
90879         --without-included-regex, to state accurately what the defaults are,
90880         and perhaps to give people an idea why using this option is risky.
90882 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
90884         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
90885         loops on small arguments.  This attempts to avoid the problem
90886         Bruno Haible reported for AIX 4.3.2 in
90887         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
90889 2007-02-23  Bruno Haible  <bruno@clisp.org>
90891         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
90892         Needed for help2man.
90894 2007-02-23  Karl Berry  <karl@gnu.org>
90896         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
90897         exists, foo.h should be cvs-ignored, not committed.
90899 2007-02-23  Eric Blake  <ebb9@byu.net>
90901         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
90902         * lib/stat-time.h (includes): Likewise.
90903         * lib/utimecmp.c (includes): Likewise.
90904         * lib/utimens.h (includes): Likewise.
90905         * lib/getdate.y (includes): Also include "timespec.h" for use
90906         internal to the module.
90907         * modules/utimens (Depends-on): Revert yesterday's patch.
90908         * modules/nanosleep (Depends-on): Add missing dependency.
90910 2007-02-22  Bruno Haible  <bruno@clisp.org>
90912         * lib/glob.c: Don't include getlogin_r.h.
90914 2007-02-22  Jim Meyering  <jim@meyering.net>
90916         * modules/utimens (Depends-on): Add timespec, required for
90917         utimens.h's inclusion of timespec.h.
90919 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
90921         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
90922         long unreadable paths in GNU/Linux.  Problem reported by Andreas
90923         Schwab in
90924         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
90925         I'll try to think of a better way to fix the Solaris problem.
90927         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
90928         like glibc; on Solaris 10, it fails with errno == EINVAL.
90929         POSIX says the behavior is unspecified if the first argument is NULL,
90930         so play it safe and never pass NULL to the system getcwd.
90932 2007-02-21  Jim Meyering  <jim@meyering.net>
90934         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
90935         of gettimeofday.  It would conflict with the one now always
90936         provided via sys_time_.h.  Reported by Matthew Woehlke, as
90937         an IRIX 6.5 build failure.
90939 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
90941         Minor fixups to port to Solaris 10 with Sun C 5.8.
90942         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
90943         * modules/getcwd (Depends-on): Add dirfd.
90944         * lib/putenv.c (putenv): #undef it.
90945         (rpl_putenv): New decl.
90946         (malloc, free): Include <stdlib.h> rather than prototyping separately.
90948 2007-02-20  Bruno Haible  <bruno@clisp.org>
90950         * modules/stdio-tests: New file.
90951         * tests/test-stdio.c: New file.
90953         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
90954         (Depends-on): Add stdio.
90955         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
90956         (Include): Use <stdio.h> instead of vsnprintf.h.
90957         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
90958         HAVE_DECL_VSNPRINTF.
90959         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
90961         * modules/snprintf (Files): Remove lib/snprintf.h.
90962         (Depends-on): Add stdio.
90963         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
90964         (Include): Use <stdio.h> instead of snprintf.h.
90965         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
90966         HAVE_DECL_SNPRINTF.
90967         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
90968         * lib/getaddrinfo.c: Likewise.
90970         * modules/stdio: New file.
90971         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
90972         * lib/snprintf.h: Remove file.
90973         * lib/vsnprintf.h: Remove file.
90974         * lib/.cppi-disable: Remove snprintf.h.
90975         * m4/stdio_h.m4: New file.
90976         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
90978 2007-02-20  Jim Meyering  <jim@meyering.net>
90980         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
90981         used by e.g., mingw.  From Bruno Haible.
90983 2007-02-19  Bruno Haible  <bruno@clisp.org>
90985         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
90986         warnings.
90987         Reported by Ben Pfaff <blp@cs.stanford.edu>.
90989 2007-02-19  Bruno Haible  <bruno@clisp.org>
90991         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
90992         from mingw users.
90994 2007-02-19  Bruno Haible  <bruno@clisp.org>
90996         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
90997         warnings.
90998         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
91000 2007-02-19  Jim Meyering  <jim@meyering.net>
91002         Don't use FD after a successful "fdopendir (fd)".
91003         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
91004         Reset it by calling dirfd on the just-obtained DIR*.
91006         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
91007         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
91009 2007-02-18  Bruno Haible  <bruno@clisp.org>
91011         * lib/readlink.c: Include <unistd.h>.
91012         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
91013         HAVE_READLINK.
91014         * modules/readlink (Depends-on): Add unistd.
91015         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91016         (Include): Add <unistd.h>.
91018         * lib/getlogin_r.h: Remove file.
91019         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
91020         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
91021         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
91022         HAVE_DECL_GETLOGIN_R.
91023         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
91024         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91025         (Include): Use <unistd.h> instead of getlogin_r.h.
91027         * lib/getcwd.h: Remove file.
91028         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
91029         * lib/xgetcwd.c: Likewise.
91030         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
91031         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
91032         * modules/getcwd (Files): Remove lib/getcwd.h.
91033         (Depends-on): Add unistd.
91034         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91035         (Include): Use <unistd.h> instad of getcwd.h.
91037         * lib/ftruncate.c: Include <unistd.h> first.
91038         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
91039         Set HAVE_FTRUNCATE.
91040         * modules/ftruncate (Depends-on): Add unistd.
91041         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91043         * lib/fchdir.c: Include <unistd.h> first.
91044         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
91045         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
91046         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
91047         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91048         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
91050         * lib/dup2.c: Include <unistd.h> first.
91051         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
91052         HAVE_DUP2.
91053         * modules/dup2 (Depends-on): Add unistd.
91054         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91056         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
91057         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
91058         REPLACE_CHOWN. Don't define chown as a macro here.
91059         * modules/chown (Depends-on): Add unistd.
91060         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91062         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
91063         Add definition for GL_LINK_WARNING.
91064         (chown, dup2): New declarations.
91065         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
91066         link warning.
91067         (ftruncate): New declaration.
91068         (getcwd): New declaration, taken from old getcwd.h.
91069         (getlogin_r): New declaration, taken from old getlogin_r.h.
91070         (readlink): New declaration.
91071         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
91072         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
91073         (gl_PREREQ_UNISTD): Remove macro.
91074         (gl_UNISTD_MODULE_INDICATOR): New macro.
91075         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
91076         many new variables. Don't set UNISTD_H.
91077         * modules/unistd (Description): Change.
91078         (Depends-on): Add link-warning.
91079         (configure.ac): Update.
91080         (Makefile.am): Create unistd.h always. Substitute many new variables
91081         into it.
91083 2007-02-18  Bruno Haible  <bruno@clisp.org>
91085         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
91086         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
91087         HAVE_GETSUBOPT.
91088         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
91089         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
91090         * lib/getsubopt.h: Remove file.
91091         * modules/getsubopt (Files): Remove lib/getsubopt.h.
91092         (Depends-on): Add stdlib.
91093         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91094         (Includes): Use <stdlib.h> instead of getsubopt.h.
91095         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
91096         Set HAVE_GETSUBOPT.
91097         * lib/getsubopt.c: Don't include getsubopt.h.
91099 2007-02-18  Bruno Haible  <bruno@clisp.org>
91101         * modules/fchdir (Depends-on): Add dup2.
91103 2007-02-18  Bruno Haible  <bruno@clisp.org>
91105         * lib/stdlib_.h: Handle glibc's special invocation convention
91106         specially.
91108 2007-02-18  Bruno Haible  <bruno@clisp.org>
91110         * modules/stdlib-tests: New file.
91111         * tests/test-stdlib.c: New file.
91113         * modules/mkstemp (Files): Remove lib/mkstemp.h.
91114         (Depends-on): Add stdlib.
91115         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91116         (Includes): Use <stdlib.h> instead of mkstemp.h.
91117         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
91118         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
91119         * lib/mkstemp.c: Don't include mkstemp.h.
91120         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
91121         * lib/stdlib--.h: Don't include mkstemp.h.
91123         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
91124         (Depends-on): Add stdlib.
91125         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91126         (Includes): Use <stdlib.h> instead of mkdtemp.h.
91127         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
91128         HAVE_MKDTEMP.
91129         * lib/mkdtemp.c: Don't include mkdtemp.h.
91130         * lib/clean-temp.c: Don't include mkdtemp.h.
91132         * modules/exit (Files): Remove lib/exit.h.
91133         (Depends-on): Add stdlib.
91134         (Makefile.am): Remove lib_SOURCES.
91135         (Include): Use <stdlib.h> instead of exit.h.
91136         * lib/argmatch.c: Don't include exit.h.
91137         * lib/execute.c: Likewise.
91138         * lib/pagealign_alloc.c: Likewise.
91139         * lib/pipe.c: Likewise.
91140         * lib/wait-process.c: Likewise.
91141         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
91142         * lib/exitfail.c: Likewise.
91143         * lib/savewd.c: Likewise.
91144         * lib/xsetenv.c: Likewise.
91146         * modules/stdlib: New file.
91147         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
91148         and extra comments about mkstemp().
91149         * lib/exit.h: Remove file.
91150         * lib/mkdtemp.h: Remove file.
91151         * lib/mkstemp.h: Remove file.
91152         * m4/stdlib_h.m4: New file.
91153         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
91155 2007-02-18  Bruno Haible  <bruno@clisp.org>
91157         * modules/math-tests: New file.
91158         * tests/test-math.c: New file.
91160         * modules/math: New file.
91161         * modules/mathl (Files): Remove lib/mathl.h.
91162         (Depends-on): Add math.
91163         (Makefile.am): Don't mention mathl.h.
91164         (Include): Use <math.h> instead of mathl.h.
91165         * lib/math_.h: New file.
91166         * lib/mathl.h: Remove file.
91167         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
91168         mathl.h.
91169         * lib/asinl.c: Likewise.
91170         * lib/atanl.c: Likewise.
91171         * lib/ceill.c: Likewise.
91172         * lib/cosl.c: Likewise.
91173         * lib/expl.c: Likewise.
91174         * lib/floorl.c: Likewise.
91175         * lib/frexpl.c: Likewise.
91176         * lib/ldexpl.c: Likewise.
91177         * lib/logl.c: Likewise.
91178         * lib/sincosl.c: Likewise.
91179         * lib/sinl.c: Likewise.
91180         * lib/sqrtl.c: Likewise.
91181         * lib/tanl.c: Likewise.
91182         * lib/trigl.c: Likewise.
91183         * m4/math_h.m4: New file.
91184         * MODULES.html.sh (Mathematics): Add math.
91186 2007-02-17  Bruno Haible  <bruno@clisp.org>
91188         * modules/wctype-tests: New file.
91189         * tests/test-wctype.c: New file.
91191         * modules/wchar-tests: New file.
91192         * tests/test-wchar.c: New file.
91194         * modules/unistd-tests: New file.
91195         * tests/test-unistd.c: New file.
91197         * modules/time-tests: New file.
91198         * tests/test-time.c: New file.
91200         * modules/sysexits-tests: New file.
91201         * tests/test-sysexits.c: New file.
91203         * modules/sys_time-tests: New file.
91204         * tests/test-sys_time.c: New file.
91206         * modules/sys_stat-tests: New file.
91207         * tests/test-sys_stat.c: New file.
91209         * modules/sys_socket-tests: New file.
91210         * tests/test-sys_socket.c: New file.
91212         * modules/sys_select-tests: New file.
91213         * tests/test-sys_select.c: New file.
91215         * modules/string-tests: New file.
91216         * tests/test-string.c: New file.
91218         * modules/stdbool-tests: New file.
91219         * tests/test-stdbool.c: New file.
91221         * modules/netinet_in-tests: New file.
91222         * tests/test-netinet_in.c: New file.
91224         * modules/inttypes-tests: New file.
91225         * tests/test-inttypes.c: New file.
91227         * modules/fcntl-tests: New file.
91228         * tests/test-fcntl.c: New file.
91230         * modules/byteswap-tests: New file.
91231         * tests/test-byteswap.c: New file.
91233         * modules/arpa_inet-tests: New file.
91234         * tests/test-arpa_inet.c: New file.
91236 2007-02-17  Bruno Haible  <bruno@clisp.org>
91238         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
91239         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
91240         if the corresponding module is not enabled. Emit link warnings if
91241         the function is used nevertheless.
91242         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
91243         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
91244         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
91245         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
91246         * modules/inttypes (Depends-on): Add link-warning.
91247         (Makefile.am): Copy the contents of build-aux/link-warning.h into
91248         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
91249         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
91250         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
91251         * modules/imaxdiv (configure.ac): Likewise.
91252         * modules/strtoimax (configure.ac): Likewise.
91253         * modules/strtoumax (configure.ac): Likewise.
91255 2007-02-17  Bruno Haible  <bruno@clisp.org>
91257         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
91258         gl_STRING_MODULE_INDICATOR_DEFAULTS.
91259         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
91260         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
91262 2007-02-17  Bruno Haible  <bruno@clisp.org>
91264         * modules/link-warning: New file.
91265         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
91266         * lib/string_.h (GL_LINK_WARNING): Remove definition.
91267         * modules/string (Depends-on): Add link-warning.
91268         (Makefile.am): Copy the contents of build-aux/link-warning.h into
91269         string.h.
91270         * MODULES.html.sh (Support for building libraries and executables): Add
91271         link-warning.
91273 2007-02-17  Bruno Haible  <bruno@clisp.org>
91275         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
91276         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
91277         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
91278         long lines.
91280 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
91281             Bruno Haible  <bruno@clisp.org>
91283         * modules/tmpfile: New file.
91284         * lib/tmpfile.c: New file.
91285         * m4/tmpfile.m4: New file.
91286         * MODULES.html.sh (func_all_modules): New section "Input/output".
91288 2007-02-15  Bruno Haible  <bruno@clisp.org>
91290         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
91291         (supports_delete_on_close): New function.
91292         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
91294 2007-02-14  Bruno Haible  <bruno@clisp.org>
91296         * modules/mbspcasecmp-tests: New file.
91297         * tests/test-mbspcasecmp.sh: New file.
91298         * tests/test-mbspcasecmp.c: New file.
91300         New module mbspcasecmp.
91301         * modules/mbspcasecmp: New file.
91302         * lib/mbspcasecmp.c: New file.
91303         * lib/string_.h (strncasecmp): Change warning message.
91304         (mbspcasecmp): New declaration.
91305         * m4/mbspcasecmp.m4: New file.
91306         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91307         GNULIB_MBSPCASECMP.
91308         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
91309         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
91311 2007-02-14  Bruno Haible  <bruno@clisp.org>
91313         * modules/mbsncasecmp-tests: New file.
91314         * tests/test-mbsncasecmp.sh: New file.
91315         * tests/test-mbsncasecmp.c: New file.
91317         New module mbsncasecmp.
91318         * modules/mbsncasecmp: New file.
91319         * lib/mbsncasecmp.c: New file.
91320         * lib/string_.h (mbsncasecmp): New declaration.
91321         * m4/mbsncasecmp.m4: New file.
91322         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91323         GNULIB_MBSNCASECMP.
91324         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
91325         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
91327 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
91329         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
91330         Verify that it doesn't overlap with our flags.
91331         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
91332         do not have the desired effect in multibyte locales; instead, use
91333         mbscasecmp.
91334         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
91335         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
91336         we don't require GNU fnmatch ourselves (if our users require it, they
91337         should do so explicitly).
91339         Fix regex code so it doesn't rely on strcasecmp.
91340         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
91341         Otherwise, include gnulib's langinfo.h.
91342         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
91343         undesirable behavior in non-C locales.  Instead, rely on localecharset.
91344         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
91345         * modules/regex (FILES): Remove m4/codeset.m4.
91346         (Depends-on): Add localcharset.  Remove strcase.
91348 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91350         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
91351         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
91353 2007-02-13  Bruno Haible  <bruno@clisp.org>
91355         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
91356         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
91358 2007-02-12  Bruno Haible  <bruno@clisp.org>
91360         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
91361         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
91362         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
91363         time warning rather than a link error.
91365 2007-02-12  Bruno Haible  <bruno@clisp.org>
91367         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
91368         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
91369         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
91371 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
91373         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
91374         args, not 2.
91376 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
91378         New module 'time', so that apps can include <time.h> as per
91379         POSIX and GNU instead of separate include files like time_r.h
91380         and timegm.h.  This implementation tries out a simpler approach
91381         for replacing decls in standard include files (as compared to
91382         the string module), somewhat as an experiment.
91384         * config/srclist.txt: Comment out mktime.c for now.
91385         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
91386         since it doesn't apply any more.  Use generic wording instead.
91387         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
91388         'time'.
91389         * lib/time_.h, m4/time_h.m4, modules/time: New files.
91390         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
91391         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
91392         Don't include <sys/types.h>; no longer needed since we assume C89.
91393         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
91394         * lib/strftime.c: Likewise.
91395         * lib/time_r.c: Likewise.
91396         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
91397         * lib/nanosleep.c: Include <time.h> first, to check interface.
91398         * lib/strptime.c: Likewise.
91399         * lib/time_r.c: Likewise.
91400         * lib/timegm.c: Likewise.
91401         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
91402         needed.
91403         * lib/timegm.c: Don't include timegm.h; no longer needed.
91404         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
91405         time.h now handles any problems in that area.
91406         (struct timespec, nanosleep): Remove; time.h now arranges for these.
91407         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
91408         that time.h defines struct timespec.
91409         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
91410         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
91411         handles that.
91412         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
91413         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
91414         needed.  Set REPLACE_LOCALTIME.
91415         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
91416         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
91417         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
91418         nanosleep; time_h.m4 now does that.  Don't require
91419         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
91420         module handles this now.
91421         * modules/getdate (Depends-on): Remove timespec.  Add time.
91422         * modules/nanosleep (Depends-on): Likewise.
91423         * modules/stat-time (Depends-on): Likewise.
91424         * modules/nanosleep (Include): Include time.h, not timespec.h.
91425         * modules/strptime (Files): Remove lib/strptime.h.
91426         (Depends-on): Add extensions, time.
91427         (Include): Include time.h, not strptime.h.
91428         * modules/time_r (Files): Remove lib/time_r.h.
91429         (Depends-on): Add time.
91430         (Include): Include time.h, not time_r.h.
91431         * modules/timegm: Likewise.
91432         * modules/timespec (Description): Now does timespec-related decls
91433         of our own, instead of struct timespec itself.
91434         (Depends-on): Add time; remove extensions.
91435         (Maintainer): Add self.
91436         * modules/utimecmp (Depends-on): Add time; remove timespec.
91437         * modules/utimens (Depends-on): Likewise.
91438         * modules/xnanosleep (Depends-on): Likewise.
91440 2007-02-11  Bruno Haible  <bruno@clisp.org>
91442         * lib/c-strstr.c: Include allocsa.h.
91443         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91444         * lib/c-strcasestr.c: Include allocsa.h.
91445         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91446         * lib/strcasestr.c: Include allocsa.h.
91447         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91448         * lib/mbsstr.c: Include allocsa.h.
91449         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
91450         allocsa/freesa instead of malloc/free.
91451         * lib/mbscasestr.c: Include allocsa.h.
91452         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
91453         allocsa/freesa instead of malloc/free.
91454         * modules/c-strstr (Depends-on): Add allocsa.
91455         * modules/c-strcasestr (Depends-on): Likewise.
91456         * modules/strcasestr (Depends-on): Likewise.
91457         * modules/mbsstr (Depends-on): Likewise.
91458         * modules/mbscasestr (Depends-on): Likewise.
91460 2007-02-11  Bruno Haible  <bruno@clisp.org>
91462         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
91464         * modules/mbsspn-tests: New file.
91465         * tests/test-mbsspn.sh: New file.
91466         * tests/test-mbsspn.c: New file.
91468 2007-02-11  Bruno Haible  <bruno@clisp.org>
91470         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
91472         * modules/mbspbrk-tests: New file.
91473         * tests/test-mbspbrk.sh: New file.
91474         * tests/test-mbspbrk.c: New file.
91476 2007-02-11  Bruno Haible  <bruno@clisp.org>
91478         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
91479         unneeded cast.
91481         * modules/mbscspn-tests: New file.
91482         * tests/test-mbscspn.sh: New file.
91483         * tests/test-mbscspn.c: New file.
91485 2007-02-11  Bruno Haible  <bruno@clisp.org>
91487         * modules/mbscasecmp-tests: New file.
91488         * tests/test-mbscasecmp.sh: New file.
91489         * tests/test-mbscasecmp.c: New file.
91491 2007-02-11  Bruno Haible  <bruno@clisp.org>
91493         Ensure O(n) worst-case complexity of mbscasestr.
91494         * lib/mbscasestr.c: Include stdbool.h.
91495         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
91496         functions.
91497         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
91498         the bookkeeping indicates that it's worth it.
91499         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
91501         * modules/mbscasestr-tests: New file.
91502         * tests/test-mbscasestr1.c: New file.
91503         * tests/test-mbscasestr2.sh: New file.
91504         * tests/test-mbscasestr2.c: New file.
91505         * tests/test-mbscasestr3.sh: New file.
91506         * tests/test-mbscasestr3.c: New file.
91507         * tests/test-mbscasestr4.sh: New file.
91508         * tests/test-mbscasestr4.c: New file.
91509         * m4/locale-tr.m4: New file.
91511 2007-02-11  Bruno Haible  <bruno@clisp.org>
91513         Ensure O(n) worst-case complexity of mbsstr.
91514         * lib/mbsstr.c: Include stdbool.h.
91515         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
91516         functions.
91517         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
91518         bookkeeping indicates that it's worth it.
91519         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
91521         * modules/mbsstr-tests: New file.
91522         * tests/test-mbsstr1.c: New file.
91523         * tests/test-mbsstr2.sh: New file.
91524         * tests/test-mbsstr2.c: New file.
91525         * tests/test-mbsstr3.sh: New file.
91526         * tests/test-mbsstr3.c: New file.
91527         * m4/locale-fr.m4: New file.
91529 2007-02-11  Bruno Haible  <bruno@clisp.org>
91531         * lib/mbsrchr.c (mbsrchr): Fix bug.
91533         * modules/mbsrchr-tests: New file.
91534         * tests/test-mbsrchr.sh: New file.
91535         * tests/test-mbsrchr.c: New file.
91537 2007-02-11  Bruno Haible  <bruno@clisp.org>
91539         * lib/mbschr.c (mbschr): Fix bug.
91541         * modules/mbschr-tests: New file.
91542         * tests/test-mbschr.sh: New file.
91543         * tests/test-mbschr.c: New file.
91544         * m4/locale-zh.m4: New file.
91546 2007-02-11  Bruno Haible  <bruno@clisp.org>
91548         Support for copying multibyte string iterators.
91549         * lib/mbiter.h: Include <string.h>.
91550         (mbiter_multi_copy): New function.
91551         (mbi_copy): New macro.
91552         * lib/mbuiter.h: Include <string.h>.
91553         (mbuiter_multi_copy): New function.
91554         (mbui_copy): New macro.
91556 2007-02-11  Bruno Haible  <bruno@clisp.org>
91558         New module mbslen.
91559         * modules/mbslen: New file.
91560         * lib/mbslen.c: New file.
91561         * lib/string_.h (mbslen): New declaration.
91562         * m4/mbslen.m4: New file.
91563         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91564         GNULIB_MBSLEN.
91565         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
91566         * MODULES.html.sh (Internationalization functions): Add mbslen.
91568 2007-02-11  Bruno Haible  <bruno@clisp.org>
91570         Ensure O(n) worst-case complexity of strcasestr substitute.
91571         * lib/strcasestr.c: Include stdbool.h.
91572         (knuth_morris_pratt): New function.
91573         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
91574         bookkeeping indicates that it's worth it.
91575         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
91577         * modules/strcasestr-tests: New file.
91578         * tests/test-strcasestr.c: New file.
91580 2007-02-11  Bruno Haible  <bruno@clisp.org>
91582         Ensure O(n) worst-case complexity of c_strcasestr.
91583         * lib/c-strcasestr.c: Include stdbool.h, string.h.
91584         (knuth_morris_pratt): New function.
91585         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
91586         the bookkeeping indicates that it's worth it.
91587         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
91589         * modules/c-strcasestr-tests: New file.
91590         * tests/test-c-strcasestr.c: New file.
91592 2007-02-11  Bruno Haible  <bruno@clisp.org>
91594         Ensure O(n) worst-case complexity of c_strstr.
91595         * lib/c-strstr.c: Include stdbool.h, string.h.
91596         (knuth_morris_pratt): New function.
91597         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
91598         bookkeeping indicates that it's worth it.
91599         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
91601         * lib/c-strstr.c: Complete rewrite for maintainability.
91603         * modules/c-strstr-tests: New file.
91604         * tests/test-c-strstr.c: New file.
91606 2007-02-11  Bruno Haible  <bruno@clisp.org>
91608         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
91609         5.2.1 and earlier, whereby \055 was treated just like the range
91610         delimiter '-'.
91611         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
91613 2007-02-08  Bruno Haible  <bruno@clisp.org>
91615         * modules/regex (Depends-on): Add stdbool.
91616         Reported by Dalibor Topic <robilad@kaffe.org>.
91618 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
91620         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
91621         Prefer returning from main to exiting from it.
91622         Remove unnecessary parens after sizeof.
91624 2007-02-05  Bruno Haible  <bruno@clisp.org>
91626         New module mbssep.
91627         * modules/mbssep: New file.
91628         * lib/mbssep.c: New file.
91629         * lib/string_.h (strsep): Add a conditional link warning.
91630         (mbssep): New declaration.
91631         * m4/mbssep.m4: New file.
91632         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91633         GNULIB_MBSSEP.
91634         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
91635         * MODULES.html.sh (Internationalization functions): Add mbssep.
91637 2007-02-05  Bruno Haible  <bruno@clisp.org>
91639         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
91640         Optimize search in case of 1 delimiter.
91642 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
91644         * lib/acl.h: Include sys/types.h before sys/acl.h.
91646 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
91648         Merge upstream fix for glibc bugzilla #3957:
91650         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
91652         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
91653         bit for RE_HAT_LISTS_NOT_NEWLINE.
91654         (build_charclass_op): Remove bogus comment.
91656 2007-02-05  Simon Josefsson  <simon@josefsson.org>
91658         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
91660 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
91662         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
91663         * lib/memmem.c [!defined _LIBC]: Include config.h.
91665 2007-02-04  Bruno Haible  <bruno@clisp.org>
91667         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
91668         warning message.
91670 2007-02-04  Bruno Haible  <bruno@clisp.org>
91672         New module mbstok_r.
91673         * modules/mbstok_r: New file.
91674         * lib/mbstok_r.c: New file.
91675         * lib/string_.h (strtok_r): Change argument names to match the
91676         comments. Add a conditional link warning.
91677         (mbstok_r): New declaration.
91678         * m4/mbstok_r.m4: New file.
91679         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91680         GNULIB_MBSTOK_R.
91681         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
91682         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
91684 2007-02-04  Bruno Haible  <bruno@clisp.org>
91686         New module mbsspn.
91687         * modules/mbsspn: New file.
91688         * lib/mbsspn.c: New file.
91689         * lib/string_.h (strspn): Add a conditional link warning.
91690         (mbsspn): New declaration.
91691         * m4/mbsspn.m4: New file.
91692         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91693         GNULIB_MBSSPN.
91694         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
91695         * MODULES.html.sh (Internationalization functions): Add mbsspn.
91697 2007-02-04  Bruno Haible  <bruno@clisp.org>
91699         New module mbspbrk.
91700         * modules/mbspbrk: New file.
91701         * lib/mbspbrk.c: New file.
91702         * lib/string_.h (strpbrk): Add a conditional link warning.
91703         (mbspbrk): New declaration.
91704         * m4/mbspbrk.m4: New file.
91705         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91706         GNULIB_MBSPBRK.
91707         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
91708         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
91710 2007-02-04  Bruno Haible  <bruno@clisp.org>
91712         New module mbscspn.
91713         * modules/mbscspn: New file.
91714         * lib/mbscspn.c: New file.
91715         * lib/string_.h (strcspn): Add a conditional link warning.
91716         (mbscspn): New declaration.
91717         * m4/mbscspn.m4: New file.
91718         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91719         GNULIB_MBSCSPN.
91720         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
91721         * MODULES.html.sh (Internationalization functions): Add mbscspn.
91723 2007-02-04  Bruno Haible  <bruno@clisp.org>
91725         New module mbscasestr, reduced goal of strcasestr.
91726         * modules/mbscasestr: New file.
91727         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
91728         (mbscasestr): Renamed from strcasestr.
91729         * lib/strcasestr.c: Don't include mbuiter.h.
91730         (strcasestr): Remove support for multibyte locales.
91731         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
91732         Change the conditional link warning.
91733         (mbscasestr): New declaration.
91734         * m4/mbscasestr.m4: New file.
91735         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
91736         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
91737         REPLACE_STRCASESTR.
91738         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
91739         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91740         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
91741         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
91742         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
91743         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
91744         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
91745         (Depends-on): Remove mbuiter.
91746         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
91748 2007-02-04  Bruno Haible  <bruno@clisp.org>
91750         Simplify handling of strncasecmp.
91751         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
91752         the conditional link warning.
91753         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91754         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
91755         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
91756         * modules/strcase (configure.ac): Don't invoke
91757         gl_STRING_MODULE_INDICATOR.
91758         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
91760 2007-02-04  Bruno Haible  <bruno@clisp.org>
91762         New module mbscasecmp, reduced goal of strcasecmp.
91763         * modules/mbscasecmp: New file.
91764         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
91765         (mbscasecmp): Renamed from strcasecmp.
91766         * lib/strcasecmp.c: Don't include mbuiter.h.
91767         (strcasecmp): Remove support for multibyte locales.
91768         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
91769         Change the conditional link warning.
91770         (mbscasecmp): New declaration.
91771         * m4/mbscasecmp.m4: New file.
91772         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
91773         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
91774         REPLACE_STRCASECMP.
91775         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
91776         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91777         GNULIB_MBSCASECMP.
91778         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
91779         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
91780         * modules/strcase (Files): Remove m4/mbrtowc.m4.
91781         (Depends-on): Remove mbuiter.
91782         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
91784 2007-02-04  Bruno Haible  <bruno@clisp.org>
91786         New module mbsstr. Remove module strstr.
91787         * modules/mbsstr: New file.
91788         * modules/strstr: Remove file.
91789         * lib/mbsstr.c: Renamed from lib/strstr.c.
91790         (mbsstr): Renamed from strstr.
91791         * lib/string_.h (strstr): Remove declaration. Change the conditional
91792         link warning.
91793         (mbsstr): New declaration.
91794         * m4/mbsstr.m4: New file.
91795         * m4/strstr.m4: Remove file.
91796         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
91797         REPLACE_STRSTR.
91798         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
91799         Don't initialize GNULIB_STRSTR.
91800         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
91801         substitute GNULIB_STRSTR and REPLACE_STRSTR.
91802         * MODULES.html.sh (Internationalization functions): Add mbsstr.
91803         (Support for systems lacking ANSI C 89): Remove strstr.
91805 2007-02-04  Bruno Haible  <bruno@clisp.org>
91807         New module mbsrchr.
91808         * modules/mbsrchr: New file.
91809         * lib/mbsrchr.c: New file.
91810         * lib/string_.h (strrchr): Add a conditional link warning.
91811         (mbsrchr): New declaration.
91812         * m4/mbsrchr.m4: New file.
91813         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91814         GNULIB_MBSRCHR.
91815         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
91816         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
91818 2007-02-04  Bruno Haible  <bruno@clisp.org>
91820         New module mbschr.
91821         * modules/mbschr: New file.
91822         * lib/mbschr.c: New file.
91823         * lib/string_.h (strchr): Add a conditional link warning.
91824         (mbschr): New declaration.
91825         * m4/mbschr.m4: New file.
91826         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91827         GNULIB_MBSCHR.
91828         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
91829         * MODULES.html.sh (Internationalization functions): Add mbschr.
91831 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
91833         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
91835         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
91837 2007-02-04  Bruno Haible  <bruno@clisp.org>
91839         New module description section 'configure.ac-early'.
91840         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
91841         (func_get_autoconf_early_snippet): New function.
91842         (func_import, func_create_testdir): Use it. Remove special cases for
91843         modules 'extensions' and 'lock'.
91844         * modules/extensions (configure.ac-early): Require
91845         gl_USE_SYSTEM_EXTENSIONS.
91846         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
91848 2007-02-04  Bruno Haible  <bruno@clisp.org>
91850         Make use of gcj-4.3's -fsource and -ftarget option.
91851         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
91852         and if so try the options -fsource and -ftarget.
91853         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
91854         source_version, ftarget_option, target_version arguments.
91855         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
91856         (is_envjavac_oldgcj_14_14_usable): Renamed from
91857         is_envjavac_gcj_14_14_usable.
91858         (is_envjavac_oldgcj_14_13_usable): Renamed from
91859         is_envjavac_gcj_14_13_usable.
91860         (is_gcj_present): Update.
91861         (is_gcj_43, is_gcj43_usable): New functions.
91862         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
91863         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
91864         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
91865         try the options -fsource and -ftarget.
91867 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
91869         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
91870         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
91871         larger value.
91873 2007-02-03  Jim Meyering  <jim@meyering.net>
91875         Give tools a better chance to allocate space for very large buffers.
91876         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
91878         Make pwd and readlink work also when run with an unreadable parent dir
91879         on systems with openat support.
91880         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
91881         provided getcwd function, even when we have openat support.
91882         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
91884 2007-02-02  Bruno Haible  <bruno@clisp.org>
91886         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
91887         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
91888         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
91889         portability problems if one of these functions is only used on specific
91890         platforms.
91891         Reported by Paul Eggert.
91893 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
91895         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
91896         is causing more trouble than it's curing.
91897         * lib/regex_internal.h (__mempcpy): Remove.
91898         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
91899         (and make the code a tad smaller to boot).
91900         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
91902 2007-02-02  Jim Meyering  <jim@meyering.net>
91904         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
91905         section, not in the Makefile.am: one.
91907 2007-02-02  Eric Blake  <ebb9@byu.net>
91909         * lib/strchrnul.c: Always include config.h first.
91911         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
91912         gnulib strstr is not necessary here.
91914 2007-02-02  Simon Josefsson  <simon@josefsson.org>
91916         * m4/socklen.m4: Fix typo.
91918 2007-02-02  Eric Blake  <ebb9@byu.net>
91920         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
91921         * modules/netinet_in (Makefile.am): Likewise.
91923 2007-02-01  Bruno Haible  <bruno@clisp.org>
91925         * lib/string_.h (GL_LINK_WARNING): New macro.
91926         (strcasecmp, strstr, strcasestr): If provided by the system,
91927         conditionally define as a macro that leads to a warning instead of to
91928         an error.
91929         (strncasecmp): Conditionally define as a macro that leads to a warning.
91931 2007-02-01  Karl Berry  <karl@gnu.org>
91933         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
91935 2007-02-01  Bruno Haible  <bruno@clisp.org>
91937         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
91938         renamings.
91940 2007-02-01  Eric Blake  <ebb9@byu.net>
91942         * modules/regex (Depends-on): Revert dependence on mempcpy.
91943         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
91944         module's definition of mempcpy.
91945         Reported by Paul Eggert.
91947 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
91949         * lib/string_.h: If the gnulib module XYZ is not present, undefine
91950         the symbol XYZ before redefining it.  This fixes a problem with
91951         programs that don't use XYZ, when compiled on systems that define
91952         XYZ to something else.
91954 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
91956         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
91957         occurs when "mkdir -m foo" creates a setgid directory that is (1)
91958         writeable to group or other and (2) is intended to have a special
91959         mode bit that is set or cleared.  In such a case, the directory
91960         should be neither group- nor other-writeable until the special
91961         mode bits are right.
91963 2007-01-31  Eric Blake  <ebb9@byu.net>
91965         * modules/mountlist (Depends-on): Add strstr.
91967         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
91968         bug.
91969         * modules/string (Makefile.am): Remove redundant replacement.
91970         * modules/regex (Depends-on): Add mempcpy.
91972 2007-01-31  Bruno Haible  <bruno@clisp.org>
91974         New module description field 'Link'.
91975         * gnulib-tool (func_usage): Document --extract-link-directive.
91976         (sed_extract_prog): Recognize 'Link' directive.
91977         (func_get_link_directive): New function.
91978         (func_import): Show summary of link directives.
91979         Handle --extract-link-directive option.
91980         * modules/acl (Link): New section.
91981         * modules/clock-time (Link): New section.
91982         * modules/euidaccess (Link): New section.
91983         * modules/gettext (Link): New section.
91984         * modules/iconv (Link): New section.
91985         * modules/lock (Link): New section.
91986         * modules/nanosleep (Link): New section.
91987         * modules/readline (Link): New section.
91989 2007-01-27  Bruno Haible  <bruno@clisp.org>
91991         Enforce the use of gnulib modules for unportable <string.h> functions.
91992         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
91993         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
91994         (gl_HEADER_STRING_H_BODY): Require it.
91995         * lib/string_.h: If the gnulib module XYZ is not present, redefine
91996         the symbol XYZ to one that gives a link error.
91997         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
91998         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
91999         * modules/mempcpy (configure.ac): Likewise.
92000         * modules/memrchr (configure.ac): Likewise.
92001         * modules/stpcpy (configure.ac): Likewise.
92002         * modules/stpncpy (configure.ac): Likewise.
92003         * modules/strcase (configure.ac): Likewise.
92004         * modules/strcasestr (configure.ac): Likewise.
92005         * modules/strchrnul (configure.ac): Likewise.
92006         * modules/strdup (configure.ac): Likewise.
92007         * modules/strndup (configure.ac): Likewise.
92008         * modules/strnlen (configure.ac): Likewise.
92009         * modules/strpbrk (configure.ac): Likewise.
92010         * modules/strsep (configure.ac): Likewise.
92011         * modules/strstr (configure.ac): Likewise.
92012         * modules/strtok_r (configure.ac): Likewise.
92014 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
92016         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
92018 2007-01-30  Jim Meyering  <jim@meyering.net>
92020         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
92022 2007-01-29  Bruno Haible  <bruno@clisp.org>
92024         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
92025         * lib/execute.c: Likewise.
92026         * lib/pipe.c: Likewise.
92027         * lib/printf-args.h: Likewise.
92028         * lib/printf-args.c: Likewise.
92029         * lib/printf-parse.c: Likewise.
92030         * lib/vasnprintf.c: Likewise.
92032 2007-01-29  Eric Blake  <ebb9@byu.net>
92034         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
92035         declaration.
92037 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
92039         * lib/strptime.h (strptime): Use 'restrict' for args where
92040         POSIX requires this.
92041         * lib/strptime.c (strptime): Likewise.
92042         Change license notice from LGPL to GPL, since gnulib-tool will
92043         change this as needed.
92044         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
92045         defined.
92046         Include "strptime.h" first, to check interface.
92047         Do not #undef _LIBC and _NL_CURRENT.
92048         Do not include <stdlib.h>; no longer needed.
92049         Include "time_r.h" and declare ptime_locale_status
92050         only if _LIBC is not defined.
92051         (__P): Remove unused macro.
92052         (match_string): Bring back glibc version, but use it only if _LIBC
92053         is defined.
92054         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
92055         Remove unnecessary assertion and abort() call.
92056         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
92057         * m4/strptime.m4: Fix serial number comment.
92058         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
92059         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
92060         (Depends-on): Add time_r.
92062 2007-01-29  Bruno Haible  <bruno@clisp.org>
92064         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
92065         strptime.
92066         * modules/strptime (Depends-on): Add stdbool.
92067         * lib/strptime.h: Include <time.h> always. Add comments.
92069 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
92071         * modules/strptime: New file.
92072         * lib/strptime.h: New file.
92073         * lib/strptime.c: New file.
92074         * m4/strptime.m4: New file.
92076 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
92078         * MODULES.html.sh: New module mpsort.
92079         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
92081         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
92082         a circularity problem with HP-UX ia64 reported by Bob Proulx in
92083         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
92084         All uses changed.
92085         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
92086         All uses changed.
92087         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
92088         to _Restrict_.
92089         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
92090         the parameter matches the prototype.
92092 2007-01-28  Jim Meyering  <jim@meyering.net>
92094         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
92095         sys/time.h here, reverting that part of the previous patch:
92096         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
92098 2007-01-28  Bruno Haible  <bruno@clisp.org>
92100         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
92101         value of $(SYS_TIME_H).
92102         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
92103         remove it conditionally, too. [added by Jim Meyering]
92104         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
92105         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
92106         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
92107         GETTIMEOFDAY_REPLACEMENT to 1.
92109 2007-01-28  Bruno Haible  <bruno@clisp.org>
92111         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
92112         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
92113         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
92114         Set UNISTD_H instead of UNISTD_H2.
92115         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
92117 2007-01-28  Bruno Haible  <bruno@clisp.org>
92119         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
92120         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
92122 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92124         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
92125         (func_create_testdir): Ensure C locale for `grep' and `tr'
92126         character ranges.
92127         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
92128         ACLOCAL_AMFLAGS parsing state machine.
92130 2007-01-27  Bruno Haible  <bruno@clisp.org>
92132         * modules/unistr/base: Update.
92134 2007-01-27  Bruno Haible  <bruno@clisp.org>
92136         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
92137         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
92138         * modules/unistr/u32-mbtouc-unsafe: Renamed from
92139         modules/unistr/u32-mbtouc.
92140         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
92141         * lib/unistr.h: Update.
92142         * lib/linebreak.c: Update.
92143         * modules/unistr/u32-mbtouc: Renamed from
92144         modules/unistr/u32-mbtouc-safe.
92145         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
92146         * lib/unistr.h: Update.
92147         * lib/unistr/u32-to-u8.c: Update.
92148         * lib/unistr/u32-to-u16.c: Update.
92150 2007-01-27  Bruno Haible  <bruno@clisp.org>
92152         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
92153         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
92154         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
92155         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
92156         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
92157         * modules/unistr/u16-mbtouc-unsafe: Renamed from
92158         modules/unistr/u16-mbtouc.
92159         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
92160         * lib/unistr.h: Update.
92161         * lib/linebreak.c: Update.
92162         * modules/linebreak: Update.
92163         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
92164         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
92165         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
92166         * modules/unistr/u16-mbtouc: Renamed from
92167         modules/unistr/u16-mbtouc-safe.
92168         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
92169         * lib/unistr.h: Update.
92170         * lib/unistr/u16-to-u8.c: Update.
92171         * modules/unistr/u16-to-u8: Update.
92172         * lib/unistr/u16-to-u32.c: Update.
92173         * modules/unistr/u16-to-u32: Update.
92175 2007-01-27  Bruno Haible  <bruno@clisp.org>
92177         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
92178         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
92179         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
92180         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
92181         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
92182         * modules/unistr/u8-mbtouc-unsafe: Renamed from
92183         modules/unistr/u8-mbtouc.
92184         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
92185         * lib/unistr.h: Update.
92186         * lib/striconveh.c: Update.
92187         * modules/striconveh: Update.
92188         * lib/linebreak.c: Update.
92189         * modules/linebreak: Update.
92190         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
92191         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
92192         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
92193         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
92194         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
92195         * lib/unistr.h: Update.
92196         * lib/striconveh.c: Update.
92197         * modules/striconveh: Update.
92198         * lib/unistr/u8-to-u16.c: Update.
92199         * modules/unistr/u8-to-u16: Update.
92200         * lib/unistr/u8-to-u32.c: Update.
92201         * modules/unistr/u8-to-u32: Update.
92203 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92205         Sync from Libtool.
92206         * lib/argz.c: Do not include strings.h nor memory.h, include
92207         string.h unconditionally.  Patch by Simon Josefsson.
92209 2007-01-27  Bruno Haible  <bruno@clisp.org>
92211         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
92212         from gl_HEADER_STRING_H_BODY.
92213         (gl_HEADER_STRING_H_BODY): Require it.
92214         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
92215         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
92216         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
92217         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
92218         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
92219         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
92220         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
92221         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
92222         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
92223         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
92224         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
92225         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
92226         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
92227         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
92228         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
92230 2007-01-27  Bruno Haible  <bruno@clisp.org>
92232         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
92233         check_PROGRAMS into noinst_PROGRAMS.
92234         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
92235         check_PROGRAMS in this case.
92236         (func_import): Set for_test to false.
92237         (func_create_testdir): Set for_test to true.
92239 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92240             Bruno Haible  <bruno@clisp.org>
92242         * modules/strcasestr (Files): Remove lib/strcasestr.h.
92243         (Depends-on): Add string.
92244         (Includes): Use <string.h> instead of strcasestr.h.
92245         * modules/string (Makefile.am): Also substitute the value of
92246         REPLACE_STRCASESTR.
92247         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
92248         assume strcasestr is declared in <string.h> not <strings.h>. Also
92249         set REPLACE_STRCASESTR.
92250         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
92251         REPLACE_STRCASESTR.
92252         * lib/strcasestr.h: Remove file.
92253         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
92254         * lib/string_.h (strcasestr): New declaration.
92256 2007-01-27  Bruno Haible  <bruno@clisp.org>
92258         * lib/string_.h: Use 'extern'.
92260 2007-01-27  Jim Meyering  <jim@meyering.net>
92262         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
92263         of set-but-not-used local, "q".
92265         * lib/mempcpy.c: Include <config.h> before <string.h>.
92266         This fixes a compilation error on HP-UX, due to the system's
92267         "restrict"-using mempcpy prototype.
92269 2007-01-26  Bruno Haible  <bruno@clisp.org>
92271         Small optimization.
92272         * lib/javacomp.c: Include c-strstr.h.
92273          (is_envjavac_gcj): Use c_strstr instead of strstr.
92274         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
92276 2007-01-26  Bruno Haible  <bruno@clisp.org>
92278         * MODULES.html.sh (Unicode string functions): Add the new modules.
92280         * modules/uniconv/u32-strconv-to-locale: New file.
92281         * lib/uniconv/u32-strconv-to-locale.c: New file.
92283         * modules/uniconv/u16-strconv-to-locale: New file.
92284         * lib/uniconv/u16-strconv-to-locale.c: New file.
92286         * modules/uniconv/u8-strconv-to-locale: New file.
92287         * lib/uniconv/u8-strconv-to-locale.c: New file.
92289         * modules/uniconv/u32-strconv-from-locale: New file.
92290         * lib/uniconv/u32-strconv-from-locale.c: New file.
92292         * modules/uniconv/u16-strconv-from-locale: New file.
92293         * lib/uniconv/u16-strconv-from-locale.c: New file.
92295         * modules/uniconv/u8-strconv-from-locale: New file.
92296         * lib/uniconv/u8-strconv-from-locale.c: New file.
92298         * modules/uniconv/u32-strconv-to-enc: New file.
92299         * lib/uniconv/u32-strconv-to-enc.c: New file.
92300         * modules/uniconv/u32-strconv-to-enc-tests: New file.
92301         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
92303         * modules/uniconv/u16-strconv-to-enc: New file.
92304         * lib/uniconv/u16-strconv-to-enc.c: New file.
92305         * lib/uniconv/u-strconv-to-enc.h: New file.
92306         * modules/uniconv/u16-strconv-to-enc-tests: New file.
92307         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
92309         * modules/uniconv/u8-strconv-to-enc: New file.
92310         * lib/uniconv/u8-strconv-to-enc.c: New file.
92311         * modules/uniconv/u8-strconv-to-enc-tests: New file.
92312         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
92314         * modules/uniconv/u32-strconv-from-enc: New file.
92315         * lib/uniconv/u32-strconv-from-enc.c: New file.
92316         * modules/uniconv/u32-strconv-from-enc-tests: New file.
92317         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
92319         * modules/uniconv/u16-strconv-from-enc: New file.
92320         * lib/uniconv/u16-strconv-from-enc.c: New file.
92321         * modules/uniconv/u16-strconv-from-enc-tests: New file.
92322         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
92324         * modules/uniconv/u8-strconv-from-enc: New file.
92325         * lib/uniconv/u8-strconv-from-enc.c: New file.
92326         * lib/uniconv/u-strconv-from-enc.h: New file.
92327         * modules/uniconv/u8-strconv-from-enc-tests: New file.
92328         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
92330         * modules/uniconv/u32-conv-from-enc: New file.
92331         * lib/uniconv/u32-conv-from-enc.c: New file.
92332         * modules/uniconv/u32-conv-from-enc-tests: New file.
92333         * tests/uniconv/test-u32-conv-from-enc.c: New file.
92335         * modules/uniconv/u16-conv-from-enc: New file.
92336         * lib/uniconv/u16-conv-from-enc.c: New file.
92337         * lib/uniconv/u-conv-from-enc.h: New file.
92338         * modules/uniconv/u16-conv-from-enc-tests: New file.
92339         * tests/uniconv/test-u16-conv-from-enc.c: New file.
92341         * modules/uniconv/u8-conv-from-enc: New file.
92342         * lib/uniconv/u8-conv-from-enc.c: New file.
92343         * modules/uniconv/u8-conv-from-enc-tests: New file.
92344         * tests/uniconv/test-u8-conv-from-enc.c: New file.
92346         * modules/uniconv/base: New file.
92347         * lib/uniconv.h: New file.
92349 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
92351         * doc/gnulib-tool.texi (Initial import): Update to match current
92352         behavior with strdup module.
92353         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
92354         * lib/memmem.h: Remove; all uses removed.  This is now done
92355         by <string.h>.
92356         * lib/mempcpy.h: Likewise.
92357         * lib/memrchr.h: Likewise.
92358         * lib/stpcpy.h: Likewise.
92359         * lib/stpncpy.h: Likewise.
92360         * lib/strcase.h: Likewise.
92361         * lib/strchrnul.h: Likewise.
92362         * lib/strdup.h: Likewise.
92363         * lib/strndup.h: Likewise.
92364         * lib/strnlen.h: Likewise.
92365         * lib/strpbrk.h: Likewise.
92366         * lib/strsep.h: Likewise.
92367         * lib/strstr.h: Likewise.
92368         * lib/strtok_r.h: Likewise.
92369         * lib/string_.h: New file.
92370         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
92371         Rely on <string.h> instead.
92372         * lib/canon-host.c: Likewise.
92373         * lib/chdir-long.c: Likewise.
92374         * lib/concatpath.c: Likewise.
92375         * lib/exclude.c: Likewise.
92376         * lib/fchdir.c: Likewise.
92377         * lib/getaddrinfo.c: Likewise.
92378         * lib/getcwd.c: Likewise.
92379         * lib/getsubopt.c: Likewise.
92380         * lib/glob.c: Likewise.
92381         * lib/hard-locale.c: Likewise.
92382         * lib/iconvme.c: Likewise.
92383         * lib/javacomp.c: Likewise.
92384         * lib/mempcpy.c: Likewise.
92385         * lib/memrchr.c: Likewise.
92386         * lib/regex_internal.h: Likewise.
92387         * lib/stpncpy.c: Likewise.
92388         * lib/strcasecmp.c: Likewise.
92389         * lib/strchrnul.c: Likewise.
92390         * lib/strdup.c: Likewise.
92391         * lib/striconv.c: Likewise.
92392         * lib/striconveh.c: Likewise.
92393         * lib/striconveha.c: Likewise.
92394         * lib/strncasecmp.c: Likewise.
92395         * lib/strndup.c: Likewise.
92396         * lib/strnlen.c: Likewise.
92397         * lib/strsep.c: Likewise.
92398         * lib/strstr.c: Likewise.
92399         * lib/strtok_r.c: Likewise.
92400         * lib/userspec.c: Likewise.
92401         * lib/w32spawn.h: Likewise.
92402         * lib/xstrndup.c: Likewise.
92403         * lib/mountlist.c (strstr): Remove decl.
92404         * m4/string_h.m4: New file.
92405         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
92406         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
92407         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
92408         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
92409         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
92410         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
92411         Set REPLACE_STRCASECMP if necessary.
92412         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
92413         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
92414         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
92415         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
92416         HAVE_DECL_STRDUP if necessary.
92417         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
92418         since gl_FUNC_STRNDUP does that now.
92419         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
92420         Check for decl here...
92421         (gl_PREREQ_STRNLEN): ... not here.
92422         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
92423         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
92424         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
92425         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
92426         necessary.
92427         * modules/string: New file.
92428         * modules/memmem (Files): Remove special-purpose include file.
92429         (Depends-on): Add string.
92430         (Include): Include <string.h>, not the removed file.
92431         * modules/mempcpy: Likewise.
92432         * modules/memrchr: Likewise.
92433         * modules/stpcpy: Likewise.
92434         * modules/stpncpy: Likewise.
92435         * modules/strcase: Likewise.
92436         * modules/strchrnul: Likewise.
92437         * modules/strdup: Likewise.
92438         * modules/strndup: Likewise.
92439         * modules/strnlen: Likewise.
92440         * modules/strpbrk: Likewise.
92441         * modules/strsep: Likewise.
92442         * modules/strstr: Likewise.
92443         * modules/strtok_r: Likewise.
92444         * tests/test-dirname.c: Don't include "strdup.h", since
92445         <string.h> now suffices.
92446         * tests/test-memmem.c: Don't include "memmem.h", since
92447         <string.h> now suffices.
92449 2007-01-25  Bruno Haible  <bruno@clisp.org>
92451         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
92452         *resultp is 0.
92454         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
92455         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
92456         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
92457         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
92459         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
92460         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
92461         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
92462         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
92463         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
92464         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
92466 2007-01-24  Bruno Haible  <bruno@clisp.org>
92468         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
92469         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
92470         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
92471         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
92472         gl_FUNC_FTS_CORE.
92473         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
92474         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
92475         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92476         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
92477         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
92478         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
92479         gl_FUNC_FCHOWNAT.
92480         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
92481         gl_FUNC_STRFTIME.
92482         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
92483         Reported by Ralf Wildenhues.
92485 2007-01-24  Bruno Haible  <bruno@clisp.org>
92487         Drop AC_REQUIRE calls that are redundant with the module dependencies.
92488         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
92489         gl_GETADDRINFO.
92490         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
92491         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
92492         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
92494 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
92496         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
92497         Don't use 'exit'; just return from 'main'.
92498         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
92500         * lib/fnmatch_.h: Readjust white space and comments to match
92501         glibc, to avoid spurious diffs.
92503 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
92505         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
92506         2004-12-01 change by Jakub Jelinek, since this code won't compile
92507         if !LIBC.  Problem reported by Bob Proulx.
92509 2007-01-23  Bruno Haible  <bruno@clisp.org>
92511         * lib/striconveh.c: Include c-strcaseeq.h.
92512         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
92513         * modules/striconveh (Depends-on): Add c-strcaseeq.
92515 2007-01-23  Bruno Haible  <bruno@clisp.org>
92517         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
92519         * modules/c-strcaseeq: New file.
92520         * lib/c-strcaseeq.h: New file.
92522         * modules/streq: New file.
92523         * lib/streq.h: New file.
92525 2007-01-23  Bruno Haible  <bruno@clisp.org>
92527         * modules/striconveha-tests: New file.
92528         * tests/test-striconveha.c: New file.
92530         * lib/striconveha.h: Include <stdbool.h>.
92531         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
92532         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
92533         (mem_iconveha_notranslit): Renamed from mem_iconveha.
92534         (mem_iconveha): New function.
92535         (str_iconveha_notranslit): Renamed from str_iconveha.
92536         (str_iconveha): New function.
92537         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
92538         c-strcase.
92540 2007-01-23  Bruno Haible  <bruno@clisp.org>
92542         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
92543         encodings without forgiving before trying any encoding with handler.
92544         (str_iconveha): Try all encodings without forgiving before trying any
92545         encoding with handler.
92547 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
92549         Import the following changes from libc.
92551         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
92553         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
92555         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
92557         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
92558         normal_bracket label.
92560         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
92562         [BZ #361]
92563         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
92564         to normal_bracket after fetching the next character.
92566 2007-01-22  Bruno Haible  <bruno@clisp.org>
92568         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
92569         argument.
92570         * lib/striconveh.c (iconv_carefully_1): New function.
92571         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
92572         argument.
92573         (str_cd_iconveh): Update.
92574         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
92575         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
92576         * tests/test-striconveh.c (MAGIC): New macro.
92577         (new_offsets): New function.
92578         (main): Test call with and without offsets.
92580 2007-01-22  Bruno Haible  <bruno@clisp.org>
92582         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
92583         * modules/sys_select (Makefile.am): Likewise.
92584         * modules/sys_socket (Makefile.am): Likewise.
92585         * modules/sys_time (Makefile.am): Likewise.
92587 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
92589         * modules/gettimeofday (License): Change from GPL to LGPL, since
92590         gettimeofday is a library function.
92592 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92594         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
92596 2007-01-21  Bruno Haible  <bruno@clisp.org>
92598         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
92600 2007-01-21  Bruno Haible  <bruno@clisp.org>
92602         * modules/striconveha: New file.
92603         * lib/striconveha.h: New file.
92604         * lib/striconveha.c: New file.
92605         * MODULES.html.sh (Internationalization functions): Add striconveha.
92606         * lib/striconv.c (str_iconv): Optimize the case of an empty input
92607         string.
92608         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
92610 2007-01-21  Bruno Haible  <bruno@clisp.org>
92612         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
92613         * lib/striconveh.c (str_iconveh): Likewise.
92615 2007-01-21  Bruno Haible  <bruno@clisp.org>
92617         * lib/striconveh.h (mem_iconveh): New declaration.
92618         * lib/striconveh.c (mem_iconveh): New function.
92619         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
92621 2007-01-21  Bruno Haible  <bruno@clisp.org>
92623         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
92625         * lib/striconveh.h (mem_cd_iconveh): Change specification.
92626         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
92627         original result buffer.
92628         (str_cd_iconveh): Update.
92629         * tests/test-striconveh.c (main): Update.
92631         * lib/striconv.h (mem_cd_iconv): Change specification.
92632         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
92633         result buffer.
92634         (str_cd_iconv): Update.
92635         * tests/test-striconv.c (main): Update.
92637 2007-01-21  Bruno Haible  <bruno@clisp.org>
92639         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
92641 2007-01-20  Jim Meyering  <jim@meyering.net>
92643         * lib/userspec.c (parse_with_separator): If a user or group string
92644         starts with "+", skip the corresponding name-to-ID look-up, since
92645         such a look-up must fail: user and group names may not include "+".
92647 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
92649         * lib/poll.c: Include sys/time.h and time.h unconditionally,
92650         since we now assume the sys_time module.
92651         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
92652         check for sys/time.h; no longer needed.
92653         * modules/poll (Depends-on): Depend on sys_time.
92655 2007-01-18  Bruno Haible  <bruno@clisp.org>
92657         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
92658         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
92660         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
92661         gettimeofday.
92663         * tests/test-gettimeofday.c: Include <time.h>.
92664         (dummy): Remove variable.
92666         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
92667         gl_HEADER_SYS_TIME_H.
92668         (gl_HEADER_SYS_TIME_H): New macro.
92670         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
92671         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92672         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
92673         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
92674         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92675         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
92676         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
92677         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92678         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
92679         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
92680         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92682         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
92683         last change; it caused a compilation error when cross-compiling to
92684         Cygwin.
92686 2007-01-18  Jim Meyering  <jim@meyering.net>
92688         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
92689         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
92690         than the race-prone "test -d sys || mkdir sys".
92691         (configure.ac): Use AC_PROG_MKDIR_P.
92692         * modules/sys_select: Likewise.
92693         * modules/sys_socket: Likewise.
92694         * modules/sys_time: Likewise.
92696 2007-01-18  Eric Blake  <ebb9@byu.net>
92698         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
92699         replace gettimeofday.
92700         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
92701         name, to avoid infinite recursion.
92703 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
92705         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
92706         module sys_time.
92707         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
92708         assume timespec.h defines struct timeval.
92709         * lib/settime.c: Likewise.
92710         * lib/utimens.c: Likewise.
92711         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
92712         since we now assume the gettimeofday module.
92713         * lib/tempname.c (__gen_tempname): Likewise.
92714         * lib/gettimeofday.h: Remove.
92715         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
92716         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
92717         Include <time.h>, for 'time()'.
92718         (localtime_buffer_addr): Also use this workaround if
92719         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
92720         to simplify the uses.  All uses changed.
92721         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
92722         that #undef is inside {}, and 'const' follows type name consistently.
92723         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
92724         (gettimeofday): Do not use the maximum possible value for
92725         tv->tv_usec, since that might break usages other than ls.c.
92726         Instead, we'll leave ls.c alone.  This undoes today's patch
92727         by Bruno.  Add a compile-time warning for 1s-clock resolution;
92728         we've never observed the problem but might as well keep the
92729         canary.
92730         * lib/nanosleep.c: Include timespec.h first, for interface check.
92731         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
92732         now assume the sys_time module.
92733         * lib/tempname.c: Likewise.
92734         * lib/timespec.h: Likewise.
92735         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
92736         needed.
92737         * lib/strftime.c: Likewise.
92738         * lib/timespec.h: Likewise.
92739         * lib/posixtm.c: Include posixtm.h first, for interface check.
92740         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
92741         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
92742         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
92743         * lib/sys_time_.h: New file.
92744         * lib/timespec.h (struct timespec): Use long int, not long.
92745         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
92746         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
92747         Remove obsolescent call to AC_HEADER_TIME.
92748         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
92749         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
92750         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
92751         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
92752         Likewise.
92753         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
92754         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
92755         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
92756         into the sys_time module.  Check for gettimeofday just once.
92757         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
92758         for gettimeofday signature to just check the signature.  Merely
92759         compile it, since linking doesn't test signature.  Improve test for
92760         whether gettimeofday.o is actually needed.
92761         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
92762         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
92763         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
92764         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92765         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
92766         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
92767         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
92768         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
92769         than worrying about sys/time.h.
92770         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
92771         Don't bother worrying about TIME_WITH_SYS_TIME.
92772         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
92773         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
92774         * m4/sys_time_h.m4: New file.
92775         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
92776         Don't include sys/time.h.  Return from main rather than exiting.
92777         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
92778         all uses changed.
92779         * modules/gethrxtime (Depends-on): Add sys_time.
92780         * modules/gettime (Depends-on): Likewise.
92781         * modules/gettimeofday (Depends-on): Likewise.
92782         * modules/nanosleep (Depends-on): Likewise.
92783         * modules/settime (Depends-on): Likewise.
92784         * modules/tempname (Depends-on): Likewise.
92785         * modules/utimens (Depends-on): Likewise.
92786         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
92787         (Include): Change back to <sys/time.h>.
92788         (Maintainer): Add self.
92789         * modules/sys_time: New file.
92790         * modules/tempname (Depends-on): Add gettimeofday.
92791         * tests/test-gettimeofday.c: Include <sys/time.h>
92792         rather than gettimeofday.h.
92794 2007-01-17  Bruno Haible  <bruno@clisp.org>
92796         * gnulib-tool (func_get_license): Revert last patch. Instead, let
92797         the license default to GPL.
92798         (func_create_testdir): Don't complain if a module is LGPL and its
92799         tests module depends on GPLed modules.
92801 2007-01-17  Bruno Haible  <bruno@clisp.org>
92803         * lib/gettimeofday.c (gettimeofday): Add code for the case
92804         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
92805         maximum possible value for tv->tv_usec, rather than the minimum one.
92807 2005-10-08  Martin Lambers  <marlam@marlam.de>
92808 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
92809 2007-01-16  Bruno Haible  <bruno@clisp.org>
92811         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
92812         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
92813         gl_FUNC_GETTIMEOFDAY.
92814         (Include): Add gettimeofday.h.
92815         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
92816         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
92817         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
92818         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
92819         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
92820         * lib/gettimeofday.h: New file.
92821         * lib/gettimeofday.c: Include <sys/timeb.h>.
92822         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
92823         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92824         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
92825         fall back on time().
92827         * tests/test-gettimeofday.c: New file.
92828         * modules/gettimeofday-tests: New file.
92830 2007-01-16  Eric Blake  <ebb9@byu.net>
92832         * modules/fnmatch (Depends-on): Depend on wchar.
92833         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
92834         * m4/fnmatch.m4: Likewise.
92835         * modules/mbchar (Makefile.am): Assume <wchar.h>.
92836         * m4/mbchar.m4: Likewise.
92837         * modules/mbswidth (Depends-on): Depend on wchar.
92838         * lib/mbswidth.c: Assume <wchar.h>.
92839         * m4/mbswidth.m4: Likewise.
92840         * modules/quotearg (Depends-on): Depend on wchar.
92841         * lib/quotearg.c: Assume <wchar.h>.
92842         * m4/quotearg.m4: Likewise.
92843         * modules/regex (Depends-on): Depend on wchar.
92844         * lib/regex_internal.h: Assume <wchar.h>.
92845         * m4/regex.m4: Likewise.
92846         * modules/stdint (Depends-on): Depend on wchar.
92847         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
92848         * m4/stdint.m4: Likewise.
92849         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
92850         * modules/strftime (Depends-on): Depend on wchar.
92851         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
92852         * modules/strtol (Depends-on): Depend on wchar.
92853         * lib/strtol.c: Assume <wchar.h>.
92854         * modules/wcwidth (Depends-on): Depend on wchar.
92855         * lib/wcwidth.h: Assume <wchar.h>.
92856         * m4/wcwidth.m4: Likewise.
92858 2007-01-16  Bruno Haible  <bruno@clisp.org>
92860         * modules/csharpexec-script: New, created from...
92861         * modules/csharpexec: ... this.
92863 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
92865         * modules/javaexec-script: New, created from...
92866         * modules/javaexec: ... this.
92868 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92870         * modules/poll (Dependencies): Add sys_select.
92872 2007-01-15  Jim Meyering  <jim@meyering.net>
92874         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
92875         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
92876         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
92877         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
92879 2007-01-15  Bruno Haible  <bruno@clisp.org>
92881         * modules/striconveh: New file.
92882         * lib/striconveh.h: New file.
92883         * lib/striconveh.c: New file.
92884         * MODULES.html.sh (Internationalization functions): Add striconveh.
92886         * modules/striconveh-tests: New file.
92887         * tests/test-striconveh.c: New file.
92889 2007-01-15  Bruno Haible  <bruno@clisp.org>
92891         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
92892         not from GNU libiconv or GNU libc.
92894 2007-01-15  Bruno Haible  <bruno@clisp.org>
92896         * doc/gnulib-intro.texi (Copyright): Explain the different license
92897         terms for module descriptions, autoconf macros, tests, documentation.
92899 2007-01-14  Bruno Haible  <bruno@clisp.org>
92901         * modules/striconv-tests: New file.
92902         * tests/test-striconv.c: New file.
92904 2007-01-14  Bruno Haible  <bruno@clisp.org>
92906         * modules/iconv-tests: New file.
92907         * tests/test-iconv.c: New file.
92909 2007-01-14  Bruno Haible  <bruno@clisp.org>
92911         * gnulib-tool (func_get_license): For test modules, use the license of
92912         the main module.
92914 2007-01-14  Bruno Haible  <bruno@clisp.org>
92916         * modules/iconv (Include): Clarify that <iconv.h> can only be included
92917         if iconv is found to exist.
92919 2007-01-14  Bruno Haible  <bruno@clisp.org>
92921         * modules/c-ctype-tests: New file.
92922         * tests/test-c-ctype.c: New file.
92924 2007-01-14  Bruno Haible  <bruno@clisp.org>
92926         * modules/binary-io-tests: New file.
92927         * tests/test-binary-io.sh: New file.
92928         * tests/test-binary-io.c: New file.
92930 2007-01-14  Bruno Haible  <bruno@clisp.org>
92932         * modules/array-oset-tests: New file.
92933         * tests/test-array_oset.c: New file.
92935 2007-01-14  Bruno Haible  <bruno@clisp.org>
92937         * modules/array-list-tests: New file.
92938         * tests/test-array_list.c: New file.
92940 2007-01-14  Bruno Haible  <bruno@clisp.org>
92942         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
92943         and make.
92944         Reported by Simon Josefsson in
92945         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
92947 2007-01-14  Bruno Haible  <bruno@clisp.org>
92949         * modules/allocsa-tests: New file.
92950         * tests/test-allocsa.c: New file.
92952 2007-01-14  Bruno Haible  <bruno@clisp.org>
92954         * modules/fchdir (Depends-on): Add absolute-header.
92955         * modules/unistd (Depends-on): Likewise.
92957 2006-12-30  Bruno Haible  <bruno@clisp.org>
92959         * modules/fchdir: New file.
92960         * modules/unistd (Files): Add lib/unistd_.h.
92961         (Makefile.am): Generate unistd.h from unistd_.h.
92962         * lib/fchdir.c: New file.
92963         * lib/dirent_.h: New file.
92964         * lib/unistd_.h: New file.
92965         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
92966         * m4/fchdir.m4: New file.
92967         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
92968         (gl_HEADER_UNISTD): Invoke it.
92969         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
92970         function.
92971         * lib/backupfile.c (opendir, closedir): Undefine.
92972         * lib/chown.c (open, close): Undefine.
92973         * lib/clean-temp.c (open, close): Undefine.
92974         * lib/copy-file.c (open, close): Undefine.
92975         * lib/execute.c (open, close): Undefine.
92976         * lib/fsusage.c (open, close): Undefine.
92977         * lib/gc-gnulib.c (open, close): Undefine.
92978         * lib/getcwd.c (opendir, closedir): Undefine.
92979         * lib/glob.c (opendir, closedir): Undefine.
92980         * lib/javacomp.c (open, close): Undefine.
92981         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
92982         * lib/openat-proc.c (open, close): Undefine.
92983         * lib/pagealign_alloc.c (open, close): Undefine.
92984         * lib/pipe.c (open, close): Undefine.
92985         * lib/progreloc.c (open, close): Undefine.
92986         * lib/savedir.c (opendir, closedir): Undefine.
92987         * lib/utime.c (open, close): Undefine.
92988         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
92990 2007-01-10  Bruno Haible  <bruno@clisp.org>
92992         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
92994 2007-01-12  Eric Blake  <ebb9@byu.net>
92996         Provide a robust <wchar.h>.  Further simplifications are now
92997         possible in other modules, but not included here.
92998         * modules/wchar: New module.
92999         * m4/wchar.m4: New file.
93000         * lib/wchar_.h: Likewise.
93001         * modules/mbchar (Depends-on): Depend on wchar, as the first use
93002         of the new module.
93003         * MODULES.html.sh (Extended multibyte and wide character utilities):
93004         New section.
93006 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
93008         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
93009         to a reasonable default for memory allocation.
93010         (xreadlink): Don't allocate a huge buffer, to work around a buggy
93011         file system that reports garbage st_size values for symlinks.
93012         Problem reported by Liyang Hu.
93014 2007-01-11  Simon Josefsson  <simon@josefsson.org>
93016         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
93017         Emacs .#* auto-save files).
93019 2007-01-11  Bruno Haible  <bruno@clisp.org>
93021         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
93022         directory.
93024 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
93026         Use @...@ consistently in lib/wctype_.h.
93027         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
93028         on it being set to 1 or 0.
93029         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
93030         go back to AC_SUBSTing it.
93031         * modules/wctype (Makefile.am): Undo previous change.
93033 2007-01-10  Eric Blake  <ebb9@byu.net>
93035         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
93036         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
93037         * modules/wctype (Makefile.am): Likewise.
93038         Reported by Chris McGuire.
93040 2007-01-10  Jim Meyering  <jim@meyering.net>
93042         fts.c: a small readability/maintainability improvement
93043         * lib/fts.c (fts_read): Make this code slightly more readable and
93044         maintainable by hoisting the "sp->fts_cur = p" assignments to
93045         immediately follow the statements that set P.  Derived from
93046         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
93048 2007-01-10  Eric Blake  <ebb9@byu.net>
93050         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
93051         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
93052         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
93053         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
93054         Reported by Chris McGuire.
93056 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93058         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
93059         in sed script.
93061 2007-01-09  Bruno Haible  <bruno@clisp.org>
93063         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
93064         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
93065         variables.
93066         (func_module): Use them.
93068 2007-01-09  Bruno Haible  <bruno@clisp.org>
93070         * modules/unistr/base: New file.
93071         * lib/unistr.h: New file.
93073         * modules/unistr/u8-to-u16: New file.
93074         * lib/unistr/u8-to-u16.c: New file.
93076         * modules/unistr/u8-to-u32: New file.
93077         * lib/unistr/u8-to-u32.c: New file.
93079         * modules/unistr/u16-to-u8: New file.
93080         * lib/unistr/u16-to-u8.c: New file.
93082         * modules/unistr/u16-to-u32: New file.
93083         * lib/unistr/u16-to-u32.c: New file.
93085         * modules/unistr/u32-to-u8: New file.
93086         * lib/unistr/u32-to-u8.c: New file.
93088         * modules/unistr/u32-to-u16: New file.
93089         * lib/unistr/u32-to-u16.c: New file.
93091         * modules/unistr/u8-check: New file.
93092         * modules/unistr/u16-check: New file.
93093         * modules/unistr/u32-check: New file.
93094         * lib/unistr/u8-check.c: New file.
93095         * lib/unistr/u16-check.c: New file.
93096         * lib/unistr/u32-check.c: New file.
93098         * modules/unistr/u8-chr: New file.
93099         * modules/unistr/u16-chr: New file.
93100         * modules/unistr/u32-chr: New file.
93101         * lib/unistr/u8-chr.c: New file.
93102         * lib/unistr/u16-chr.c: New file.
93103         * lib/unistr/u32-chr.c: New file.
93105         * modules/unistr/u8-cmp: New file.
93106         * modules/unistr/u16-cmp: New file.
93107         * modules/unistr/u32-cmp: New file.
93108         * lib/unistr/u8-cmp.c: New file.
93109         * lib/unistr/u16-cmp.c: New file.
93110         * lib/unistr/u32-cmp.c: New file.
93112         * modules/unistr/u8-cpy: New file.
93113         * modules/unistr/u16-cpy: New file.
93114         * modules/unistr/u32-cpy: New file.
93115         * lib/unistr/u8-cpy.c: New file.
93116         * lib/unistr/u16-cpy.c: New file.
93117         * lib/unistr/u32-cpy.c: New file.
93118         * lib/unistr/u-cpy.h: New file.
93120         * modules/unistr/u8-cpy-alloc: New file.
93121         * modules/unistr/u16-cpy-alloc: New file.
93122         * modules/unistr/u32-cpy-alloc: New file.
93123         * lib/unistr/u8-cpy-alloc.c: New file.
93124         * lib/unistr/u16-cpy-alloc.c: New file.
93125         * lib/unistr/u32-cpy-alloc.c: New file.
93126         * lib/unistr/u-cpy-alloc.h: New file.
93128         * modules/unistr/u8-endswith: New file.
93129         * modules/unistr/u16-endswith: New file.
93130         * modules/unistr/u32-endswith: New file.
93131         * lib/unistr/u8-endswith.c: New file.
93132         * lib/unistr/u16-endswith.c: New file.
93133         * lib/unistr/u32-endswith.c: New file.
93134         * lib/unistr/u-endswith.h: New file.
93136         * modules/unistr/u8-mblen: New file.
93137         * modules/unistr/u16-mblen: New file.
93138         * modules/unistr/u32-mblen: New file.
93139         * lib/unistr/u8-mblen.c: New file.
93140         * lib/unistr/u16-mblen.c: New file.
93141         * lib/unistr/u32-mblen.c: New file.
93143         * modules/unistr/u8-mbtouc: New file.
93144         * modules/unistr/u16-mbtouc: New file.
93145         * modules/unistr/u32-mbtouc: New file.
93146         * lib/unistr/u8-mbtouc.c: New file.
93147         * lib/unistr/u16-mbtouc.c: New file.
93148         * lib/unistr/u32-mbtouc.c: New file.
93150         * modules/unistr/u8-mbtouc-safe: New file.
93151         * modules/unistr/u16-mbtouc-safe: New file.
93152         * modules/unistr/u32-mbtouc-safe: New file.
93153         * lib/unistr/u8-mbtouc-safe.c: New file.
93154         * lib/unistr/u16-mbtouc-safe.c: New file.
93155         * lib/unistr/u32-mbtouc-safe.c: New file.
93157         * modules/unistr/u8-move: New file.
93158         * modules/unistr/u16-move: New file.
93159         * modules/unistr/u32-move: New file.
93160         * lib/unistr/u8-move.c: New file.
93161         * lib/unistr/u16-move.c: New file.
93162         * lib/unistr/u32-move.c: New file.
93163         * lib/unistr/u-move.h: New file.
93165         * modules/unistr/u8-next: New file.
93166         * modules/unistr/u16-next: New file.
93167         * modules/unistr/u32-next: New file.
93168         * lib/unistr/u8-next.c: New file.
93169         * lib/unistr/u16-next.c: New file.
93170         * lib/unistr/u32-next.c: New file.
93172         * modules/unistr/u8-prev: New file.
93173         * modules/unistr/u16-prev: New file.
93174         * modules/unistr/u32-prev: New file.
93175         * lib/unistr/u8-prev.c: New file.
93176         * lib/unistr/u16-prev.c: New file.
93177         * lib/unistr/u32-prev.c: New file.
93179         * modules/unistr/u8-set: New file.
93180         * modules/unistr/u16-set: New file.
93181         * modules/unistr/u32-set: New file.
93182         * lib/unistr/u8-set.c: New file.
93183         * lib/unistr/u16-set.c: New file.
93184         * lib/unistr/u32-set.c: New file.
93185         * lib/unistr/u-set.h: New file.
93187         * modules/unistr/u8-startswith: New file.
93188         * modules/unistr/u16-startswith: New file.
93189         * modules/unistr/u32-startswith: New file.
93190         * lib/unistr/u8-startswith.c: New file.
93191         * lib/unistr/u16-startswith.c: New file.
93192         * lib/unistr/u32-startswith.c: New file.
93193         * lib/unistr/u-startswith.h: New file.
93195         * modules/unistr/u8-stpcpy: New file.
93196         * modules/unistr/u16-stpcpy: New file.
93197         * modules/unistr/u32-stpcpy: New file.
93198         * lib/unistr/u8-stpcpy.c: New file.
93199         * lib/unistr/u16-stpcpy.c: New file.
93200         * lib/unistr/u32-stpcpy.c: New file.
93201         * lib/unistr/u-stpcpy.h: New file.
93203         * modules/unistr/u8-stpncpy: New file.
93204         * modules/unistr/u16-stpncpy: New file.
93205         * modules/unistr/u32-stpncpy: New file.
93206         * lib/unistr/u8-stpncpy.c: New file.
93207         * lib/unistr/u16-stpncpy.c: New file.
93208         * lib/unistr/u32-stpncpy.c: New file.
93209         * lib/unistr/u-stpncpy.h: New file.
93211         * modules/unistr/u8-strcat: New file.
93212         * modules/unistr/u16-strcat: New file.
93213         * modules/unistr/u32-strcat: New file.
93214         * lib/unistr/u8-strcat.c: New file.
93215         * lib/unistr/u16-strcat.c: New file.
93216         * lib/unistr/u32-strcat.c: New file.
93217         * lib/unistr/u-strcat.h: New file.
93219         * modules/unistr/u8-strchr: New file.
93220         * modules/unistr/u16-strchr: New file.
93221         * modules/unistr/u32-strchr: New file.
93222         * lib/unistr/u8-strchr.c: New file.
93223         * lib/unistr/u16-strchr.c: New file.
93224         * lib/unistr/u32-strchr.c: New file.
93226         * modules/unistr/u8-strcmp: New file.
93227         * modules/unistr/u16-strcmp: New file.
93228         * modules/unistr/u32-strcmp: New file.
93229         * lib/unistr/u8-strcmp.c: New file.
93230         * lib/unistr/u16-strcmp.c: New file.
93231         * lib/unistr/u32-strcmp.c: New file.
93233         * modules/unistr/u8-strcpy: New file.
93234         * modules/unistr/u16-strcpy: New file.
93235         * modules/unistr/u32-strcpy: New file.
93236         * lib/unistr/u8-strcpy.c: New file.
93237         * lib/unistr/u16-strcpy.c: New file.
93238         * lib/unistr/u32-strcpy.c: New file.
93239         * lib/unistr/u-strcpy.h: New file.
93241         * modules/unistr/u8-strcspn: New file.
93242         * modules/unistr/u16-strcspn: New file.
93243         * modules/unistr/u32-strcspn: New file.
93244         * lib/unistr/u8-strcspn.c: New file.
93245         * lib/unistr/u16-strcspn.c: New file.
93246         * lib/unistr/u32-strcspn.c: New file.
93247         * lib/unistr/u-strcspn.h: New file.
93249         * modules/unistr/u8-strdup: New file.
93250         * modules/unistr/u16-strdup: New file.
93251         * modules/unistr/u32-strdup: New file.
93252         * lib/unistr/u8-strdup.c: New file.
93253         * lib/unistr/u16-strdup.c: New file.
93254         * lib/unistr/u32-strdup.c: New file.
93255         * lib/unistr/u-strdup.h: New file.
93257         * modules/unistr/u8-strlen: New file.
93258         * modules/unistr/u16-strlen: New file.
93259         * modules/unistr/u32-strlen: New file.
93260         * lib/unistr/u8-strlen.c: New file.
93261         * lib/unistr/u16-strlen.c: New file.
93262         * lib/unistr/u32-strlen.c: New file.
93263         * lib/unistr/u-strlen.h: New file.
93265         * modules/unistr/u8-strmblen: New file.
93266         * modules/unistr/u16-strmblen: New file.
93267         * modules/unistr/u32-strmblen: New file.
93268         * lib/unistr/u8-strmblen.c: New file.
93269         * lib/unistr/u16-strmblen.c: New file.
93270         * lib/unistr/u32-strmblen.c: New file.
93272         * modules/unistr/u8-strmbtouc: New file.
93273         * modules/unistr/u16-strmbtouc: New file.
93274         * modules/unistr/u32-strmbtouc: New file.
93275         * lib/unistr/u8-strmbtouc.c: New file.
93276         * lib/unistr/u16-strmbtouc.c: New file.
93277         * lib/unistr/u32-strmbtouc.c: New file.
93279         * modules/unistr/u8-strncat: New file.
93280         * modules/unistr/u16-strncat: New file.
93281         * modules/unistr/u32-strncat: New file.
93282         * lib/unistr/u8-strncat.c: New file.
93283         * lib/unistr/u16-strncat.c: New file.
93284         * lib/unistr/u32-strncat.c: New file.
93285         * lib/unistr/u-strncat.h: New file.
93287         * modules/unistr/u8-strncmp: New file.
93288         * modules/unistr/u16-strncmp: New file.
93289         * modules/unistr/u32-strncmp: New file.
93290         * lib/unistr/u8-strncmp.c: New file.
93291         * lib/unistr/u16-strncmp.c: New file.
93292         * lib/unistr/u32-strncmp.c: New file.
93294         * modules/unistr/u8-strncpy: New file.
93295         * modules/unistr/u16-strncpy: New file.
93296         * modules/unistr/u32-strncpy: New file.
93297         * lib/unistr/u8-strncpy.c: New file.
93298         * lib/unistr/u16-strncpy.c: New file.
93299         * lib/unistr/u32-strncpy.c: New file.
93300         * lib/unistr/u-strncpy.h: New file.
93302         * modules/unistr/u8-strnlen: New file.
93303         * modules/unistr/u16-strnlen: New file.
93304         * modules/unistr/u32-strnlen: New file.
93305         * lib/unistr/u8-strnlen.c: New file.
93306         * lib/unistr/u16-strnlen.c: New file.
93307         * lib/unistr/u32-strnlen.c: New file.
93308         * lib/unistr/u-strnlen.h: New file.
93310         * modules/unistr/u8-strpbrk: New file.
93311         * modules/unistr/u16-strpbrk: New file.
93312         * modules/unistr/u32-strpbrk: New file.
93313         * lib/unistr/u8-strpbrk.c: New file.
93314         * lib/unistr/u16-strpbrk.c: New file.
93315         * lib/unistr/u32-strpbrk.c: New file.
93316         * lib/unistr/u-strpbrk.h: New file.
93318         * modules/unistr/u8-strrchr: New file.
93319         * modules/unistr/u16-strrchr: New file.
93320         * modules/unistr/u32-strrchr: New file.
93321         * lib/unistr/u8-strrchr.c: New file.
93322         * lib/unistr/u16-strrchr.c: New file.
93323         * lib/unistr/u32-strrchr.c: New file.
93325         * modules/unistr/u8-strspn: New file.
93326         * modules/unistr/u16-strspn: New file.
93327         * modules/unistr/u32-strspn: New file.
93328         * lib/unistr/u8-strspn.c: New file.
93329         * lib/unistr/u16-strspn.c: New file.
93330         * lib/unistr/u32-strspn.c: New file.
93331         * lib/unistr/u-strspn.h: New file.
93333         * modules/unistr/u8-strstr: New file.
93334         * modules/unistr/u16-strstr: New file.
93335         * modules/unistr/u32-strstr: New file.
93336         * lib/unistr/u8-strstr.c: New file.
93337         * lib/unistr/u16-strstr.c: New file.
93338         * lib/unistr/u32-strstr.c: New file.
93339         * lib/unistr/u-strstr.h: New file.
93341         * modules/unistr/u8-strtok: New file.
93342         * modules/unistr/u16-strtok: New file.
93343         * modules/unistr/u32-strtok: New file.
93344         * lib/unistr/u8-strtok.c: New file.
93345         * lib/unistr/u16-strtok.c: New file.
93346         * lib/unistr/u32-strtok.c: New file.
93347         * lib/unistr/u-strtok.h: New file.
93349         * modules/unistr/u8-uctomb: New file.
93350         * modules/unistr/u16-uctomb: New file.
93351         * modules/unistr/u32-uctomb: New file.
93352         * lib/unistr/u8-uctomb.c: New file.
93353         * lib/unistr/u16-uctomb.c: New file.
93354         * lib/unistr/u32-uctomb.c: New file.
93356         * MODULES.html.sh (Unicode string functions): Add the new modules.
93358 2007-01-08  Bruno Haible  <bruno@clisp.org>
93360         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
93361         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
93362         subdirectories.
93364 2007-01-08  Karl Berry  <karl@gnu.org>
93366         * doc/error.texi: mention that main() fns must set program_name
93367         when progname is used.
93369 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
93371         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
93372         WCTYPE_H is empty, for the benefit of builds from non-distclean
93373         directories.  Problem reported by Eric Blake in
93374         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
93376 2007-01-08  Bruno Haible  <bruno@clisp.org>
93378         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
93379         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
93380         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
93381         PROVIDE_CANONICALIZE_FILENAME_MODE.
93382         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
93384 2007-01-08  Bruno Haible  <bruno@clisp.org>
93386         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
93387         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
93388         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
93389         * lib/fts.c: Likewise.
93390         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
93392 2006-12-25  Bruno Haible  <bruno@clisp.org>
93394         * modules/utf8-ucs4-safe: New file.
93395         * lib/utf8-ucs4-safe.h: New file.
93396         * lib/unistr/utf8-ucs4-safe.c: New file.
93398         * modules/utf16-ucs4-safe: New file.
93399         * lib/utf16-ucs4-safe.h: New file.
93400         * lib/unistr/utf16-ucs4-safe.c: New file.
93402         * MODULES.html.sh (Unicode string functions): Add the new modules.
93404 2007-01-08  Bruno Haible  <bruno@clisp.org>
93406         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
93407         (Depends-on): Add unitypes.
93408         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
93409         (u8_mbtouc_aux): Move out to separate file.
93410         (u8_mbtouc): Use ucs4_t, uint8_t types.
93411         * lib/unistr/utf8-ucs4.c: New file.
93413         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
93414         (Depends-on): Add unitypes.
93415         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
93416         (u16_mbtouc_aux): Move out to separate file.
93417         (u16_mbtouc): Use ucs4_t, uint16_t types.
93418         * lib/unistr/utf16-ucs4.c: New file.
93420         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
93421         (Depends-on): Add unitypes.
93422         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
93423         (u8_uctomb_aux): Move out to separate file.
93424         (u8_uctomb): Use ucs4_t, uint8_t types.
93425         * lib/unistr/ucs4-utf8.c: New file.
93427         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
93428         (Depends-on): Add unitypes.
93429         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
93430         (u16_uctomb_aux): Move out to separate file.
93431         (u16_uctomb): Use ucs4_t, uint16_t types.
93432         * lib/unistr/ucs4-utf16.c: New file.
93434 2006-12-25  Bruno Haible  <bruno@clisp.org>
93436         * modules/unitypes: New file.
93437         * lib/unitypes.h: New file.
93438         * MODULES.html.sh (func_all_modules): New section "Unicode string
93439         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
93440         this section. Add unitypes.
93442 2007-01-08  Bruno Haible  <bruno@clisp.org>
93444         Avoid variable names that conflict with those from libtool.
93445         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
93446         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
93447         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
93448         library_names_spec to acl_library_names_spec, hardcode_* to
93449         acl_hardcode_*.
93450         Reported by Ralf Wildenhues.
93452 2007-01-08  Bruno Haible  <bruno@clisp.org>
93454         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
93455         definition.
93456         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
93457         definition.
93458         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
93459         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
93460         definition.
93461         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
93462         definition.
93463         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
93464         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
93465         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
93466         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
93467         definition.
93468         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
93469         definition.
93470         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
93471         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
93472         GC_USE_<algorithm>.
93473         * lib/gc-libgcrypt.c: Likewise.
93474         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
93475         * modules/gc-arctwo (configure.ac): Likewise.
93476         * modules/gc-des (configure.ac): Likewise.
93477         * modules/gc-hmac-md5 (configure.ac): Likewise.
93478         * modules/gc-hmac-sha1 (configure.ac): Likewise.
93479         * modules/gc-md2 (configure.ac): Likewise.
93480         * modules/gc-md4 (configure.ac): Likewise.
93481         * modules/gc-md5 (configure.ac): Likewise.
93482         * modules/gc-random (configure.ac): Likewise.
93483         * modules/gc-rijndael (configure.ac): Likewise.
93484         * modules/gc-sha1 (configure.ac): Likewise.
93486 2007-01-08  Bruno Haible  <bruno@clisp.org>
93488         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
93489         macro definition.
93490         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
93491         definition.
93492         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
93493         definition.
93494         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
93495         * modules/fcntl-safer (configure.ac): Likewise.
93496         * modules/fopen-safer (configure.ac): Likewise.
93497         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
93498         GNULIB_FWRITEERROR macro definition.
93500 2007-01-08  Bruno Haible  <bruno@clisp.org>
93502         * m4/gnulib-common.m4: New file.
93503         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
93504         (func_get_filelist): Add m4/gnulib-common.m4.
93506 2007-01-08  Bruno Haible  <bruno@clisp.org>
93508         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
93509         command.
93511 2007-01-08  Jim Meyering  <jim@meyering.net>
93513         Use a more robust test for a "can't happen" condition.
93514         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
93515         narrowed the st_size value.  Presuming the "can't happen" condition
93516         is true, that narrowing could conceivably convert an invalid st_size
93517         value into a valid one.  Instead, use a change based on Matthew
93518         Woehlke's original patch.
93520         Slight readability improvement: use an assert-like macro
93521         in place of literal "abort ()" uses.
93522         * lib/fts.c (fts_assert): Define.
93523         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
93524         Use this macro instead of a bare 'abort'.
93526 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
93528         Don't worry about using IRIX 5.3's wctype.h broken definitions;
93529         simply work around them.
93530         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
93531         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
93532         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
93533         declaring.
93534         Don't bother to define as macros, since the standard doesn't require it.
93535         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
93536         longer worry about IRIX 5.3.
93537         (HAVE_WCTYPE_CTMP_BUG): Remove.
93539 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
93541         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
93542         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
93543         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
93544         Problems reported by Georg Schwarz for IRIX 5.3.
93546         * gnulib-tool (autoconf_minversion): Take the maximum version number
93547         found, not the minimum.  Problem reported by James Youngman.
93549 2007-01-03  Karl Berry  <karl@gnu.org>
93551         * doc/error.texi: new file, explaining interaction with progname.
93552         * doc/gnulib.texi: include it.  Update copyright.
93554 2007-01-03  Simon Josefsson  <simon@josefsson.org>
93556         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
93557         AC_CANONICAL_HOST, to improve autobuild outputs.
93559 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
93560             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
93562         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
93563         sockets, server sockets, and other file descriptors.  Count errors
93564         to compute the return value.  Reorder the code a bit to be easier
93565         to follow.  Don't set event bits that were not requested (except
93566         POLLERR and POLLHUP).
93568 2007-01-01  Bruno Haible  <bruno@clisp.org>
93570         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
93572 2007-01-03  Jim Meyering  <jim@meyering.net>
93574         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
93576 2007-01-02  Bruno Haible  <bruno@clisp.org>
93578         * modules/settime (Include): Require timespec.h.
93579         * modules/nanosleep (Include): Likewise.
93581 2007-01-01  Bruno Haible  <bruno@clisp.org>
93583         * gnulib-tool (func_emit_copyright_notice): Bump year.
93584         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
93586 2007-01-01  Bruno Haible  <bruno@clisp.org>
93588         Improve support for OpenBSD.
93589         * build-aux/config.rpath (libname_spec): Export.
93590         (library_names_spec): New variable. Export.
93591         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
93592         library_names_spec from the config.rpath output. Locate shared library
93593         through the name pattern in library_names_spec.
93595 2007-01-01  Eric Blake  <ebb9@byu.net>
93597         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
93599 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
93601         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
93602         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
93603         assume the C locale, and avoid an "eval" that could cause trouble.
93604         Problem with SORT reported by Bob Proulx.
93606         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
93607         Define.  Trivial patch from Henning Nielsen Lund, originally
93608         sent to bug-grep@gnu.org today.
93610 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
93612         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
93613         struct stat.  Problem reported by Henning Nielsen Lund.
93614         * lib/acl.c: Include acl.h first, to check interface.  Don't
93615         bother to include sys/types.h and sys/stat.h again.
93617 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
93619         Import the following change from libc; problem reported by
93620         Sven Verdoolaege.
93622         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
93624         [BZ #1373]
93625         * lib/argp.h: Remove __NTH for __argp_usage inline function.
93627 2006-12-28  Jim Meyering  <jim@meyering.net>
93629         * build-aux/announce-gen: Do not assume that the package
93630         builds any of tar.gz, tar.bz2, and .xdelta files.
93631         Suggestion from Simon Josefsson.
93633 2006-12-28  Simon Josefsson  <simon@josefsson.org>
93635         * modules/announce-gen: New file.
93637 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
93639         * lib/mbchar.h: Just include <wctype.h>; the wctype module
93640         handles its gotchas now.
93641         * lib/mbswidth.c: Likewise.
93642         * lib/wcwidth.h: Likewise.
93643         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
93644         and iswcntrl; the wctype module does this stuff now.
93645         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
93646         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
93647         * modules/mbchar (Depends-on): Add wctype.
93648         * modules/mbswidth (Depends-on): Likewise.
93649         * modules/wcwidth (Depends-on): Likewise.
93651 2006-12-27  Eric Blake  <ebb9@byu.net>
93653         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
93654         module uses more than what <wctype.h> is required to provide.
93656 2006-12-26  Eric Blake  <ebb9@byu.net>
93658         * gnulib-tool (sed_extract_prog): Avoid space-tab.
93660 2006-12-26  Eric Blake  <ebb9@byu.net>
93662         * modules/absolute-header: New module.
93663         * modules/fcntl (Depends-on): Depend on it.
93664         * modules/inttypes (Depends-on): Likewise.
93665         * modules/stdint (Depends-on): Likewise.
93666         * modules/sys_stat (Depends-on): Likewise.
93667         * modules/wctype (Depends-on): Likewise.
93668         * MODULES.html.sh (Support for building libraries and
93669         executables): Document it.
93671 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
93673         * gnulib-tool (SED): Remove, undoing previous change.
93674         The problem was that it broke coreutils on Solaris, because
93675         "sed --posix" leaked into a makefile.
93676         (sed): New alias, if 'alias' and GNU sed.
93678 2006-12-24  Jim Meyering  <jim@meyering.net>
93680         Work around an fchownat bug in glibc-2.4:
93681         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
93682         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
93683         in spite of the -P option.
93684         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
93685         New macros.
93686         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
93687         * modules/openat (Files): Add lib/fchownat.c.
93688         * lib/openat.c (fchownat): Don't define here.  Move to...
93689         * lib/fchownat.c: ...this new file.
93691 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
93693         Fix bug reported by Bruno Haible in
93694         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
93695         where quotearg.c didn't compile on Mac OS X 10.2 because it
93696         lacks <wchar.h> and wint_t.
93697         * lib/wctype_.h (__wctype_wint_t): New type.
93698         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
93699         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
93700         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
93701         Arg is now of type __wctype_wint_t, not wint_t.
93702         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
93703         substitute HAVE_WINT_T.
93704         * modules/wctype (Files): Add m4/wint_t.m4.
93705         (wctype.h): Substitute HAVE_WINT_T.
93707 2006-12-23  Bruno Haible  <bruno@clisp.org>
93709         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
93711 2006-12-23  Bruno Haible  <bruno@clisp.org>
93713         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
93714         S_ISLNK.
93715         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
93716         mingw.
93718 2006-12-22  Bruno Haible  <bruno@clisp.org>
93720         * lib/copy-file.c: Include acl.h.
93721         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
93722         Close the file descriptors only after being done with copy_acl.
93723         * modules/copy-file (Depends-on): Add acl.
93725 2006-12-22  Bruno Haible  <bruno@clisp.org>
93727         * gnulib-tool (SED): New variable.
93728         Use $SED instead of sed everywhere.
93730 2006-12-22  Bruno Haible  <bruno@clisp.org>
93732         * modules/no-c++: New file.
93733         * m4/no-c++.m4: New file.
93734         * MODULES.html.sh (Support for building libraries and executables):
93735         Add no-c++.
93737 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
93739         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
93740         Include <limits.h>, and use its INT_MAX to rewrite the
93741         j loop so that it does not overflow 'int'.  Problem reported by
93742         Ralf Wildenhues in
93743         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
93744         Play it safe by shifting left by 1 rather than multiplying by 2,
93745         as GCC is less likely to optimize this away when the value
93746         is signed (when it assumes overflow leads to undefined behavior).
93747         Also, don't assume time_t uses two's complement.
93749 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
93751         * MODULES.html.sh: New module wctype.
93752         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
93753         * lib/fnmatch.c: Don't bother to include <wchar.h> before
93754         <wctype.h>, since the new wctype module should fix this.
93755         * lib/quotearg.c: Include <wctype.h> unconditionally, since
93756         the wctype module should arrange for it.
93757         * lib/regex_internal.h: Likewise.
93758         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
93759         since the wctype module should handle this now.
93760         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
93761         * modules/fnmatch (Depends-on): Add wctype.
93762         * modules/quotearg (Depends-on): Likewise.
93763         * modules/regex (Depends-on): Likewise.
93765 2006-12-19  Bruno Haible  <bruno@clisp.org>
93767         * lib/strdup.h [C++]: Wrap definitions in extern "C".
93768         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
93770 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93772         * modules/savewd (Depends-on): Fix dependency on fcntl.
93774 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
93776         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
93777         conforms to C99, rather than relying on the user's environment
93778         setting of STDINT_H.
93780 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
93781         and Eric Blake  <ebb9@byu.net>
93783         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
93784         This is more consistent with the other defines here.
93785         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
93786         Port to z/OS.  Problem reported by Paul Gilmartin.
93787         Change local vars to use gl_ prefix rather than ac_.
93788         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
93789         with other defines.
93790         * modules/double-slash-root: New module.
93791         * modules/dirname (Files): Remove m4/double-slash-root.m4.
93792         (Depends-on): Add double-slash-root.
93793         * MODULES.html.sh (File system functions): Mention new module.
93795 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
93797         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
93798         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
93799         This is for the benefit of gzip, which doesn't do i18n.
93801 2006-12-12  Jim Meyering  <jim@meyering.net>
93803         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
93804         Reported by Andreas Schwab <schwab@suse.de>.
93806 2006-12-12  Bruno Haible  <bruno@clisp.org>
93808         Merge these changes.
93809         2006-09-05  Bruno Haible  <bruno@clisp.org>
93810         * lib/iconvme.c (iconv_string): No need to save and restore errno when
93811         iconv_alloc succeeded.
93812         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
93813         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
93814         test for " && dest " at the end - dest is always != NULL there. Call
93815         iconv with 4xNULL arguments initially, to reset the state. Call iconv
93816         with 2xNULL arguments, also to flush the state storage. Handle the
93817         IRIX iconv behaviour. Realloc the final result, to throw away unused
93818         memory.
93820 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
93822         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
93823         and fchmodat unconditionally, since glibc 2.4 has them.
93824         Problem reported by Arkadiusz Miskiewicz.
93826 2006-12-10  Bruno Haible  <bruno@clisp.org>
93828         * gnulib-tool (func_import): Show the include files only for those
93829         modules that are copied and specified.
93830         Reported by Karl Berry.
93832 2006-12-08  Jim Meyering  <jim@meyering.net>
93834         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
93835         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
93837         * build-aux/announce-gen: Add two new options, both optional:
93838         --bootstrap-tools=TOOL_LIST
93839               a comma-separated list of tools, e.g.,
93840               autoconf,automake,bison,gnulib
93841         --gnulib-snapshot-date=DATE
93842               if gnulib is in the bootstrap tool list,
93843               then report this as the snapshot date.
93844               If not specified, use the current date/time.
93845               If you specify a date here, be sure it's UTC.
93847 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93849         * tests/test-argp-2.sh: Fix test to match actual output.
93850         (func_compare): Fix sed script to be portable.
93852 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
93854         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
93855         workaround for this case.  It is not autoconfigured now; offhand
93856         it's hard to see how to autoconfigure it.
93858 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
93860         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
93861         a directory that is about to be chowned.  Such a directory's
93862         initial file permissions should permit the owner only and this
93863         should not be changed until after the chown, since the group and
93864         other bits would be incorrect if they granted permission before
93865         the chown.
93867         Fix porting problem for iswctype reported by Georg Schwarz in:
93868         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
93869         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
93870         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
93871         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
93872         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
93874 2006-12-03  Jim Meyering  <jim@meyering.net>
93876         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
93877         p->fts_statp may not yet be defined.
93878         (fts_read): Instead, set it in the caller, once p->fts_statp is
93879         sure to be defined, and corresponds to a top-level directory.
93880         This bug made du -x fail.  Here's the coreutils test case:
93881         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
93882         Reported by Mike Frysinger.
93884 2006-12-01  Jim Meyering  <jim@meyering.net>
93886         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
93887         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
93888         Reported by Simon Josefsson.
93890 2006-11-30  Jim Meyering  <jim@meyering.net>
93892         * m4/warning.m4: Use the all-permissive copyright notice
93893         recommended by RMS (rather than LGPL).
93894         * m4/vararrays.m4: Likewise.
93895         * m4/flexmember.m4: Likewise.
93897 2006-11-29  Bruno Haible  <bruno@clisp.org>
93899         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
93900         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
93901         using +=.
93902         Reported by Simon Josefsson <simon@josefsson.org>.
93904 2006-11-28  James Youngman  <jay@gnu.org>
93906         * README: Advise users that they might find the bug-gnulib@gnu.org
93907         and autotools-announce@gnu.org mailing lists useful.
93909 2006-11-28  Bruno Haible  <bruno@clisp.org>
93911         * m4/ptrdiff_max.m4: Remove file.
93913 2006-11-21  Bruno Haible  <bruno@clisp.org>
93915         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
93916         _AC_COMPUTE_INT.
93917         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93918         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
93919         _AC_COMPUTE_INT.
93920         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93921         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
93922         _AC_COMPUTE_INT.
93923         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93925 2006-11-28  Jim Meyering  <jim@meyering.net>
93927         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
93928         warning from "gcc -Wshadow" about shadowing the builtin.
93930 2006-11-27  Bruno Haible  <bruno@clisp.org>
93932         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
93933         _AC_COMPUTE_INT.
93934         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93936 2006-11-27  Bruno Haible  <bruno@clisp.org>
93937             Paul Eggert  <eggert@cs.ucla.edu>
93939         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
93941 2006-11-26  Bruno Haible  <bruno@clisp.org>
93943         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
93944         noinst_LTLIBRARIES.
93946 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
93947             Bruno Haible  <bruno@clisp.org>
93949         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
93950         if compiling with "gcc -ansi".
93952 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
93954         Fix some incompatibilities with gcc -ansi -pedantic.
93955         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
93956         if compiling pedantically with GCC, unless it's C99 or later.
93957         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
93958         it mishandles gcc -ansi -pedantic as well.
93959         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
93960         if gcc -pedantic.
93961         * lib/regexec.c (check_node_accept_bytes): Don't use auto
93962         initializers for struct if -pedantic, unless it's C99 or later.
93964 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
93966         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
93967         Don't close an fd more than once. Identical atimes indicate
93968         success, not failure.
93970 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
93972         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
93974 2006-11-23  Jim Meyering  <jim@meyering.net>
93976         * build-aux/announce-gen: New file.  From coreutils.
93978 2006-11-22  Jim Meyering  <jim@meyering.net>
93980         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
93981         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
93982         (fts_read): Use a temporary to narrow the overused st_size member
93983         before using it in a switch statement.  Reported by Matthew Woehlke.
93985         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
93986         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
93988 2006-11-20  Bruno Haible  <bruno@clisp.org>
93990         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
93991         changequote instead of pairs of brackets.
93992         Reported by Andreas Schwab <schwab@suse.de>.
93994 2006-11-21  Jim Meyering  <jim@meyering.net>
93996         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
93997         so as to remain compatible with older compilers.
93998         Patch from Michael Deutschmann.
94000 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
94002         * MODULES.html.sh (File system functions): Add openat.
94004         * lib/openat.h (rpl_fstatat): New macro, if
94005         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
94006         (fstatat): Define to rpl_fstatat under the same conditions,
94007         unless COMPILING_FSTATAT.
94008         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
94009         seems to have the bug.
94010         * lib/fstatat.c: New file.
94011         * modules/openat (Files): Add it.
94013 2006-11-20  Bruno Haible  <bruno@clisp.org>
94015         * Makefile: New file.
94017 2006-11-20  Jim Meyering  <jim@meyering.net>
94019         The beginnings of syntax-related checks for gnulib.
94020         * lib/Makefile: New file.
94021         * lib/t-idcache: New script.  Ensure that the two halves of
94022         idcache.c stay in sync.
94024         * lib/idcache.c: Adjust comments in user- and group- portions to
94025         be more accurate, and to be consistent with one another.
94027 2006-11-20  Jim Meyering  <jim@meyering.net>
94029         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
94030         continue using the flexible array member (thus, this module performs
94031         half as many malloc calls), with the addition that...
94032         (getgroup, getuser): Consistently record a non-match via an empty
94033         "name" string, and map an empty string match to a NULL return value.
94034         * modules/idcache (Depends-on): Re-add flexmember.
94036         * lib/idcache.c (getuser): Remove all uses of the register keyword.
94037         (getuidbyname, getgroup, getgidbyname): Likewise.
94039         Use cleaner syntax: NULL rather than 0.
94040         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
94042 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
94044         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
94045         It mishandled the case where the group was missing.
94046         Problem reported by Greg Schafer.
94047         * modules/idcache: Likewise.
94049 2006-11-18  Jim Meyering  <jim@meyering.net>
94051         * check-module (%exempt_header): Add exception for some
94052         conditionally-included headers.
94054         * modules/i-ring (Depends-on): Add verify.
94055         (License): Change to LGPL.
94057 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
94059         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
94060         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
94061         and inttostr.h.  Use snprintf rather than uinttostr, so that
94062         LGPLed code doesn't depend on GPLed.
94064 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
94066         * modules/inline (License): Change from GPL to LGPL.
94068 2006-11-17  Jim Meyering  <jim@meyering.net>
94070         * modules/d-type (License): Switch to LGPL.
94072 2006-11-15  Bruno Haible  <bruno@clisp.org>
94074         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
94076 2006-11-15  Eric Blake  <ebb9@byu.net>
94078         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
94079         the module dependency.
94081 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
94082             Bruno Haible  <bruno@clisp.org>
94084         * gnulib-tool (func_create_testdir): Add license consistency check.
94086 2006-11-15  Eric Blake  <ebb9@byu.net>
94088         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
94089         random "(cached)" in configure output.
94091 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94093         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
94094         test for conforming inttypes.h is both announced and cached.
94096         * MODULES.html.sh (seen_modules, seen_files): New variables.
94097         (func_module): Rewrite to use a few less gnulib-tool and sed
94098         invocations.  Avoid a couple of quadratic algorithms for ...
94099         (missed_modules, missed_files): ... these, with ...
94100         (func_append, func_tmpdir): ... these new functions, from
94101         gnulib-tool.  Analogously, install traps for cleanup.
94103         * tests/test-gc.c (main): Remove unused variables.
94104         * tests/test-read-file.c: Include stdlib.h, for 'free'.
94106 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
94108         * modules/inttostr (License): Change to LGPL.
94110 2006-11-14  Eric Blake  <ebb9@byu.net>
94112         * modules/tempname (License): Change to LGPL.
94114 2006-11-14  Eric Blake  <ebb9@byu.net>
94116         * doc/functions.texi (Function Portability): *printf functions on
94117         Cygwin now understand all POSIX size specifiers.
94119 2006-11-14  Bruno Haible  <bruno@clisp.org>
94121         * modules/c-ctype (License): Change to LGPL.
94123 2006-11-12  Bruno Haible  <bruno@clisp.org>
94125         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
94126         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
94127         for GNOME libraries, for which the include files are installed in
94128         subdirectories of $prefix/include.
94130 2006-11-12  Bruno Haible  <bruno@clisp.org>
94132         * m4/lib-link.m4: Require at least autoconf-2.54.
94133         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
94134         name to underscores for the --with option.
94136 2006-11-13  Bruno Haible  <bruno@clisp.org>
94138         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
94139         the tests directory.
94140         Reported by Ralf Wildenhues.
94142 2006-11-13  Bruno Haible  <bruno@clisp.org>
94144         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
94145         (func_emit_initmacro_end): Undo the override here.
94146         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
94147         Works around the famous automake error in coreutils.
94149 2006-11-13  Eric Blake  <ebb9@byu.net>
94151         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
94152         element, not its node.
94154 2006-11-12  Bruno Haible  <bruno@clisp.org>
94156         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
94157         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
94159 2006-11-12  Bruno Haible  <bruno@clisp.org>
94161         * gnulib-tool: New option --local-symlink.
94162         (func_usage): Document it.
94163         (lsymbolic): New variable.
94164         (func_import, func_create_testdir): If --symlink was not specified,
94165         test whether --local-symlink was specified and the file comes from
94166         the local_gnulib_dir.
94168 2006-11-12  Bruno Haible  <bruno@clisp.org>
94170         * gnulib-tool (func_ln): New function.
94171         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
94173 2006-11-12  Bruno Haible  <bruno@clisp.org>
94175         Finish support for source files in subdirectories.
94176         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
94177         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
94178         AUTOMAKE_OPTIONS.
94179         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
94181 2006-11-12  Bruno Haible  <bruno@clisp.org>
94183         * gnulib-tool (func_get_automake_snippet): Synthesize also an
94184         EXTRA_lib_SOURCES augmentation.
94185         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
94187 2006-11-12  Jim Meyering  <jim@meyering.net>
94189         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
94190         file descriptors.  This also averts a failure on systems with
94191         native openat support when a traversed directory lacks "x" access.
94192         * lib/fts_.h: Include "i-ring.h"
94193         (struct FTS) [fts_fd_ring]: New member.
94194         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
94195         (FCHDIR): Add parentheses.
94196         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
94197         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
94198         When descending, rather than simply closing the previous
94199         fts_cwd_fd value, push that file descriptor onto the ring.
94200         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
94201         (fts_open): Initialize the new fd_ring member.
94202         (fts_close): Clear the ring.
94203         (fts_safe_changedir): When possible, use our new fd_ring to skip
94204         the diropen and fstat and dev/ino comparison that would normally
94205         accompany a virtual `chdir ("..")'.
94207         * modules/fts (Depends-on): Add i-ring.
94208         * modules/i-ring: New module.
94209         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
94210         * m4/i-ring.m4: New file.
94212 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94214         * gnulib-tool (func_create_testdir): Fix replacement of
94215         `build-aux' in configure.ac.  Run autotools in gltests
94216         subdirectory.
94217         (func_create_testdir, func_create_megatestdir, test): There is
94218         no need for '--force' in most autotool invocations in a new
94219         tree.  Actually fail the whole test if any of the tools, or the
94220         configure or make stages fail.
94222         Sync from Automake.
94223         * build-aux/gnupload: Revert last change.  Add pointer to upload
94224         instructions of the GNU Maintenance Instructions.
94225         Suggestion by Karl Berry.
94227 2006-11-10  Jim Meyering  <jim@meyering.net>
94229         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
94231 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
94233         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
94234         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
94235         (bind_textdomain_codeset) [! ENABLE_NLS]:
94236         Evaluate all the arguments.  That way, callers get compatible behavior
94237         if the arguments have side effects.  Also, it avoids some GCC
94238         diagnostics in some cases; Joel E. Denny reported problems when Bison
94239         was configured with --enable-gcc-warnigs.
94241 2006-11-10  Jim Meyering  <jim@meyering.net>
94243         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
94244         relevant options in CFLAGS (like -O, -fno-inline) are taken into
94245         account.
94247 2006-11-10  Jim Meyering  <jim@meyering.net>
94249         * modules/inline: New file/module.
94250         * modules/xalloc (Files): Remove m4/inline.m4.
94251         (Depends-on): Add inline, instead.
94252         * modules/oset: Likewise.
94253         * modules/list: Likewise.
94255 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
94257         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
94258         Problem reported by Matthew Woehlke.
94260 2006-11-09  Bruno Haible  <bruno@clisp.org>
94262         * lib/tempname.c (gen_tempname): Remove variant that invokes
94263         __gen_tempname.
94264         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
94265         __gen_tempname.
94267 2006-11-08  Bruno Haible  <bruno@clisp.org>
94269         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
94270         to 'yes' instead of 'cross-compiling'.
94272 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
94274         * lib/quotearg.h (quotearg_free): New decl.
94275         * lib/quotearg.c (quotearg_free): New function.
94276         (slot0, nslots, slotvec0, slotvec):
94277         Now file-scope so that quotearg_free can get at them.
94279 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94281         Sync from Automake.
94282         * build-aux/gnupload: Add missing 'gnu' to example URL.
94283         Report by Karl Berry.
94285 2006-11-08  Bruno Haible  <bruno@clisp.org>
94287         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
94288         Suggested by Paul Eggert.
94290 2006-11-08  Jim Meyering  <jim@meyering.net>
94292         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
94293         It's already included if !_LIBC.
94294         (fts_safe_changedir): Add a comment.
94296 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
94298         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
94299         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
94300         Matthew Woehlke.
94302         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
94303         definitions up, to avoid colliding with change below.
94304         (static_inline) [HAVE_INLINE]: New macro.
94305         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
94306         Provide extern decls when !HAVE_INLINE.  Do not define unless
94307         static_inline is defined, either by us or by xmalloc.c.  Use
94308         static_inline rather than static inline.
94309         (XCALLOC): Optimize sizeof(T) = 1 case.
94310         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
94312 2006-11-07  Bruno Haible  <bruno@clisp.org>
94314         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
94315         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
94316         AC_C_INLINE.
94317         * modules/xalloc (Files): Add m4/inline.m4.
94319 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94321         * README: Fix typo.
94322         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
94323         (Miscellanous Notes): ...from this.
94325 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
94327         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
94328         Mention that offsetof should be used instead of sizeof.
94329         From Bruno Haible.
94331 2006-11-07  Bruno Haible  <bruno@clisp.org>
94333         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
94335 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
94337         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
94338         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
94339         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
94340         (gl_tree_add_before, gl_tree_add_after):
94341         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
94342         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
94343         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
94344         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
94345         (gl_linked_add_after, gl_linked_add_at): Likewise.
94346         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
94347         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
94348         (gl_tree_add_before, gl_tree_add_after): Likewise.
94349         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
94350         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
94351         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
94353 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94355         * lib/gl_oset.h: Use C comment style, not C++ comment style.
94357 2006-11-06  Bruno Haible  <bruno@clisp.org>
94359         * m4/inline.m4: New file.
94360         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
94361         * modules/list (Files): Add m4/inline.m4.
94362         * modules/oset (Files): Likewise.
94364 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
94366         * lib/idcache.c: Include <stddef.h>, for offsetof.
94367         (struct userid.name): Change from char * to a flexible array member.
94368         All uses changed.
94369         * modules/idcache (Depends-on): Add flexmember.
94371         * MODULES.html.sh (Core language properties): New module flexmember.
94372         * modules/flexmember, m4/flexmember.m4: New files.
94374         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
94375         inline functions that are identical with the old xnmalloc_inline,
94376         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
94377         that we can avoid some unnecessary integer multiplications and
94378         divisions in the common case where the element size is known at
94379         compile time.
94380         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
94381         needed.
94382         (xnboundedmalloc): Remove.
94383         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
94384         arguments, for consistency with rest of this header.
94385         (xcharalloc): Rewrite using XNMALLOC.
94386         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
94387         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
94388         versions have been moved to lib/xalloc.h and renamed to be the
94389         non-*_inline versions.
94390         (xmalloc, xrealloc): Implement without reference to the xnmalloc
94391         and xnrealloc functions, since those functions are now inline and
94392         now call us.
94393         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
94394         renaming described above.
94395         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
94396         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
94397         captures the dependency in AC_C_INLINE.
94399         New module canonicalize-lgpl, proposed by Charles Wilson in
94400         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
94401         with a few small changes afterwards.
94402         * MODULES.html.sh (File system functions): New module
94403         canonicalize-lgpl.
94404         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
94405         and canonicalize_file_name.
94406         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
94407         * modules/canonicalize-lgpl: New files.
94409 2006-11-05  Bruno Haible  <bruno@clisp.org>
94411         * gnulib-tool (func_import, func_create_testdir): Create directories
94412         also for files in subdirectories of lib/.
94414 2006-11-05  Bruno Haible  <bruno@clisp.org>
94416         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
94417         ANSI C compliant.
94419 2006-11-03  Bruno Haible  <bruno@clisp.org>
94421         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
94422         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
94423         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
94424         (xnboundedmalloc): New inline function.
94425         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
94426         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
94427         xmalloc.
94428         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
94429         xmalloc.
94430         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
94431         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
94432         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
94433         xmalloc.
94434         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
94435         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
94436         xmalloc.
94437         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
94438         gl_tree_add_after): Use XMALLOC instead of xmalloc.
94439         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
94440         xmalloc.
94441         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
94442         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
94443         gl_tree_add_after): Use XMALLOC instead of xmalloc.
94444         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
94445         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
94446         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
94447         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
94449 2006-11-03  Bruno Haible  <bruno@clisp.org>
94451         * lib/c-ctype.h [C++]: Define functions without name mangling.
94452         * lib/fwriteerror.h [C++]: Likewise.
94453         * lib/gcd.h [C++]: Likewise.
94454         * lib/linebreak.h [C++]: Likewise.
94456 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
94458         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
94459         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
94460         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
94461         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
94462         Check for functions and headers just once.
94463         Check for declaration of canonicalize_file_name.
94464         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
94466 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
94468         * gnulib-tool (func_import): Fix typo in actioncmd.
94470 2006-11-02  Bruno Haible  <bruno@clisp.org>
94472         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
94473         newline sequence in the Makefile.am snippet as a space, like "make"
94474         does.
94475         Reported by Roger Persson <perrog@gmail.com>.
94477 2006-11-01  Bruno Haible  <bruno@clisp.org>
94479         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
94480         already declared in <string.h>.
94481         * lib/strcase.h (strncasecmp): Don't declare it if yes.
94483 2006-11-01  Bruno Haible  <bruno@clisp.org>
94485         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
94486         * lib/strcase.h: Include <string.h>.
94487         (strcasecmp): Define to rpl_strcasecmp here.
94489 2006-11-01  Bruno Haible  <bruno@clisp.org>
94491         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
94493 2006-11-01  Eric Blake  <ebb9@byu.net>
94495         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
94497         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
94499 2006-10-29  Bruno Haible  <bruno@clisp.org>
94501         Make it compile in C++ mode.
94502         * lib/full-write.c (full_rw): Add a cast.
94504 2006-11-01  Bruno Haible  <bruno@clisp.org>
94506         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
94507         be POSIX compliant.
94508         Reported by Roger Persson <perrog@gmail.com>.
94510 2006-11-01  Eric Blake  <ebb9@byu.net>
94512         * lib/getopt_.h: Fix comments.
94514 2006-10-31  Eric Blake  <ebb9@byu.net>
94516         * modules/tmpdir (Depends-on): Add sys_stat.
94517         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
94518         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
94519         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
94520         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
94521         tempname.
94523 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
94525         Avoid some C++ diagnostics reported by Bruno Haible.
94526         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
94527         xmalloc.
94528         (quotearg_alloc): Use xcharalloc rather than xmalloc.
94529         (struct slotvec): Move to top level.
94530         (quotearg_n_options): Rewrite to avoid xmalloc.
94531         * lib/xalloc.h (xcharalloc): New function.
94532         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
94533         [defined __cplusplus]: Add function template that provides result
94534         type propagation.  This part of the change is from Bruno Haible.
94536 2006-10-29  Bruno Haible  <bruno@clisp.org>
94538         Make it compile in C++ mode.
94539         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
94540         * lib/strnlen1.c (strnlen1): Cast memchr result.
94541         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
94542         * lib/clean-temp.c (string_equals, string_hash): Add casts.
94543         (create_temp_dir): Rename local variable 'template'.
94544         (compile_csharp_using_sscli): Add cast.
94545         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
94546         * lib/findprog.c (find_in_path): Likewise.
94547         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
94548         * lib/wait-process.c (register_slave_subprocess): Likewise.
94550 2006-10-22  Bruno Haible  <bruno@clisp.org>
94552         * modules/tsearch: New file.
94553         * lib/tsearch.h: New file.
94554         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
94555         * m4/tsearch.m4: New file.
94556         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
94558 2006-10-29  Eric Blake  <ebb9@byu.net>
94560         * lib/arcfour.c: Assume config.h.
94561         * lib/arctwo.c: Likewise.
94562         * lib/base64.c: Likewise.
94563         * lib/check-version.c: Likewise.
94564         * lib/crc.c: Likewise.
94565         * lib/des.c: Likewise.
94566         * lib/gc-gnulib.c: Likewise.
94567         * lib/gc-libgcrypt.c: Likewise.
94568         * lib/gc-pbkdf2-sha1.c: Likewise.
94569         * lib/getaddrinfo.c: Likewise.
94570         * lib/getdelim.c: Likewise.
94571         * lib/getline.c: Likewise.
94572         * lib/hmac-md5.c: Likewise.
94573         * lib/hmac-sha1.c: Likewise.
94574         * lib/iconvme.c: Likewise.
94575         * lib/md2.c: Likewise.
94576         * lib/md4.c: Likewise.
94577         * lib/memxor.c: Likewise.
94578         * lib/read-file.c: Likewise.
94579         * lib/readline.c: Likewise.
94580         * lib/rijndael-alg-fst.c: Likewise.
94581         * lib/rijndael-api-fst.c: Likewise.
94582         * lib/xgetdomainname.c: Likewise.
94584 2006-10-28  Eric Blake  <ebb9@byu.net>
94586         * lib/xstrndup.c: Assume config.h.
94588 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
94590         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
94591         stat-macros.h is now for our own macros, whereas stat_h is for
94592         macros in the <sys/stat.h> name space.
94593         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
94594         (STAT_MACROS_H): Remove.
94595         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
94596         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
94597         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
94598         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
94599         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
94600         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
94601         Move these macros to ...
94602         * lib/stat_.h: here.  Don't include stat-macros.h.
94603         * lib/canonicalize.c: Don't include stat-macros.h.
94604         * lib/chown.c: Likewise.
94605         * lib/euidaccess.c: Likewise.
94606         * lib/file-type.c: Likewise.
94607         * lib/filemode.c: Likewise.
94608         * lib/glob.c: Likewise.
94609         * lib/isapipe.c: Likewise.
94610         * lib/lchown.c: Likewise.
94611         * lib/lstat.c: Likewise.
94612         * lib/mkdir-p.c: Likewise.
94613         * lib/rmdir.c: Likewise.
94614         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
94615         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
94616         unless mkdir isn't declared, to speed up 'configure'.
94617         Always create sys/stat.h, since it's unlikely any real sys/stat.h
94618         would define all the S_* symbols.
94619         * modules/canonicalize (Depends-on):
94620         Depend on sys_stat, not stat-macros.
94621         * modules/chown: Likewise.
94622         * modules/euidaccess: Likewise.
94623         * modules/filemode: Likewise.
94624         * modules/file-type: Likewise.
94625         * modules/glob: Likewise.
94626         * modules/isapipe: Likewise.
94627         * modules/lchown: Likewise.
94628         * modules/lstat: Likewise.
94629         * modules/mkancesdirs: Likewise.
94630         * modules/rmdir: Likewise.
94631         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
94632         * modules/modechange: Likewise.
94633         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
94634         (configure.ac): Remove gl_STAT_MACROS.
94635         * modules/sys_stat (Depends-on): Remove stat-macros.
94637 2006-10-27  Bruno Haible  <bruno@clisp.org>
94639         * m4/signed.m4: Remove file.
94640         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
94641         invocation.
94642         * modules/vasnprintf (Files): Remove m4/signed.m4.
94644 2006-10-27  Bruno Haible  <bruno@clisp.org>
94646         Update to GNU gettext 0.16.
94647         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
94648         m4/inttypes-h.m4, m4/signed.m4.
94649         * m4/gettext.m4: Update to GNU gettext 0.16.
94650         * m4/intl.m4: New file, from GNU gettext.
94651         * m4/intldir.m4: New file, from GNU gettext.
94652         * config/srclist.txt: Update
94654 2006-10-27  Eric Blake  <ebb9@byu.net>
94656         * MODULES.html.sh: Document tempname.
94657         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
94658         dependencies.
94659         (Files): Move lib/tempname.c...
94660         * modules/tempname: ...to this new module.
94661         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
94662         (gl_PREREQ_TEMPNAME): Move...
94663         * m4/tempname.m4: ...to this new file.
94664         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
94665         * modules/sys_stat (Depends-on): Add stat-macros.
94666         * lib/stat_.h (includes): Pick up stat macros.
94667         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
94668         if stat macros are broken.
94669         * lib/tempname.c (includes): No need to include "stat-macros.h".
94670         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
94671         (direxists, __path_search) [!_LIBC]: Don't compile these in
94672         gnulib; the tmpdir module covers that.
94673         * lib/tempname.h: New file.
94675 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
94677         * COPYING: Explain how gnulib-tool converts licence headers.
94678         Almost all wording by Eric Blake.
94680 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
94682         * lib/mbchar.h (is_basic_table): Make read-only.
94683         * lib/mbchar.c (is_basic_table): Likewise.
94684         Reported by John Darrington.
94686 2006-10-25  Bruno Haible  <bruno@clisp.org>
94688         * lib/progname.h (set_program_name): Undefine before defining.
94690 2006-10-25  Bruno Haible  <bruno@clisp.org>
94692         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
94693         false for non-gcc C++ compilers.
94694         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
94696 2006-10-24  Bruno Haible  <bruno@clisp.org>
94698         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
94699         iconv implementations like Irix iconv.
94701 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94703         * modules/vararrays: New file.
94704         * m4/vararrays.m4: New file, taken from diffutils.
94705         * MODULES.html.sh: New module vararrays.
94707 2006-10-24  Karl Berry  <karl@gnu.org>
94709         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
94710         Don't call GNU Unix.
94712 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94714         * users.txt: Add Libtool.
94716         Sync from Libtool:
94718         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94720         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
94721         to gnulib's policy of including config.h unconditionally.
94723 2006-10-24  Bruno Haible  <bruno@clisp.org>
94725         * modules/wcwidth (Files): Add m4/wint_t.m4.
94726         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
94727         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
94729 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94731         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
94732         to pacify GCC with some -W flags enabled.  Problem reported by
94733         Bruno Haible.
94735 2006-10-24  Jim Meyering  <jim@meyering.net>
94737         * MODULES.html.sh: Remove uinttostr.  It's not a module.
94738         Reported by Karl Berry.
94740 2006-10-23  Bruno Haible  <bruno@clisp.org>
94742         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
94744 2006-10-24  Bruno Haible  <bruno@clisp.org>
94746         * lib/gl_list.h: Use C comment style, not C++ comment style.
94748 2006-10-23  Eric Blake  <ebb9@byu.net>
94750         * lib/getaddrinfo.c (includes): Add missing include.
94752 2006-10-23  Bruno Haible  <bruno@clisp.org>
94753             Paul Eggert  <eggert@cs.ucla.edu>
94755         Ability to rename obstack_free.
94756         * lib/obstack.h (__obstack_free): New macro. Declare instead of
94757         obstack_free.
94758         (obstack_free): Invoke the __obstack_free macro.
94759         * lib/obstack.c (obstack_free): Use __obstack_free macro.
94761 2006-10-23  Bruno Haible  <bruno@clisp.org>
94762             Paul Eggert  <eggert@cs.ucla.edu>
94764         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
94765         __argc, __argv from the declaration. (They are defined as macros on
94766         mingw.)
94768 2006-10-22  Bruno Haible  <bruno@clisp.org>
94770         * doc/gnulib-intro.texi: New file.
94771         * doc/gnulib.texi: Include it.
94773 2006-10-21  Bruno Haible  <bruno@clisp.org>
94775         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
94776         "Introduction", "Miscellanous Notes", "Particular Modules".
94778 2006-10-21  Bruno Haible  <bruno@clisp.org>
94780         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
94781         Change mostlyclean-local rule to avoid sh syntax error from bash
94782         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
94784 2006-10-23  Jim Meyering  <jim@meyering.net>
94786         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
94787         in place of snprintf.
94789         * modules/inttostr (Files): Add lib/uinttostr.c.
94790         * lib/uinttostr.c (inttostr): New file/function.
94791         * lib/inttostr.h (uinttostr): Declare.
94792         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
94793         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
94794         Add uinttostr.
94795         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
94797 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
94799         * lib/canonicalize.c (ELOOP): Define if not already defined.
94800         Problem reported by Bruno Haible in
94801         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
94803 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
94805         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
94806         Problem reported by Perry Smith and Ville Laurikari.
94808         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
94809         uses.
94811 2006-10-19  Bruno Haible  <bruno@clisp.org>
94813         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
94814         for mingw.
94816 2006-10-19  Bruno Haible  <bruno@clisp.org>
94818         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
94819         Needed for mingw.
94821 2006-10-19  Bruno Haible  <bruno@clisp.org>
94823         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
94825 2006-10-19  Bruno Haible  <bruno@clisp.org>
94827         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
94828         it.
94830 2006-10-19  Bruno Haible  <bruno@clisp.org>
94832         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
94833         invocation.
94835 2006-10-19  Bruno Haible  <bruno@clisp.org>
94837         * gnulib-tool (func_create_testdir): Don't include ftruncate and
94838         mountlist by default.
94840 2006-10-16  Bruno Haible  <bruno@clisp.org>
94842         * lib/c-strstr.c: Include c-strstr.h.
94844 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
94846         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
94847         in a slash.
94849 2006-10-18  Bruno Haible  <bruno@clisp.org>
94851         * lib/lock.h [C++]: Wrap definitions in extern "C".
94853 2006-10-18  Bruno Haible  <bruno@clisp.org>
94855         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
94856         gl_LIBOBJS list.
94858 2006-10-18  Bruno Haible  <bruno@clisp.org>
94860         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
94862 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
94864         * lib/xstrtol.h: Include gettext.h.
94865         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
94866         Problem reported by Eric Blake.
94867         * modules/xstrtol (Depends-on): Add gettext-h.
94869 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
94871         * lib/strftime.c (advance): New macro.
94872         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
94873         incomplete type, so you can't add 0 to it.  Problem and patch
94874         reported by Eelco Dolstra for dietlibc.
94876 2006-10-18  Jim Meyering  <jim@meyering.net>
94878         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
94879         type for a local, and rename it: s/up/user_proc/.
94881 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
94883         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
94884         READ_UTMP_USER_PROCESS.
94885         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
94887 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
94889         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
94890         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
94892 2006-10-17  Eric Blake  <ebb9@byu.net>
94894         * lib/sigprocmask.c (sigprocmask): Fix typo.
94896         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
94898         * modules/clean-temp (Makefile.am): Don't add to make output...
94899         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
94900         config.h.
94902 2006-10-17  Bruno Haible  <bruno@clisp.org>
94904         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
94905         differently if DEFAULT_TEXT_DOMAIN is set.
94907 2006-10-16  Bruno Haible  <bruno@clisp.org>
94909         * lib/clean-temp.c: Include fwriteerror.h.
94911 2006-10-16  Bruno Haible  <bruno@clisp.org>
94913         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
94915 2006-10-16  Bruno Haible  <bruno@clisp.org>
94917         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
94918         * lib/sigprocmask.h: Include <sys/types.h>.
94919         (sigset_t): Use the system's definition if present.
94921 2006-10-17  Eric Blake  <ebb9@byu.net>
94923         * lib/xvasprintf.c (includes): Assume config.h.
94924         * lib/xasprintf.c (includes): Likewise.
94926 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
94928         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
94929         at least as wide as intmax_t.
94931 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
94933         (Imported from Automake.)
94934         * build-aux/gnupload: Update to version 1.1 of directive file.
94936 2006-10-16  Eric Blake  <ebb9@byu.net>
94938         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
94939         match Automake 1.10a.
94941 2006-10-14  Bruno Haible  <bruno@clisp.org>
94943         * modules/sigprocmask: New file.
94944         * lib/sigprocmask.h: New file.
94945         * lib/sigprocmask.c: New file.
94946         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
94947         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
94948         request sigprocmask.o.
94949         (gl_PREREQ_SIGPROCMASK): New macro.
94950         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
94951         (Depends-on): Add sigprocmask.
94952         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
94953         gt_SIGNALBLOCKING. Test for 'raise' only once.
94954         * lib/fatal-signal.c: Include sigprocmask.h.
94955         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
94956         unblock_fatal_signals): Define always.
94957         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
94958         sigprocmask.
94960 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
94962         Sync from Automake.
94963         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
94964         which incorrectly sets the mode of an existing destination
94965         directory.  In some cases the unpatched install-sh could do the
94966         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
94967         system.  We hope this is rare in practice, but it's clearly worth
94968         fixing.  Problem reported by Alex Unleashed in
94969         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
94970         Also, don't bother to check for -m bugs unless we're using -m;
94971         suggested by Stepan Kasal.
94973 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94975         Sync from Automake.
94976         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
94977         `-c' flag, so they appear at the same position as in %FASTDEP%
94978         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
94979         which ignores unknown options only after the first non-option.
94980         Bug report against M4 by Nelson H. F. Beebe.
94982 2006-10-13  Jim Meyering  <jim@meyering.net>
94984         Fix a bug in yesterday's change.
94985         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
94986         p->fts_statp->st_dev would be used uninitialized.
94987         Ensures that we always call fts_stat on the very first entry.
94988         Miklos Szeredi reported that find -xdev stopped working.
94990 2006-10-12  Bruno Haible  <bruno@clisp.org>
94992         * gnulib-tool (func_get_automake_snippet): Append an automatically
94993         computed EXTRA_DIST augmentation.
94994         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
94995         * modules/alloca-opt (Makefile.am): Likewise.
94996         * modules/allocsa (Makefile.am): Likewise.
94997         * modules/arcfour (Makefile.am): Likewise.
94998         * modules/arctwo (Makefile.am): Likewise.
94999         * modules/argmatch (Makefile.am): Likewise.
95000         * modules/argz (Makefile.am): Likewise.
95001         * modules/atexit (Makefile.am): Likewise.
95002         * modules/backupfile (Makefile.am): Likewise.
95003         * modules/byteswap (Makefile.am): Likewise.
95004         * modules/c-strtod (Makefile.am): Likewise.
95005         * modules/c-strtold (Makefile.am): Likewise.
95006         * modules/calloc (Makefile.am): Likewise.
95007         * modules/canon-host (Makefile.am): Likewise.
95008         * modules/canonicalize (Makefile.am): Likewise.
95009         * modules/chdir-long (Makefile.am): Likewise.
95010         * modules/chdir-safer (Makefile.am): Likewise.
95011         * modules/check-version (Makefile.am): Likewise.
95012         * modules/chown (Makefile.am): Likewise.
95013         * modules/cloexec (Makefile.am): Likewise.
95014         * modules/close-stream (Makefile.am): Likewise.
95015         * modules/closeout (Makefile.am): Likewise.
95016         * modules/crc (Makefile.am): Likewise.
95017         * modules/csharpexec (Makefile.am): Likewise.
95018         * modules/cycle-check (Makefile.am): Likewise.
95019         * modules/des (Makefile.am): Likewise.
95020         * modules/dev-ino (Makefile.am): Likewise.
95021         * modules/dirfd (Makefile.am): Likewise.
95022         * modules/dirname (Makefile.am): Likewise.
95023         * modules/dup2 (Makefile.am): Likewise.
95024         * modules/eealloc (Makefile.am): Likewise.
95025         * modules/error (Makefile.am): Likewise.
95026         * modules/euidaccess (Makefile.am): Likewise.
95027         * modules/exclude (Makefile.am): Likewise.
95028         * modules/exitfail (Makefile.am): Likewise.
95029         * modules/fcntl-safer (Makefile.am): Likewise.
95030         * modules/fcntl (Makefile.am): Likewise.
95031         * modules/file-type (Makefile.am): Likewise.
95032         * modules/fileblocks (Makefile.am): Likewise.
95033         * modules/filemode (Makefile.am): Likewise.
95034         * modules/filenamecat (Makefile.am): Likewise.
95035         * modules/fnmatch (Makefile.am): Likewise.
95036         * modules/fopen-safer (Makefile.am): Likewise.
95037         * modules/fpending (Makefile.am): Likewise.
95038         * modules/fprintftime (Makefile.am): Likewise.
95039         * modules/free (Makefile.am): Likewise.
95040         * modules/fsusage (Makefile.am): Likewise.
95041         * modules/ftruncate (Makefile.am): Likewise.
95042         * modules/fts (Makefile.am): Likewise.
95043         * modules/gc-arcfour (Makefile.am): Likewise.
95044         * modules/gc-des (Makefile.am): Likewise.
95045         * modules/gc-hmac-md5 (Makefile.am): Likewise.
95046         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
95047         * modules/gc-md4 (Makefile.am): Likewise.
95048         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
95049         * modules/gc-sha1 (Makefile.am): Likewise.
95050         * modules/gc (Makefile.am): Likewise.
95051         * modules/getaddrinfo (Makefile.am): Likewise.
95052         * modules/getcwd (Makefile.am): Likewise.
95053         * modules/getdelim (Makefile.am): Likewise.
95054         * modules/getdomainname (Makefile.am): Likewise.
95055         * modules/getgroups (Makefile.am): Likewise.
95056         * modules/gethostname (Makefile.am): Likewise.
95057         * modules/gethrxtime (Makefile.am): Likewise.
95058         * modules/getline (Makefile.am): Likewise.
95059         * modules/getloadavg (Makefile.am): Likewise.
95060         * modules/getlogin_r (Makefile.am): Likewise.
95061         * modules/getndelim2 (Makefile.am): Likewise.
95062         * modules/getopt (Makefile.am): Likewise.
95063         * modules/getpagesize (Makefile.am): Likewise.
95064         * modules/getpass-gnu (Makefile.am): Likewise.
95065         * modules/getpass (Makefile.am): Likewise.
95066         * modules/getsubopt (Makefile.am): Likewise.
95067         * modules/gettime (Makefile.am): Likewise.
95068         * modules/gettimeofday (Makefile.am): Likewise.
95069         * modules/getugroups (Makefile.am): Likewise.
95070         * modules/getusershell (Makefile.am): Likewise.
95071         * modules/glob (Makefile.am): Likewise.
95072         * modules/group-member (Makefile.am): Likewise.
95073         * modules/hard-locale (Makefile.am): Likewise.
95074         * modules/hash (Makefile.am): Likewise.
95075         * modules/hmac-md5 (Makefile.am): Likewise.
95076         * modules/hmac-sha1 (Makefile.am): Likewise.
95077         * modules/human (Makefile.am): Likewise.
95078         * modules/idcache (Makefile.am): Likewise.
95079         * modules/imaxabs (Makefile.am): Likewise.
95080         * modules/imaxdiv (Makefile.am): Likewise.
95081         * modules/inet_ntop (Makefile.am): Likewise.
95082         * modules/inet_pton (Makefile.am): Likewise.
95083         * modules/intprops (Makefile.am): Likewise.
95084         * modules/inttostr (Makefile.am): Likewise.
95085         * modules/inttypes (Makefile.am): Likewise.
95086         * modules/isapipe (Makefile.am): Likewise.
95087         * modules/javaversion (Makefile.am): Likewise.
95088         * modules/lchmod (Makefile.am): Likewise.
95089         * modules/lchown (Makefile.am): Likewise.
95090         * modules/localcharset (Makefile.am): Likewise.
95091         * modules/long-options (Makefile.am): Likewise.
95092         * modules/lstat (Makefile.am): Likewise.
95093         * modules/malloc (Makefile.am): Likewise.
95094         * modules/mathl (Makefile.am): Likewise.
95095         * modules/mbchar (Makefile.am): Likewise.
95096         * modules/md2 (Makefile.am): Likewise.
95097         * modules/md4 (Makefile.am): Likewise.
95098         * modules/md5 (Makefile.am): Likewise.
95099         * modules/memcasecmp (Makefile.am): Likewise.
95100         * modules/memchr (Makefile.am): Likewise.
95101         * modules/memcmp (Makefile.am): Likewise.
95102         * modules/memcoll (Makefile.am): Likewise.
95103         * modules/memcpy (Makefile.am): Likewise.
95104         * modules/memmem (Makefile.am): Likewise.
95105         * modules/memmove (Makefile.am): Likewise.
95106         * modules/mempcpy (Makefile.am): Likewise.
95107         * modules/memrchr (Makefile.am): Likewise.
95108         * modules/memset (Makefile.am): Likewise.
95109         * modules/memxor (Makefile.am): Likewise.
95110         * modules/mkancesdirs (Makefile.am): Likewise.
95111         * modules/mkdir-p (Makefile.am): Likewise.
95112         * modules/mkdir (Makefile.am): Likewise.
95113         * modules/mkdtemp (Makefile.am): Likewise.
95114         * modules/mkstemp (Makefile.am): Likewise.
95115         * modules/mktime (Makefile.am): Likewise.
95116         * modules/modechange (Makefile.am): Likewise.
95117         * modules/mountlist (Makefile.am): Likewise.
95118         * modules/nanosleep (Makefile.am): Likewise.
95119         * modules/obstack (Makefile.am): Likewise.
95120         * modules/openat (Makefile.am): Likewise.
95121         * modules/pagealign_alloc (Makefile.am): Likewise.
95122         * modules/pathmax (Makefile.am): Likewise.
95123         * modules/physmem (Makefile.am): Likewise.
95124         * modules/poll (Makefile.am): Likewise.
95125         * modules/posixtm (Makefile.am): Likewise.
95126         * modules/posixver (Makefile.am): Likewise.
95127         * modules/putenv (Makefile.am): Likewise.
95128         * modules/quote (Makefile.am): Likewise.
95129         * modules/quotearg (Makefile.am): Likewise.
95130         * modules/raise (Makefile.am): Likewise.
95131         * modules/read-file (Makefile.am): Likewise.
95132         * modules/readline (Makefile.am): Likewise.
95133         * modules/readlink (Makefile.am): Likewise.
95134         * modules/readtokens (Makefile.am): Likewise.
95135         * modules/readutmp (Makefile.am): Likewise.
95136         * modules/realloc (Makefile.am): Likewise.
95137         * modules/regex (Makefile.am): Likewise.
95138         * modules/rename-dest-slash (Makefile.am): Likewise.
95139         * modules/rename (Makefile.am): Likewise.
95140         * modules/rijndael (Makefile.am): Likewise.
95141         * modules/rmdir (Makefile.am): Likewise.
95142         * modules/rpmatch (Makefile.am): Likewise.
95143         * modules/safe-read (Makefile.am): Likewise.
95144         * modules/safe-write (Makefile.am): Likewise.
95145         * modules/same-inode (Makefile.am): Likewise.
95146         * modules/same (Makefile.am): Likewise.
95147         * modules/save-cwd (Makefile.am): Likewise.
95148         * modules/savedir (Makefile.am): Likewise.
95149         * modules/setenv (Makefile.am): Likewise.
95150         * modules/settime (Makefile.am): Likewise.
95151         * modules/sha1 (Makefile.am): Likewise.
95152         * modules/sig2str (Makefile.am): Likewise.
95153         * modules/snprintf (Makefile.am): Likewise.
95154         * modules/stat-macros (Makefile.am): Likewise.
95155         * modules/stat-time (Makefile.am): Likewise.
95156         * modules/stdbool (Makefile.am): Likewise.
95157         * modules/stdint (Makefile.am): Likewise.
95158         * modules/stdlib-safer (Makefile.am): Likewise.
95159         * modules/stpcpy (Makefile.am): Likewise.
95160         * modules/stpncpy (Makefile.am): Likewise.
95161         * modules/strcase (Makefile.am): Likewise.
95162         * modules/strcasestr (Makefile.am): Likewise.
95163         * modules/strchrnul (Makefile.am): Likewise.
95164         * modules/strcspn (Makefile.am): Likewise.
95165         * modules/strdup (Makefile.am): Likewise.
95166         * modules/strerror (Makefile.am): Likewise.
95167         * modules/strftime (Makefile.am): Likewise.
95168         * modules/strndup (Makefile.am): Likewise.
95169         * modules/strnlen (Makefile.am): Likewise.
95170         * modules/strpbrk (Makefile.am): Likewise.
95171         * modules/strsep (Makefile.am): Likewise.
95172         * modules/strstr (Makefile.am): Likewise.
95173         * modules/strtod (Makefile.am): Likewise.
95174         * modules/strtoimax (Makefile.am): Likewise.
95175         * modules/strtok_r (Makefile.am): Likewise.
95176         * modules/strtol (Makefile.am): Likewise.
95177         * modules/strtoll (Makefile.am): Likewise.
95178         * modules/strtoul (Makefile.am): Likewise.
95179         * modules/strtoull (Makefile.am): Likewise.
95180         * modules/strtoumax (Makefile.am): Likewise.
95181         * modules/strverscmp (Makefile.am): Likewise.
95182         * modules/sys_socket (Makefile.am): Likewise.
95183         * modules/sys_stat (Makefile.am): Likewise.
95184         * modules/sysexits (Makefile.am): Likewise.
95185         * modules/time_r (Makefile.am): Likewise.
95186         * modules/timegm (Makefile.am): Likewise.
95187         * modules/timespec (Makefile.am): Likewise.
95188         * modules/tmpfile-safer (Makefile.am): Likewise.
95189         * modules/trim (Makefile.am): Likewise.
95190         * modules/unistd-safer (Makefile.am): Likewise.
95191         * modules/unlinkdir (Makefile.am): Likewise.
95192         * modules/unlocked-io (Makefile.am): Likewise.
95193         * modules/userspec (Makefile.am): Likewise.
95194         * modules/utime (Makefile.am): Likewise.
95195         * modules/utimecmp (Makefile.am): Likewise.
95196         * modules/utimens (Makefile.am): Likewise.
95197         * modules/vasnprintf (Makefile.am): Likewise.
95198         * modules/vasprintf (Makefile.am): Likewise.
95199         * modules/vsnprintf (Makefile.am): Likewise.
95200         * modules/xalloc (Makefile.am): Likewise.
95201         * modules/xgetcwd (Makefile.am): Likewise.
95202         * modules/xnanosleep (Makefile.am): Likewise.
95203         * modules/xreadlink (Makefile.am): Likewise.
95204         * modules/xstrtod (Makefile.am): Likewise.
95205         * modules/xstrtol (Makefile.am): Likewise.
95206         * modules/xstrtold (Makefile.am): Likewise.
95207         * modules/yesno (Makefile.am): Likewise.
95208         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
95210 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
95212         * modules/error (Makefile.am): Distribute files through
95213         EXTRA_DIST, not lib_SOURCES.
95215 2006-10-12  Eric Blake  <ebb9@byu.net>
95217         * modules/error (Makefile.am): Distribute files in /lib.
95218         * modules/obstack (Makefile.am): Likewise.
95220 2006-10-12  Bruno Haible  <bruno@clisp.org>
95222         * modules/acl (Makefile.am): Distribute all files in lib/ through
95223         EXTRA_DIST.
95224         * modules/arcfour (Makefile.am): Likewise.
95225         * modules/arctwo (Makefile.am): Likewise.
95226         * modules/argmatch (Makefile.am): Likewise.
95227         * modules/argz (Makefile.am): Likewise.
95228         * modules/atexit (Makefile.am): Likewise.
95229         * modules/backupfile (Makefile.am): Likewise.
95230         * modules/c-strtod (Makefile.am): Likewise.
95231         * modules/c-strtold (Makefile.am): Likewise.
95232         * modules/calloc (Makefile.am): Likewise.
95233         * modules/canon-host (Makefile.am): Likewise.
95234         * modules/canonicalize (Makefile.am): Likewise.
95235         * modules/chdir-long (Makefile.am): Likewise.
95236         * modules/chdir-safer (Makefile.am): Likewise.
95237         * modules/check-version (Makefile.am): Likewise.
95238         * modules/chown (Makefile.am): Likewise.
95239         * modules/cloexec (Makefile.am): Likewise.
95240         * modules/close-stream (Makefile.am): Likewise.
95241         * modules/closeout (Makefile.am): Likewise.
95242         * modules/crc (Makefile.am): Likewise.
95243         * modules/cycle-check (Makefile.am): Likewise.
95244         * modules/des (Makefile.am): Likewise.
95245         * modules/dirfd (Makefile.am): Likewise.
95246         * modules/dirname (Makefile.am): Likewise.
95247         * modules/dup2 (Makefile.am): Likewise.
95248         * modules/euidaccess (Makefile.am): Likewise.
95249         * modules/exclude (Makefile.am): Likewise.
95250         * modules/exitfail (Makefile.am): Likewise.
95251         * modules/fcntl-safer (Makefile.am): Likewise.
95252         * modules/file-type (Makefile.am): Likewise.
95253         * modules/fileblocks (Makefile.am): Likewise.
95254         * modules/filemode (Makefile.am): Likewise.
95255         * modules/filenamecat (Makefile.am): Likewise.
95256         * modules/fnmatch (Makefile.am): Likewise.
95257         * modules/fopen-safer (Makefile.am): Likewise.
95258         * modules/fpending (Makefile.am): Likewise.
95259         * modules/fprintftime (Makefile.am): Likewise.
95260         * modules/free (Makefile.am): Likewise.
95261         * modules/fsusage (Makefile.am): Likewise.
95262         * modules/ftruncate (Makefile.am): Likewise.
95263         * modules/fts (Makefile.am): Likewise.
95264         * modules/gc (Makefile.am): Likewise.
95265         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
95266         * modules/getaddrinfo (Makefile.am): Likewise.
95267         * modules/getcwd (Makefile.am): Likewise.
95268         * modules/getdelim (Makefile.am): Likewise.
95269         * modules/getdomainname (Makefile.am): Likewise.
95270         * modules/getgroups (Makefile.am): Likewise.
95271         * modules/gethostname (Makefile.am): Likewise.
95272         * modules/gethrxtime (Makefile.am): Likewise.
95273         * modules/getline (Makefile.am): Likewise.
95274         * modules/getloadavg (Makefile.am): Likewise.
95275         * modules/getlogin_r (Makefile.am): Likewise.
95276         * modules/getopt (Makefile.am): Likewise.
95277         * modules/getpass (Makefile.am): Likewise.
95278         * modules/getpass-gnu (Makefile.am): Likewise.
95279         * modules/getsubopt (Makefile.am): Likewise.
95280         * modules/gettime (Makefile.am): Likewise.
95281         * modules/gettimeofday (Makefile.am): Likewise.
95282         * modules/getugroups (Makefile.am): Likewise.
95283         * modules/getusershell (Makefile.am): Likewise.
95284         * modules/glob (Makefile.am): Likewise.
95285         * modules/group-member (Makefile.am): Likewise.
95286         * modules/hard-locale (Makefile.am): Likewise.
95287         * modules/hash (Makefile.am): Likewise.
95288         * modules/hmac-md5 (Makefile.am): Likewise.
95289         * modules/hmac-sha1 (Makefile.am): Likewise.
95290         * modules/human (Makefile.am): Likewise.
95291         * modules/idcache (Makefile.am): Likewise.
95292         * modules/imaxabs (Makefile.am): Likewise.
95293         * modules/imaxdiv (Makefile.am): Likewise.
95294         * modules/inet_ntop (Makefile.am): Likewise.
95295         * modules/inet_pton (Makefile.am): Likewise.
95296         * modules/inttostr (Makefile.am): Likewise.
95297         * modules/isapipe (Makefile.am): Likewise.
95298         * modules/lchown (Makefile.am): Likewise.
95299         * modules/long-options (Makefile.am): Likewise.
95300         * modules/lstat (Makefile.am): Likewise.
95301         * modules/malloc (Makefile.am): Likewise.
95302         * modules/mathl (Makefile.am): Likewise.
95303         * modules/mbchar (Makefile.am): Likewise.
95304         * modules/md2 (Makefile.am): Likewise.
95305         * modules/md4 (Makefile.am): Likewise.
95306         * modules/md5 (Makefile.am): Likewise.
95307         * modules/memcasecmp (Makefile.am): Likewise.
95308         * modules/memchr (Makefile.am): Likewise.
95309         * modules/memcmp (Makefile.am): Likewise.
95310         * modules/memcoll (Makefile.am): Likewise.
95311         * modules/memcpy (Makefile.am): Likewise.
95312         * modules/memmem (Makefile.am): Likewise.
95313         * modules/memmove (Makefile.am): Likewise.
95314         * modules/mempcpy (Makefile.am): Likewise.
95315         * modules/memrchr (Makefile.am): Likewise.
95316         * modules/memset (Makefile.am): Likewise.
95317         * modules/memxor (Makefile.am): Likewise.
95318         * modules/mkancesdirs (Makefile.am): Likewise.
95319         * modules/mkdir (Makefile.am): Likewise.
95320         * modules/mkdir-p (Makefile.am): Likewise.
95321         * modules/mkdtemp (Makefile.am): Likewise.
95322         * modules/mkstemp (Makefile.am): Likewise.
95323         * modules/mktime (Makefile.am): Likewise.
95324         * modules/modechange (Makefile.am): Likewise.
95325         * modules/mountlist (Makefile.am): Likewise.
95326         * modules/nanosleep (Makefile.am): Likewise.
95327         * modules/openat (Makefile.am): Likewise.
95328         * modules/pagealign_alloc (Makefile.am): Likewise.
95329         * modules/physmem (Makefile.am): Likewise.
95330         * modules/poll (Makefile.am): Likewise.
95331         * modules/posixtm (Makefile.am): Likewise.
95332         * modules/posixver (Makefile.am): Likewise.
95333         * modules/putenv (Makefile.am): Likewise.
95334         * modules/quote (Makefile.am): Likewise.
95335         * modules/quotearg (Makefile.am): Likewise.
95336         * modules/raise (Makefile.am): Likewise.
95337         * modules/read-file (Makefile.am): Likewise.
95338         * modules/readline (Makefile.am): Likewise.
95339         * modules/readlink (Makefile.am): Likewise.
95340         * modules/readtokens (Makefile.am): Likewise.
95341         * modules/readutmp (Makefile.am): Likewise.
95342         * modules/realloc (Makefile.am): Likewise.
95343         * modules/regex (Makefile.am): Likewise.
95344         * modules/rename (Makefile.am): Likewise.
95345         * modules/rename-dest-slash (Makefile.am): Likewise.
95346         * modules/rijndael (Makefile.am): Likewise.
95347         * modules/rmdir (Makefile.am): Likewise.
95348         * modules/rpmatch (Makefile.am): Likewise.
95349         * modules/safe-read (Makefile.am): Likewise.
95350         * modules/safe-write (Makefile.am): Likewise.
95351         * modules/same (Makefile.am): Likewise.
95352         * modules/save-cwd (Makefile.am): Likewise.
95353         * modules/savedir (Makefile.am): Likewise.
95354         * modules/setenv (Makefile.am): Likewise.
95355         * modules/settime (Makefile.am): Likewise.
95356         * modules/sha1 (Makefile.am): Likewise.
95357         * modules/sig2str (Makefile.am): Likewise.
95358         * modules/snprintf (Makefile.am): Likewise.
95359         * modules/stdlib-safer (Makefile.am): Likewise.
95360         * modules/stpcpy (Makefile.am): Likewise.
95361         * modules/stpncpy (Makefile.am): Likewise.
95362         * modules/strcase (Makefile.am): Likewise.
95363         * modules/strcasestr (Makefile.am): Likewise.
95364         * modules/strchrnul (Makefile.am): Likewise.
95365         * modules/strcspn (Makefile.am): Likewise.
95366         * modules/strdup (Makefile.am): Likewise.
95367         * modules/strerror (Makefile.am): Likewise.
95368         * modules/strftime (Makefile.am): Likewise.
95369         * modules/strndup (Makefile.am): Likewise.
95370         * modules/strnlen (Makefile.am): Likewise.
95371         * modules/strpbrk (Makefile.am): Likewise.
95372         * modules/strsep (Makefile.am): Likewise.
95373         * modules/strstr (Makefile.am): Likewise.
95374         * modules/strtod (Makefile.am): Likewise.
95375         * modules/strtoimax (Makefile.am): Likewise.
95376         * modules/strtok_r (Makefile.am): Likewise.
95377         * modules/strtol (Makefile.am): Likewise.
95378         * modules/strtoll (Makefile.am): Likewise.
95379         * modules/strtoul (Makefile.am): Likewise.
95380         * modules/strtoull (Makefile.am): Likewise.
95381         * modules/strtoumax (Makefile.am): Likewise.
95382         * modules/strverscmp (Makefile.am): Likewise.
95383         * modules/time_r (Makefile.am): Likewise.
95384         * modules/timegm (Makefile.am): Likewise.
95385         * modules/tmpfile-safer (Makefile.am): Likewise.
95386         * modules/unistd-safer (Makefile.am): Likewise.
95387         * modules/unlinkdir (Makefile.am): Likewise.
95388         * modules/userspec (Makefile.am): Likewise.
95389         * modules/utime (Makefile.am): Likewise.
95390         * modules/utimecmp (Makefile.am): Likewise.
95391         * modules/utimens (Makefile.am): Likewise.
95392         * modules/vasnprintf (Makefile.am): Likewise.
95393         * modules/vasprintf (Makefile.am): Likewise.
95394         * modules/vsnprintf (Makefile.am): Likewise.
95395         * modules/xalloc (Makefile.am): Likewise.
95396         * modules/xgetcwd (Makefile.am): Likewise.
95397         * modules/xnanosleep (Makefile.am): Likewise.
95398         * modules/xreadlink (Makefile.am): Likewise.
95399         * modules/xstrtod (Makefile.am): Likewise.
95400         * modules/xstrtol (Makefile.am): Likewise.
95401         * modules/xstrtold (Makefile.am): Likewise.
95402         * modules/yesno (Makefile.am): Likewise.
95404 2006-10-12  Jim Meyering  <jim@meyering.net>
95406         * m4/getloadavg.m4: Revert the change below.
95408         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
95409         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
95410         fail with a symlink, which is what coreutils' ./bootstrap now
95411         creates by default.
95413 2006-10-12  Bruno Haible  <bruno@clisp.org>
95415         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
95416         mingw.
95417         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
95418         MSVC and mingw explicitly.
95420 2006-10-11  Simon Josefsson  <jas@extundo.com>
95421             Bruno Haible  <bruno@clisp.org>
95423         Add support for multiple gnulib-tool invocations in the scope of a
95424         single configure.ac file.
95425         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
95426         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
95427         with the same contents as the _LIBADD variable.
95428         (func_emit_initmacro_start, func_emit_initmacro_end,
95429         func_emit_initmacro_done): New functions.
95430         (func_import, func_create_testdir): Invoke them. Allow the identifiers
95431         gl_LIBOBJS and gl_LTLIBOBJS.
95433 2006-10-11  Bruno Haible  <bruno@clisp.org>
95435         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
95436         (func_create_testdir): Don't create po/Makefile.am, don't invoke
95437         autoreconf. Instead, invoke autopoint explicitly but move back the
95438         *.m4 files from gnulib.
95440 2006-10-11  Bruno Haible  <bruno@clisp.org>
95442         * gnulib-tool (func_usage): Make module names after --create-testdir
95443         optional.
95444         (func_create_testdir): If no module was specified, use nearly all
95445         modules.
95447 2006-10-12  Jim Meyering  <jim@meyering.net>
95449         Big performance improvement for fts-based tools that use FTS_NOSTAT.
95450         Avoid spurious inode-mismatch problems on non-POSIX file systems.
95451         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
95452         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
95453         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
95454         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
95455         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
95456         (fts_set_stat_required): New function.
95457         (fts_open): Defer the calls to fts_stat, if possible or requested.
95458         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
95459         into fts_stat itself.
95460         (fts_read): Perform any required (deferred) fts_stat call.
95461         (fts_build): Likewise, for the directory we're about to open and read.
95462         In the readdir loop, carefully decide whether each entry will require
95463         an eventual call to fts_stat, using dirent.d_type info if available.
95464         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
95465         a command line argument into this function.  Update all callers.
95466         Map a return value of FTS_DOT to FTS_D for a command line argument.
95467         * modules/fts (Depends-on): Add d-type.  Alphabetize.
95468         Thanks to Miklos Szeredi for his tenacity and for the initial
95469         bug report about "find" failing on a FUSE-based file system.
95471         * lib/fts.c (fts_open): Use consistent indentation.
95473 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
95475         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
95476         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
95477         reported by Jim Meyering.  All uses of cache variables renamed
95478         to match Autoconf's.
95479         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
95480         the other one.
95482         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
95483         Fix misspelling in diagnostic.
95485 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
95487         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
95488         defined.  Problem reported by Matthew Woehlke.
95490         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
95491         Add support for Tandem NonStop R series.
95492         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
95493         Use new macro.
95495         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
95496         (has_trailing_slash): Omit size arg; all callers changed.
95497         Omit 'inline', since it doesn't help performance and we'd
95498         need to configure it.
95499         Don't count //, ///, etc. as having a trailing slash.
95500         As a side effect, this removes a C99ism reported by Matthew Woehlke.
95501         (rpl_rename_dest_slash): On failure, use rename's errno rather
95502         than (in some cases) an incorrect or junk errno.
95503         Simplify code by removing need to compute length; this does
95504         cause it to make two passes instead of one over the file name,
95505         but it's worth it.
95507         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
95508         change, since Autoconf's version may no longer be appropriate now
95509         that we are using CVS Autoconf's version.  Add support for Tandem.
95511 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
95512             Bruno Haible  <bruno@clisp.org>
95514         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
95515         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
95516         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
95517         gl_AC_TYPE_LONG_LONG.
95519         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
95520         instead of HAVE_LONG_LONG.
95521         * lib/printf-args.c (printf_fetchargs): Likewise.
95522         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
95523         * lib/vasnprintf.c (VASNPRINTF): Likewise.
95524         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
95525         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
95526         gl_AC_TYPE_LONG_LONG.
95528 2006-10-11  Bruno Haible  <bruno@clisp.org>
95530         * m4/longlong.m4: Add comments.
95531         * m4/ulonglong.m4: Likewise.
95533 2006-10-10  Bruno Haible  <bruno@clisp.org>
95535         Make it possible to #define stpcpy, strdup to aliases.
95536         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
95537         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
95539 2006-10-10  Bruno Haible  <bruno@clisp.org>
95541         Make it possible to #define gcd to an alias.
95542         * lib/gcd.c: Include config.h.
95544 2006-10-10  Bruno Haible  <bruno@clisp.org>
95546         Make it possible to #define c_isascii to an alias.
95547         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
95548         defined. Undefine the macros before defining them, to avoid gcc
95549         warnings.
95550         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
95551         define NO_C_CTYPE_MACROS early.
95553 2006-10-10  Bruno Haible  <bruno@clisp.org>
95555         Make it possible to #define set_program_name to an alias.
95556         * lib/progname.c: Don't undefine set_program_name; instead, undefine
95557         ENABLE_RELOCATABLE early.
95559 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
95561         Port to Tandem NSK OSS, which has 64-bit signed int but at most
95562         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
95563         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
95564         More generally, don't assume that 64-bit signed int is available
95565         if unsigned int is, and vice versa.
95566         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
95567         unsigned symbols, not on their signed counterparts.
95568         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
95569         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
95570         (UINT64_C, UINTMAX_C):
95571         Likewise.
95572         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
95573         unsigned counterparts.
95574         (Have_long_long, Unsigned): New macros.
95575         (Int): Renamed from INT.
95576         (strtoimax): Use the new macros.
95577         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
95578         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
95579         * modules/inttypes (inttypes.h): Substitute
95580         HAVE_UNSIGNED_LONG_LONG_INT.
95581         * modules/stdint (stdint.h): Likewise.
95582         (Files): Add m4/ulonglong.m4.
95584 2006-10-10  Bruno Haible  <bruno@clisp.org>
95586         Fix a gcc -Wshadow warning.
95587         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
95588         to 'bucket'.
95589         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
95590         gl_linked_indexof_from_to): Likewise.
95591         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
95592         Likewise.
95593         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
95594         Likewise.
95595         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
95596         Reported by Eric Blake.
95598 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
95600         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
95601         for NetBSD.  Problem reported by Bruno Haible.
95603 2006-10-09  Jim Meyering  <jim@meyering.net>
95605         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
95606         Patch from Bruno Haible.
95608 2006-10-09  Jim Meyering  <jim@meyering.net>
95610         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
95611         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
95612         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
95614 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
95616         Don't include <config.h> twice; this doesn't work in some cases,
95617         e.g., when config.h has "#define intmax_t long long int" and
95618         we include <config.h>, <inttypes.h>, <config.h> in that order.
95619         Problem reported by Matthew Woehlke in:
95620         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
95621         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
95622         * lib/fts-cycle.c: Don't include config.h.
95623         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
95624         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
95625         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
95626         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
95627         inttypes.h.
95628         * lib/xstrtoumax.c: Likewise.
95629         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
95630         __strtol and the like, so that this module is more like its siblings.
95631         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
95632         Remove; no longer needed now that we assume gnulib inttypes.h.
95634 2006-10-08  Bruno Haible  <bruno@clisp.org>
95636         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
95637         option.
95639 2006-10-07  Jim Meyering  <jim@meyering.net>
95641         * modules/inttypes (inttypes.h): Revert what seems to have been
95642         an inadvertent part of today's change: use "|", not "/" in the
95643         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
95645 2006-10-07  Bruno Haible  <bruno@clisp.org>
95647         * modules/sublist: New file.
95649 2006-10-07  Bruno Haible  <bruno@clisp.org>
95651         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
95652         * modules/argz (argz.h): Likewise.
95653         * modules/arpa_inet (arpa/inet.h): Likewise.
95654         * modules/byteswap (byteswap.h): Likewise.
95655         * modules/configmake (configmake.h): Likewise.
95656         * modules/fcntl (fcntl.h): Likewise.
95657         * modules/fnmatch (fnmatch.h): Likewise.
95658         * modules/getopt (getopt.h): Likewise.
95659         * modules/glob (glob.h): Likewise.
95660         * modules/inttypes (inttypes.h): Likewise.
95661         * modules/netinet_in (netinet/in.h): Likewise.
95662         * modules/poll (poll.h): Likewise.
95663         * modules/stdbool (stdbool.h): Likewise.
95664         * modules/stdint (stdint.h): Likewise.
95665         * modules/sys_select (sys/select.h): Likewise.
95666         * modules/sys_socket (sys/socket.h): Likewise.
95667         * modules/sys_stat (sys/stat.h): Likewise.
95668         * modules/sysexits (sysexits.h): Likewise.
95669         * modules/unistd (unistd.h): Likewise.
95670         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
95671         Add a "DO NOT EDIT" comment to the generated file.
95672         (func_import): Likewise for gnulib-comp.m4.
95674 2006-10-07  Bruno Haible  <bruno@clisp.org>
95676         * lib/gl_sublist.h: New file.
95677         * lib/gl_sublist.c: New file.
95679 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
95681         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
95682         name (relative to the original working directory) and the file
95683         name component (relative to the temporary working directory).  All
95684         callers changed.
95685         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
95686         * lib/mkdir-p.c (make_dir_parents): Likewise.
95687         * lib/mkdir-p.h (make_dir_parents): Likewise.
95689 2006-10-06  Eric Blake  <ebb9@byu.net>
95691         Define several macros for use by the clean-temp module.
95692         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
95693         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
95694         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
95696         * lib/clean-temp.h (close_stream_temp): New declaration.
95697         * lib/clean-temp.c (includes): Pull in headers according to what
95698         other modules are in use.
95699         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
95701 2006-10-06  Bruno Haible  <bruno@clisp.org>
95703         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
95704         instead of fopen, fwriteerror.
95706 2006-10-06  Bruno Haible  <bruno@clisp.org>
95708         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
95709         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
95710         int.
95711         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
95712         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
95713         Return an error indicator.
95714         Suggested by Eric Blake.
95716 2006-10-06  Bruno Haible  <bruno@clisp.org>
95718         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
95719         Reported by Eric Blake.
95721 2006-10-06  Bruno Haible  <bruno@clisp.org>
95723         * modules/closeout (Description): Mention stderr too.
95725 2006-10-06  Bruno Haible  <bruno@clisp.org>
95726         and Paul Eggert  <eggert@cs.ucla.edu>
95728         * lib/closeout.c (close_stdout): Also close stderr.
95729         * lib/closeout.h: Update comment.
95731 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
95733         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
95734         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
95735         * lib/dirchownmod.c: Include lchown.h.
95736         * lib/lchown.c: Don't include files that lchown.h now includes.
95737         Don't declare chown, since lchown.h now does that.
95738         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
95739         (lchown): Define to rpl_chown if lchown is declared but
95740         does not exist.  Declare using a prototype if lchown is not
95741         declared.  Add a copyright notice.
95742         * lib/mkstemp.h: Include <unistd.h>.
95743         * lib/openat.c: Include lchown.h.
95745         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
95746         we now test for that separately.
95747         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
95748         rather than O_NOFOLLOW, when testing whether it's possible to
95749         avoid a race condition reliably.
95750         * lib/savewd.c (savewd_chdir): Likewise.
95752         Remove macros that are no longer needed now that stdint.h is
95753         reliable.
95754         * lib/fsusage.c (UINTMAX_MAX): Remove.
95755         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
95756         * lib/utimecmp.c (SIZE_MAX): Remove.
95758         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
95760         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
95761         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
95762         O_NOATIME works.
95764 2006-10-05  Bruno Haible  <bruno@clisp.org>
95766         * lib/gl_list.h (gl_sortedlist_search_from_to,
95767         gl_sortedlist_indexof_from_to): New declarations.
95768         (gl_list_implementation): New fields sortedlist_search_from_to,
95769         sortedlist_indexof_from_to.
95770         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
95771         inline functions.
95772         * lib/gl_list.c (gl_sortedlist_search_from_to,
95773         gl_sortedlist_indexof_from_to): New functions.
95774         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
95775         function.
95776         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
95777         (gl_array_sortedlist_search_from_to): New function.
95778         (gl_array_list_implementation): Update.
95779         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
95780         function.
95781         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
95782         (gl_carray_sortedlist_search_from_to): New function.
95783         (gl_carray_list_implementation): Update.
95784         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
95785         gl_linked_sortedlist_indexof_from_to): New functions.
95786         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
95787         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
95788         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
95789         gl_tree_sortedlist_indexof_from_to): New functions.
95790         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
95791         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
95792         Update.
95793         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
95794         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
95795         Update.
95797 2006-10-05  Bruno Haible  <bruno@clisp.org>
95799         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
95800         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
95801         (struct gl_list_implementation): Add fields search_from_to,
95802         indexof_from_to. Remove fields search, indexof.
95803         (gl_list_search): Use the search_from_to method.
95804         (gl_list_search_from, gl_list_search_from_to): New functions.
95805         (gl_list_indexof): Use the indexof_from_to method.
95806         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
95807         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
95808         (gl_list_search_from, gl_list_search_from_to): New functions.
95809         (gl_list_indexof): Use the indexof_from_to method.
95810         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
95811         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
95812         gl_array_indexof. Add start_index, end_index arguments.
95813         (gl_array_search_from_to): Renamed from gl_array_search. Add
95814         start_index, end_index arguments.
95815         (gl_array_remove, gl_array_list_implementation): Update.
95816         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
95817         gl_carray_indexof. Add start_index, end_index arguments.
95818         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
95819         start_index, end_index arguments.
95820         (gl_carray_remove, gl_carray_list_implementation): Update.
95821         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
95822         gl_linked_search. Add start_index, end_index arguments.
95823         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
95824         start_index, end_index arguments.
95825         (gl_linked_remove): Update.
95826         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
95827         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
95828         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
95829         field to 'size_t'.
95830         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
95831         gl_tree_search. Add start_index, end_index arguments.
95832         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
95833         start_index, end_index arguments.
95834         (gl_tree_remove): Update.
95835         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
95836         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
95837         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
95838         function.
95839         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
95840         gl_tree_search. Add start_index, end_index arguments.
95841         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
95842         start_index, end_index arguments.
95843         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
95844         Update.
95845         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
95847 2006-10-05  Bruno Haible  <bruno@clisp.org>
95849         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
95851         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
95852         fwriteerror_temp): New declarations.
95853         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
95854         (descriptors): New variable.
95855         (cleanup): First, close the descriptors.
95856         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
95857         fclose_temp, fwriteerror_temp): New functions.
95859 2006-10-04  Jim Meyering  <jim@meyering.net>
95861         * lib/fts.c (fts_open): Tiny comment change.
95863 2006-10-04  Bruno Haible  <bruno@clisp.org>
95865         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
95866         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
95867         gl_LOCK_BODY.
95868         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
95869         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
95870         gl_LOCK_EARLY_BODY.
95871         (gl_LOCK): Require gl_LOCK_BODY.
95873 2006-10-04  Bruno Haible  <bruno@clisp.org>
95875         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
95876         (gl_oset_search_atleast): New declaration.
95877         (struct gl_oset_implementation): Add field 'search_atleast'.
95878         (gl_oset_search_atleast): New inline function.
95879         * lib/gl_oset.c (gl_oset_search_atleast): New function.
95880         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
95881         (gl_array_oset_implementation): Update.
95882         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
95883         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
95884         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
95886 2006-10-04  Bruno Haible  <bruno@clisp.org>
95888         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
95890 2006-10-03  Bruno Haible  <bruno@clisp.org>
95892         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
95893         from gl_avltreehash_list_implementation.
95895 2006-10-03  Bruno Haible  <bruno@clisp.org>
95897         * lib/gl_oset.c (gl_oset_add): Fix return type.
95899 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
95901         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
95903 2006-10-02  Eric Blake  <ebb9@byu.net>
95905         * modules/strnlen (Depends-on): Add extensions.
95907 2006-10-02  Eric Blake  <ebb9@byu.net>
95909         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
95910         definition in 2.60+.
95912 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
95914         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
95915         checks.
95917 2006-10-02  Bruno Haible  <bruno@clisp.org>
95919         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
95920         to the AUTOMAKE_OPTIONS.
95921         Reported by Jim Meyering.
95923 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
95925         Work around bug in Solaris 10 /proc file system:
95926         /proc/self/fd/NNN/.. isn't the parent directory of
95927         the directory whose file descriptor is NNN.  This needs to
95928         be worked around at run time, not compile time, since a
95929         program might be built on Solaris 8, where things work, and
95930         run on Solaris 10.
95931         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
95932         to use the following interface instead:
95933         (OPENAT_BUFFER_SIZE): New macro.
95934         (openat_proc_name): New function.
95935         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
95936         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
95937         Likewise.
95938         * lib/openat-proc.c: New file.
95939         * modules/openat (Files): Add lib/openat-proc.c.
95940         (Depends-on): Add same-inode, stdbool.
95941         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
95943 2006-09-29  Bruno Haible  <bruno@clisp.org>
95945         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
95946         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
95947         argument. Set stdout_closed before testing for ferror, not after.
95948         (fwriteerror, fwriteerror_no_ebadf): New functions.
95950 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95952         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
95954 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
95956         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
95957         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
95959 2006-09-28  Jim Meyering  <jim@meyering.net>
95961         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
95962         Include <unistd.h>.
95964 2006-09-28  Bruno Haible  <bruno@clisp.org>
95966         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
95967         * modules/linkedhash-list (Depends-on): Likewise.
95968         * modules/rbtreehash-list (Depends-on): Likewise.
95970 2006-09-28  Bruno Haible  <bruno@clisp.org>
95972         * lib/strndup.h: Simplify the redefinition of strndup.
95973         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
95974         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
95976 2006-09-28  Bruno Haible  <bruno@clisp.org>
95978         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
95979         * lib/gl_linkedhash_list.c: Likewise.
95980         * lib/gl_rbtreehash_list.c: Likewise.
95982 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
95984         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
95985         getaddrinfo.
95987         * lib/__fpending.h: Don't include <stdio_ext.h> unless
95988         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
95989         it causes <stdio_ext.h> to cause a compile-time error.
95990         Problem reported by Nelson H. F. Beebe.
95991         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
95992         of HAVE_DECL___PENDING.
95994         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
95995         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
95996         declaration.
95998 2006-09-27  Jim Meyering  <jim@meyering.net>
96000         This file could end up with a definition for a function
96001         named __strndup, rather than rpl_strndup on a system with
96002         incomplete weak_alias support.
96003         * lib/strndup.c (strndup): Rename from __strndup.
96004         Remove #defines that used to map __strndup to strndup.
96005         Don't use K&R prototypes.
96006         Remove LIBC-related code, since this file is not sync'd with glibc.
96007         * lib/strndup.h: Revamp, accordingly.
96008         * m4/strndup.m4: Modernize.
96010 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
96012         * modules/savewd (Depends-on): Add 'raise'.
96013         * lib/savewd.c: Include <signal.h>, for 'raise'.
96015 2006-09-26  Jim Meyering  <jim@meyering.net>
96017         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
96018         when we detect Darwin 8.7.0's acl_get_file bug.
96019         Rearrange to perform the new (below) run-test while $LIBS
96020         contains any acl-related library.  Set USE_ACL at the end.
96021         (gl_ACL_GET_FILE): New function.
96023 2006-09-26  Eric Blake  <ebb9@byu.net>
96025         * lib/verror.c: Include <config.h> unconditionally.
96027 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
96029         * modules/clock-time (Maintainer): Add self.
96030         * modules/getlogin_r (Depends-on): Add extensions.
96032 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96034         * modules/clock-time: New module.
96035         * modules/nanosleep (Depends-on): Add clock-time.
96036         * modules/gethrxtime (Depends-on): Likewise.
96037         * modules/gettime (Depends-on): Likewise.
96038         * modules/settime (Depends-on): Likewise.
96040         * modules/fts-lgpl: Depend on openat.
96041         * modules/mkancesdirs: Depend on savewd.
96042         * modules/mkdir-p: Likewise.
96044 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96046         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
96048         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
96049         `gl_have_arbitrary_file_name_length_limit' to
96050         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
96051         actually works between configure runs.
96053 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96054             Bruno Haible  <bruno@clisp.org>
96056         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
96058 2006-09-25  Jim Meyering  <jim@meyering.net>
96060         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
96061         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
96063 2006-09-25  Eric Blake  <ebb9@byu.net>
96065         * gnulib-tool (func_import, func_create_testdir): Fix typos in
96066         exec's in 2006-09-18 patch when shuffling fds.
96068 2006-09-25  Bruno Haible  <bruno@clisp.org>
96070         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
96071         Reported by Jim Meyering.
96073 2006-09-24  Jim Meyering  <jim@meyering.net>
96075         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
96076         compare a pointer against a literal "0".  That caused failures with
96077         at least HP-UX's hpcc.
96079 2006-09-22  Simon Josefsson  <jas@extundo.com>
96081         * modules/gc-sha1:
96082         * modules/gc-md4:
96083         * modules/gc-hmac-sha1:
96084         * modules/gc-hmac-md5:
96085         * modules/gc-des:
96086         * modules/gc-arcfour: Distribute more files.
96088 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96090         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
96091         (gl_linked_iterator_from_to): Initialize struct completely.
96092         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
96093         (gl_tree_iterator_from_to): Likewise
96094         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
96095         * lib/gl_array_list.c [lint] (gl_array_iterator)
96096         (gl_array_iterator_from_to): Likewise.
96097         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
96098         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
96099         (gl_carray_iterator_from_to): Likewise.
96101         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
96102         * lib/md4.c (md4_process_block): Remove unused variable.
96103         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
96104         parentheses for clarity.
96106 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96108         * modules/bison-i18n (Depends-on): Add gettext.
96110 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96112         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
96113         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
96114         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
96115         also add missing comma that caused broken test.
96116         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
96117         stdlib.h, for `abort'.
96118         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
96119         variables.
96120         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
96121         include unistd.h if present, for `rmdir'.
96122         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
96123         variables.
96124         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
96125         in the process include standard headers for prototypes.
96126         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
96127         gets declared on GNU/Linux.
96128         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
96129         unistd.h, for `rmdir'.
96130         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
96132         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
96133         always true.
96134         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
96136         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
96138 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96140         * gnulib-tool (func_version): Create output all at once.  This
96141         may help avoid triggering unnecessary SIGPIPEs, and at any
96142         rate it doesn't hurt.
96144 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96145             Bruno Haible  <bruno@clisp.org>
96147         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
96148         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
96149         * m4/signed.m4 (bh_C_SIGNED): Likewise.
96151         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
96152         (gl_FUNC_VASPRINTF): Invoke it.
96154 2006-09-22  Bruno Haible  <bruno@clisp.org>
96156         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
96157         getloadavg.c as first argument.
96159 2006-09-22  Bruno Haible  <bruno@clisp.org>
96161         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
96162         at the beginning of the gl_INIT macro.
96163         * modules/getloadavg (configure.ac): Pass $gl_source_base to
96164         gl_GETLOADAVG.
96166 2006-09-22  Bruno Haible  <bruno@clisp.org>
96168         * gnulib-tool (func_create_megatestdir): Don't include the config-h
96169         module.
96170         Suggested by Ralf Wildenhues.
96172 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
96174         Import this patch from libc:
96176         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
96178         * lib/regex_internal.c (re_string_reconstruct): Handle
96179         offset < pstr->valid_raw_len && pstr->offsets_needed case.
96180         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
96181         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
96182         re_string_context_at.
96184         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
96185         now requires it.
96186         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
96187         gl_REGEX now does it for us.
96188         (gl_REGEX): Add test taken from
96189         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
96191         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
96192         Check that large offsets work.  Modernize Autoconf usages.
96193         Prefer "yes" to mean a good thing rather than a bad.
96194         Don't put "#define mkstemp" in config.h, as this might interfere
96195         with standard system headers that "#define mkstemp mkstemp64".
96197         * modules/mkstemp (Depends-on): Add extensions, so that
96198         mkstemp is visible on some platforms.
96199         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
96200         (Include): Change to "mkstemp.h" from <stdlib.h>.
96201         (Files): Add mkstemp.h.
96203         * lib/mkstemp.h: New file, since some standard headers
96204         #define mkstemp.
96205         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
96206         Include "mkstemp.h".
96207         Make the _LIBC code resemble glibc original more,
96208         e.g., use K&R style.
96209         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
96210         (mkstemp): Remove, since mkstemp.h does this for us.
96211         * lib/stdlib--.h: Include mkstemp.h.
96213         Import this patch from libc:
96215         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
96217         * lib/tempname.c (__gen_tempname): Change attempts_min
96218         into a macro.  Use preprocessor to decide how to initialize
96219         attempts [Coverity CID 67].
96221 2006-09-20  Bruno Haible  <bruno@clisp.org>
96223         * lib/mkdtemp.c: Import from libc.
96224         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
96225                 * sysdeps/posix/tempname.c (__gen_tempname): Change
96226                 attempts_min into a macro.  Use preprocessor to decide how to
96227                 initialize attempts [Coverity CID 67].
96228         2001-11-27  Paul Eggert  <eggert@twinsun.com>
96229                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
96230                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
96232 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96234         * gnulib-tool (func_exit): New function, to allow to pass the
96235         exit status portably through the trap.  Use everywhere.
96236         (--help, --version): Signal a write error.
96237         (trap): catch SIGPIPE, for write errors.
96238         Exit at the end of the trap, with the correct exit status.
96240 2006-09-19  Karl Berry  <karl@gnu.org>
96242         * doc/gnulib.texi: note about the license texinfo files.
96244 2006-09-19  Eric Blake  <ebb9@byu.net>
96246         * gnulib-tool: Avoid space-tab.
96248 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
96250         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
96251         that prevented coreutils 6.1 from building.  Problem reported
96252         by Petter Reinholdtsen.
96254 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
96256         * gnulib-tool (avoidlist): Fix typo that broke options like
96257         --avoid=lock that are used by coreutils bootstrap.
96259 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
96261         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
96262         more systematically.
96264 2006-09-18  Jim Meyering  <jim@meyering.net>
96266         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
96268 2006-09-18  Bruno Haible  <bruno@clisp.org>
96270         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
96272 2006-09-18  Bruno Haible  <bruno@clisp.org>
96274         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
96275         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
96276         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
96277         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
96278         * m4/gettext.m4: Require autoconf >= 2.52.
96279         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
96280         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
96281         of gl_cv_header_inttypes_h.
96283 2006-09-18  Bruno Haible  <bruno@clisp.org>
96285         * lib/javaversion.c: Include configmake.h.
96287 2006-09-18  Bruno Haible  <bruno@clisp.org>
96289         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
96290         avoid that the while loops be executed in a subshell.
96292 2006-09-18  Bruno Haible  <bruno@clisp.org>
96294         * MODULES.html.sh (func_module): Break long lines.
96295         Suggested by Bruce Korb <bkorb@gnu.org>.
96297 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96299         Speed up by a factor of 1.12.
96300         * gnulib-tool (nl): New variable.
96301         (func_import): Rewrite include directive extraction to only read each
96302         directive once.
96304 2006-09-17  Bruno Haible  <bruno@clisp.org>
96306         * modules/javaversion (Makefile.am): Remove DEFS setting.
96307         (Depends-on): Add configmake, for PKGDATADIR definition.
96309 2006-09-17  Bruno Haible  <bruno@clisp.org>
96311         * gnulib-tool (func_create_testdir): Rewrite all files at once.
96313 2006-09-17  Bruno Haible  <bruno@clisp.org>
96315         * gnulib-tool (func_append): New function, stolen from libtool.m4.
96316         (func_modules_transitive_closure, func_modules_add_dummy,
96317         func_modules_to_filelist, func_import, func_create_testdir,
96318         func_create_megatestdir, ...): Use it wherever possible.
96319         Suggested by Ralf Wildenhues.
96321 2006-09-16  Karl Berry  <karl@gnu.org>
96323         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
96324         to avoid sectioning errors.
96325         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
96326         [ifinfo]: blank line after @center-ed titles.
96327         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
96328         Spell FSF address consistently with others.
96329         (These changes approved by rms.)
96331 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96333         Speed up by a factor of 1.61.
96334         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
96335         already checked module names again.
96337 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96339         Speed up by a factor of 1.13.
96340         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
96341         for new_files, and the input to func_add_or_update.
96343 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96345         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
96346         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
96348 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
96350         * modules/mkancesdirs (Depends-on): Add fcntl.
96351         * modules/savewd: New file.
96352         * MODULES.html.sh (File system functions): Add savewd.
96354         * modules/configmake (Makefile.am): Add support for the
96355         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
96357 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
96359         * m4/savewd.m4: New file.
96361 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
96363         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
96364         (dirchownmod): New arg FD.  All callers changed.
96365         Use FD rather than opening the directory ourself, as opening is
96366         now the caller's responsibility.
96367         * lib/dirchownmod.h: Likewise.
96368         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
96369         hosts that require <sys/types.h> before <sys/stat.h>.  Include
96370         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
96371         (test_dir): Remove.
96372         (mkancesdirs): Return length of prefix of FILE that has already
96373         been made, or -2 if there is a child doing the work.  Redo
96374         algorithm so that it is O(N) rather than O(N**2).  Optimize away
96375         ".", and treat ".." specially since it might stray back into
96376         already-created areas.  Use a subprocess if necessary.  New arg
96377         WD; all users changed.  MAKE_DIR function should now return 1
96378         if it creates a directory that is not readable.  Return -2 if
96379         a child process is spun off.
96380         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
96381         Adjust signature to match code.
96382         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
96383         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
96384         all users changed.
96385         * lib/savewd.c, lib/savewd.h: New files.
96387 2006-09-15  Jim Meyering  <jim@meyering.net>
96389         * modules/rename-dest-slash: New module.
96390         * MODULES.html.sh (posix_compat): Add it here.
96392         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
96394 2006-09-15  Jim Meyering  <jim@meyering.net>
96396         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
96397         file.
96399         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
96401 2006-09-15  Jim Meyering  <jim@meyering.net>
96403         * lib/rename-dest-slash.c (has_trailing_slash): Use
96404         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
96405         (rpl_rename_dest_slash): Perform the cheaper trailing slash
96406         test before testing whether SRC is a directory.
96407         Suggestions from Bruno Haible.
96409         Avoid a warning about an unused variable.
96410         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
96411         into the #ifdef block where it's used.
96413         * lib/rename-dest-slash.c: New file.
96415 2006-09-14  Bruno Haible  <bruno@clisp.org>
96417         * lib/allocsa.c: Include <config.h> unconditionally.
96418         * lib/asnprintf.c: Likewise.
96419         * lib/asprintf.c: Likewise.
96420         * lib/c-strcasecmp.c: Likewise.
96421         * lib/c-strcasestr.c: Likewise.
96422         * lib/c-strncasecmp.c: Likewise.
96423         * lib/c-strstr.c: Likewise.
96424         * lib/classpath.c: Likewise.
96425         * lib/clean-temp.c: Likewise.
96426         * lib/concatpath.c: Likewise.
96427         * lib/copy-file.c: Likewise.
96428         * lib/csharpcomp.c: Likewise.
96429         * lib/csharpexec.c: Likewise.
96430         * lib/execute.c: Likewise.
96431         * lib/fatal-signal.c: Likewise.
96432         * lib/findprog.c: Likewise.
96433         * lib/fwriteerror.c: Likewise.
96434         * lib/gl_array_list.c: Likewise.
96435         * lib/gl_array_oset.c: Likewise.
96436         * lib/gl_avltree_list.c: Likewise.
96437         * lib/gl_avltree_oset.c: Likewise.
96438         * lib/gl_avltreehash_list.c: Likewise.
96439         * lib/gl_carray_list.c: Likewise.
96440         * lib/gl_linked_list.c: Likewise.
96441         * lib/gl_linkedhash_list.c: Likewise.
96442         * lib/gl_list.c: Likewise.
96443         * lib/gl_oset.c: Likewise.
96444         * lib/gl_rbtree_list.c: Likewise.
96445         * lib/gl_rbtree_oset.c: Likewise.
96446         * lib/gl_rbtreehash_list.c: Likewise.
96447         * lib/imaxabs.c: Likewise.
96448         * lib/imaxdiv.c: Likewise.
96449         * lib/javacomp.c: Likewise.
96450         * lib/javaexec.c: Likewise.
96451         * lib/javaversion.c: Likewise.
96452         * lib/linebreak.c: Likewise.
96453         * lib/localcharset.c: Likewise.
96454         * lib/lock.c: Likewise.
96455         * lib/mbchar.c: Likewise.
96456         * lib/mbswidth.c: Likewise.
96457         * lib/mkdtemp.c: Likewise.
96458         * lib/pipe.c: Likewise.
96459         * lib/printf-args.c: Likewise.
96460         * lib/printf-parse.c: Likewise.
96461         * lib/progname.c: Likewise.
96462         * lib/progreloc.c: Likewise.
96463         * lib/readlink.c: Likewise.
96464         * lib/sh-quote.c: Likewise.
96465         * lib/stpcpy.c: Likewise.
96466         * lib/stpncpy.c: Likewise.
96467         * lib/strcasecmp.c: Likewise.
96468         * lib/strcasestr.c: Likewise.
96469         * lib/strcspn.c: Likewise.
96470         * lib/striconv.c: Likewise.
96471         * lib/strncasecmp.c: Likewise.
96472         * lib/strnlen1.c: Likewise.
96473         * lib/strstr.c: Likewise.
96474         * lib/strtok_r.c: Likewise.
96475         * lib/tls.c: Likewise.
96476         * lib/tmpdir.c: Likewise.
96477         * lib/unicodeio.c: Likewise.
96478         * lib/unsetenv.c: Likewise.
96479         * lib/vasnprintf.c: Likewise.
96480         * lib/vasprintf.c: Likewise.
96481         * lib/wait-process.c: Likewise.
96482         * lib/xallocsa.c: Likewise.
96483         * lib/xsetenv.c: Likewise.
96484         * lib/xstriconv.c: Likewise.
96486 2006-09-13  Simon Josefsson  <jas@extundo.com>
96488         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
96489         that internally, suggested by Ralf Wildenhues
96490         <Ralf.Wildenhues@gmx.de>.
96492 2006-09-13  Simon Josefsson  <jas@extundo.com>
96494         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
96495         @LIBOBJS@.
96496         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
96498 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
96500         * lib/_fpending.c: Include <config.h> unconditionally, since we no
96501         longer worry about uses that don't define HAVE_CONFIG_H.
96502         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
96503         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
96504         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
96505         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
96506         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
96507         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
96508         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
96509         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
96510         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
96511         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
96512         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
96513         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
96514         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
96515         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
96516         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
96517         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
96518         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
96519         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
96520         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
96521         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
96522         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
96523         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
96524         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
96525         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
96526         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
96527         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
96528         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
96529         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
96530         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
96531         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
96532         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
96533         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
96534         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
96535         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
96536         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
96537         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
96538         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
96539         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
96540         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
96541         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
96542         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
96543         Likewise.
96545 2006-09-13  Eric Blake  <ebb9@byu.net>
96547         * lib/getopt.c: Fix typo in last commit.
96549 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
96551         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
96552         dgettext.
96554 2006-09-12  Jim Meyering  <jim@meyering.net>
96556         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
96557         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
96558         Reported by Nelson H. F. Beebe.
96560 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
96562         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
96563         program_invocation_name and program_invocation_short_name are
96564         initialized.
96565         * lib/argp-namefrob.h: Move declarations of program_invocation_name
96566         and program_invocation_short_name to argp.h, so they are visible
96567         to user programs.
96568         * lib/argp.h: Likewise
96570 2006-09-10  Bruno Haible  <bruno@clisp.org>
96572         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
96573         m4/inttypes_h.m4, m4/uintmax_t.m4.
96575 2006-09-10  Bruno Haible  <bruno@clisp.org>
96577         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
96578         gl_AC_TYPE_UINTMAX_T.
96580 2006-09-10  Bruno Haible  <bruno@clisp.org>
96582         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
96584 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
96586         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
96587         convention.  Text proposed by Bruno Haible.
96588         (struct argp_option): Document the use of N_() wrappers.
96590         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
96591         '\v', and translate the two parts separately, instead of feeding
96592         the whole string to gettext.  This allows to exclude
96593         '\v' from the strings visible to the translator by writing doc
96594         strings as N_("..") "\v" N_("..").
96596 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
96598         * config/srclist.txt: Undo latest change; the bug was fixed.
96600 2006-09-09  Bruno Haible  <bruno@clisp.org>
96602         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
96603         assignments if building a library without libtool.
96604         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
96605         in func_emit_lib_Makefile_am.
96606         (func_import): When building a static library libfoo.a, arrange to
96607         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
96608         (func_create_testdir): Likewise.
96609         * modules/gc (configure.ac, Makefile.am): If building statically,
96610         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
96611         * modules/iconvme (configure.ac, Makefile.am): Likewise.
96612         * modules/striconv (configure.ac, Makefile.am): Likewise.
96613         Based on a suggestion by Ralf Wildenhues.
96615 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96617         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
96618         Check for unistd.h too, since Autoconf doesn't assume POSIX.
96619         Also:
96621         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96622         Add year_2050_test to catch glibc bug 2821
96623         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
96625         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
96626         Prefer #ifdef to #if.
96628         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
96629         Return from 'main' instead of calling 'exit'.
96631 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96633         * lib/mktime.c (guess_time_tm): Fix bug where mktime
96634         returned the maximum time_t value rather than (time_t) -1.
96635         Problem originally reported by William Bardwell
96636         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
96638         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
96639         Moved to here ...
96640         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
96641         ... from here.
96643 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96645         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
96646         2821 is fixed.
96648 2006-09-08  Jim Meyering  <jim@meyering.net>
96650         Don't make generated files read-only.  That would bother too many
96651         people.  However, do retain the ability to work when targets are
96652         read-only: remove the destination and temporary files before writing
96653         them (when generated via sed or echo), or by using the -f option for
96654         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
96655         * modules/alloca-opt, modules/argz, modules/arpa_inet:
96656         * modules/byteswap, modules/configmake, modules/fcntl:
96657         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
96658         * modules/localcharset, modules/netinet_in, modules/poll:
96659         * modules/stdbool, modules/stdint, modules/sys_select:
96660         * modules/sys_socket, modules/sys_stat, modules/sysexits:
96662 2006-09-08  Jim Meyering  <jim@meyering.net>
96664         Avoid new build failure on FreeBSD 6.0.
96665         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
96666         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
96667         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
96669 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96671         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
96673 2006-09-07  Jim Meyering  <jim@meyering.net>
96675         Fix global typo in last change: use chmod u-w, not chmod u-x.
96676         Spotted by Paul Eggert and Bruce Korb.
96677         * modules/alloca-opt, modules/argz, modules/arpa_inet:
96678         * modules/byteswap, modules/configmake, modules/fcntl:
96679         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
96680         * modules/localcharset, modules/netinet_in, modules/poll:
96681         * modules/stdbool, modules/stdint, modules/sys_select:
96682         * modules/sys_socket, modules/sys_stat, modules/sysexits:
96684 2006-09-06  Jim Meyering  <jim@meyering.net>
96686         Make generated files be read-only.
96687         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
96688         Ensure that each generated file is now read-only.
96689         * modules/argz: Likewise.
96690         * modules/arpa_inet: Likewise.
96691         * modules/byteswap: Likewise.
96692         * modules/configmake: Likewise.
96693         * modules/fcntl: Likewise.
96694         * modules/fnmatch: Likewise.
96695         * modules/getopt: Likewise.
96696         * modules/glob: Likewise.
96697         * modules/inttypes: Likewise.
96698         * modules/netinet_in: Likewise.
96699         * modules/poll: Likewise.
96700         * modules/stdbool: Likewise.
96701         * modules/stdint: Likewise.
96702         * modules/sys_select: Likewise.
96703         * modules/sys_socket: Likewise.
96704         * modules/sys_stat: Likewise.
96705         * modules/sysexits: Likewise.
96706         * modules/localcharset: Same as above, but continue using temporary
96707         file named "t-$@" (why different?) rather than the "$@-t" used
96708         everywhere else.
96710         * modules/sysexits (Makefile.am): Replace literal occurrences
96711         of "sysexit.h" more readable, and more consistent, "$@".
96713 2006-09-06  Bruno Haible  <bruno@clisp.org>
96715         * modules/striconv: New file.
96716         * modules/xstriconv: New file.
96717         * MODULES.html.sh (Internationalization functions): Add striconv,
96718         xstriconv.
96720 2006-09-06  Bruno Haible  <bruno@clisp.org>
96722         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
96723         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
96724         not using libtool correctly.
96726 2006-09-06  Bruno Haible  <bruno@clisp.org>
96728         * lib/striconv.h: New file.
96729         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
96730         iconvstring.c.
96731         * lib/xstriconv.h: New file.
96732         * lib/xstriconv.c: New file.
96734 2006-09-06  Bruno Haible  <bruno@clisp.org>
96736         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
96737         lib_..._LDFLAGS.
96739 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96741         * lib/argz_.h: Sync from Libtool.
96743         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
96744                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
96746         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
96748 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
96750         * modules/trim: New file.
96752 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
96754         * lib/trim.h: New file.
96755         * lib/trim.c: New file.
96757 2006-09-05  Bruno Haible  <bruno@clisp.org>
96759         * MODULES.html.sh (String handling): Add trim.
96761 2006-09-04  Karl Berry  <karl@gnu.org>
96763         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
96764         until next release.
96766 2006-09-03  Bruno Haible  <bruno@clisp.org>
96768         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
96769         correctly.
96771 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96773         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
96774         not gl_GETLOADAVG.  Omit unneeded semicolons.
96775         Problems reported by Ralf Wildenhues in
96776         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
96777         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
96778         at the end, which is the usual gnulib style.
96780         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
96781         of doing all the work ourselves.
96782         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
96783         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
96785 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96787         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
96788         Problem reported by Ralf Wildenhues in
96789         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
96791         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
96792         HAVE_STRUCT_STATFS_F_FSTYPENAME.
96794 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96796         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
96797         yesterday's patch by changing test -n to test -z.
96799 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96801         * modules/getloadavg (Files): Add m4/getloadavg.m4.
96802         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
96803         the former is now obsolescent.
96805         * modules/chdir-long (Depends-on): Add fcntl.
96807 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96809         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
96810         obsolescent, and programs should use gnulib instead.
96811         * m4/getloadavg.m4: New file, with contents taken from Autoconf
96812         but with prefixes changed.
96814 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96816         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
96817         or stdbool.h, because they might not exist while configuring.
96819         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
96820         Don't include unistd.h or limits.h; not needed, since chdir-long.h
96821         does that for us.
96822         (O_DIRECTORY): Remove.
96824 2006-08-31  Eric Blake  <ebb9@byu.net>
96826         * gnulib-tool: Don't let emacs change spaces to TAB.
96828 2006-08-31  Bruno Haible  <bruno@clisp.org>
96830         * gnulib-tool: When calling func_import more than once, do it in a
96831         subshell.
96832         Reported by Eric Blake <ebb9@byu.net>.
96834 2006-08-31  Bruno Haible  <bruno@clisp.org>
96836         * gnulib-tool (nl): Remove variable.
96837         (sed_transform_lib_file): Use more robust test for config-h module.
96838         (func_import): Fix typo in 2006-08-25 patch.
96840 2006-08-31  Bruno Haible  <bruno@clisp.org>
96842         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
96843         specified, augment Makefile.am variables instead of assigning them.
96845 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96847         Work around a bug in both the Linux and SunOS 64-bit kernels:
96848         nanosleep mishandles sleeps for longer than 2**31 seconds.
96849         Problem reported by Frank v Waveren in
96850         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
96851         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
96852         Check for nanosleep bug.
96853         (LIB_NANOSLEEP): Append clock_gettime library if needed.
96855 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96857         Work around a bug in both the Linux and SunOS 64-bit kernels:
96858         nanosleep mishandles sleeps for longer than 2**31 seconds.
96859         Problem reported by Frank v Waveren in
96860         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
96861         * lib/nanosleep.c (BILLION): New constant.
96862         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
96863         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
96864         implementation.
96866 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96868         * modules/nanosleep (Depends-on): Add gettime.
96870 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96871         and Simon Josefsson  <jas@extundo.com>
96872         and Oskar Liljeblad  <oskar@osk.mine.nu>
96874         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
96875         * gnulib-tool (func_import): New license type 'unmodifiable license
96876         text'.
96877         * modules/fdl: Use it.  Longer description.
96878         * module/gpl, module/lgpl: New files.
96880 2006-08-30  Jim Meyering  <jim@meyering.net>
96882         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
96883         shadowing the parameter.
96885 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96887         Sync from Libtool:
96889         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96891         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
96892         sharing with gnulib.  Report by Eric Blake.
96894 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96896         * modules/isapipe: New file.
96897         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
96899 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96901         * modules/configmake (Makefile.am): Add a comment, and omit
96902         the CONFIGMAKE_ prefix from generated macro names.  Suggested
96903         by Bruno Haible.
96905 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96907         * m4/isapipe.m4: New file.
96909 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96911         * lib/isapipe.c, lib/isapipe.h: New files.
96913 2006-08-29  Jim Meyering  <jim@meyering.net>
96915         * modules/configmake (Makefile.am): Make configmake.h depend on
96916         Makefile.  Otherwise, a stale configmake.h could hang around.
96918 2006-08-29  Eric Blake  <ebb9@byu.net>
96920         * lib/error.c (error_at_line, print_errno_message): Match libc, after
96921         resolution of upstream bug 3044.
96923 2006-08-29  Bruno Haible  <bruno@clisp.org>
96925         * modules/localcharset (Depends-on): Add configmake.
96926         (Makefile.am): Remove setting of LIBDIR through DEFS.
96928 2006-08-29  Bruno Haible  <bruno@clisp.org>
96930         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
96931         defined.
96933 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96935         * modules/fcntl: New file.
96936         * modules/chdir-safer (Depends-on): Add fcntl.
96937         * modules/fts: Likewise.
96938         * modules/mkdir-p: Likewise.
96940         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
96941         This undoes the most recent change, since we're now addressing the
96942         problem in a different way.
96944         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
96945         into output, since the output might be called Makefile.am even
96946         if $makefile_name is something different.
96947         (func_import): Use $makefile_am rather than
96948         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
96949         empty.
96951         * modules/inttypes (Files): Add m4/inttypes-h.m4.
96953 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96955         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
96956         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
96957         recent change to stdint.m4, since we're now addressing the problem in a
96958         different way.
96960 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96962         * m4/fcntl_h.m4: New file.
96964 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96966         * lib/fcntl_.h: New file.
96967         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
96968         the fcntl module.
96969         * lib/dirchownmod.c: Likewise.
96970         * lib/fts.c: Likewise.
96972         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
96973         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
96974         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
96975         just before including <inttypes.h>, to avoid circular inclusion.
96977 2006-08-28  Jim Meyering  <jim@meyering.net>
96979         * doc/visibility.texi: Actually read and correct the grammar of the
96980         sentence affected by yesterday's change.
96982 2006-08-28  Eric Blake  <ebb9@byu.net>
96984         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
96985         needs wrapper.
96987 2006-08-28  Eric Blake  <ebb9@byu.net>
96989         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
96991 2006-08-28  Eric Blake  <ebb9@byu.net>
96993         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
96995 2006-08-28  Bruno Haible  <bruno@clisp.org>
96997         * modules/c-strstr: New file, from GNU gettext.
96998         * MODULES.html.sh (String handling): Add c-strstr.
97000 2006-08-28  Bruno Haible  <bruno@clisp.org>
97002         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
97003         macros.
97004         Reported by Eric Blake.
97006 2006-08-28  Bruno Haible  <bruno@clisp.org>
97008         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
97009         (VASNPRINTF): Return a string of length > INT_MAX without failing.
97010         * lib/vasprintf.c: Include errno.h, limits.h.
97011         (EOVERFLOW): New fallback definition.
97012         (vasprintf): Test here whether the string length is > INT_MAX.
97013         * lib/vsnprintf.c: Include errno.h, limits.h.
97014         (EOVERFLOW): New fallback definition.
97015         (vsnprintf): Fix bug when generated string was too long for the buffer.
97016         Test here whether the string length is > INT_MAX.
97018 2006-08-28  Bruno Haible  <bruno@clisp.org>
97020         * lib/inttypes_.h (SCNX*): Remove definitions.
97021         Reported by Eric Blake.
97023 2006-08-28  Bruno Haible  <bruno@clisp.org>
97025         * lib/c-strstr.h: New file, from GNU gettext.
97026         * lib/c-strstr.c: New file, from GNU gettext.
97028 2006-08-28  Bruno Haible  <bruno@clisp.org>
97030         * gnulib-tool: Reorder some statements.
97032 2006-08-28  Bruno Haible  <bruno@clisp.org>
97034         * gnulib-tool: New option --makefile-name.
97035         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
97036         $makefile_name.
97037         (func_import): Write $makefile_name to the cache file, and read it from
97038         there unless explicitly specified. Use $makefile_name as file name
97039         instead of Makefile.am. Adjust the recommendations accordingly.
97041 2006-08-28  Bruno Haible  <bruno@clisp.org>
97043         * gnulib-tool (func_verify_module): Check against misapplying patch.
97045 2006-08-28  Bruno Haible  <bruno@clisp.org>
97047         * gnulib-tool (func_relativize, func_relconcat): New functions.
97048         Give an error if --local-dir is given with --update.
97049         Remove trailing slashes from $local_gnulib_dir.
97050         (func_import): Store the relativized $local_gnulib_dir in
97051         gnulib-cache.m4, and read it from there if not specified explicitly.
97053 2006-08-28  Bruno Haible  <bruno@clisp.org>
97055         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
97056         is the current directory. Respect also $local_gnulib_dir.
97058 2006-08-28  Bruno Haible  <bruno@clisp.org>
97059             Simon Josefsson  <jas@extundo.com>
97061         BeOS portability.
97062         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
97064 2006-08-27  Jim Meyering  <jim@meyering.net>
97066         * doc/visibility.texi: Remove duplicate word: "pointer".
97068 2006-08-26  Bruno Haible  <bruno@clisp.org>
97070         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
97071         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
97072         (Makefile.am): Create inttypes.h from inttypes_.h.
97073         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
97075         * modules/imaxabs: New file.
97077         * modules/imaxdiv: New file.
97079 2006-08-26  Bruno Haible  <bruno@clisp.org>
97081         * m4/inttypes.m4: New file.
97082         * m4/_inttypes_h.m4: Remove file.
97083         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
97084         PRI_MACROS_BROKEN.
97085         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
97087         * m4/imaxabs.m4: New file.
97089         * m4/imaxdiv.m4: New file.
97091 2006-08-26  Bruno Haible  <bruno@clisp.org>
97093         * lib/inttypes_.h: New file.
97094         * lib/inttypes.h: Remove file.
97095         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
97097         * lib/imaxabs.c: New file.
97099         * lib/imaxdiv.c: New file.
97101 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
97103         New config-h module, so that "make" output needn't be cluttered
97104         by -DHAVE_CONFIG_H.
97105         * MODULES.html.sh (Support for building libraries and executables):
97106         Add config-h.
97107         * modules/config-h: New file.
97108         * gnulib-tool (nl, sed_transform_lib_file): New vars.
97109         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
97110         the config-h module is used.
97112         New configmake module, so that "make" output needn't be cluttered
97113         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
97114         * MODULES.html.sh (Support for building libraries and executables):
97115         Add configmake.
97116         * modules/configmake: New file.
97118 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
97120         * m4/config-h.m4: New file.
97122 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
97124         * config/srclist.txt: Add elisp-comp.
97126 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
97128         * MODULES.html.sh (Support for building libraries and executables):
97129         Add elisp-comp.
97130         * build-aux/elisp-comp: New file.
97131         * modules/elisp-comp: New file.
97133 2006-08-24  Bruno Haible  <bruno@clisp.org>
97135         * gnulib-tool (func_create_testdir): Use non-default values of
97136         sourcebase and m4base.
97138 2006-08-24  Bruno Haible  <bruno@clisp.org>
97140         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
97141         HTML structure.
97143 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
97145         * modules/openat (Depends-on): Add lchown.
97147 2006-08-23  Bruno Haible  <bruno@clisp.org>
97149         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
97150         of gl_LOCK_EARLY instead of gl_LOCK.
97152 2006-08-23  Bruno Haible  <bruno@clisp.org>
97154         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
97155         on OSF/1 to no.
97156         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
97158 2006-08-23  Bruno Haible  <bruno@clisp.org>
97160         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
97161         as unusable.
97163         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
97164         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
97165         (gl_LOCK): New macro.
97167 2006-08-22  Simon Josefsson  <jas@extundo.com>
97169         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
97170         to md5 module.
97172 2006-08-22  Simon Josefsson  <jas@extundo.com>
97174         * MODULES.html.sh: Add "Support for maintaining and release
97175         projects".
97177         * build-aux/gnupload: New file, from coreutils.
97179 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
97181         Avoid the need for AC_LIBSOURCES in m4 macros.
97182         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
97183         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
97184         * modules/check-version (EXTRA_DIST): Add check-version.h.
97185         * modules/crc (EXTRA_DIST): Add crc.h.
97186         * modules/des (EXTRA_DIST): Add des.h.
97187         * modules/gc (EXTRA_DIST): Add gc.h.
97188         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
97189         * modules/getline (EXTRA_DIST): Add getline.h.
97190         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
97191         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
97192         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
97193         * modules/md2 (EXTRA_DIST): Add md2.h.
97194         * modules/md4 (EXTRA_DIST): Add md4.h.
97195         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
97196         * modules/read-file (EXTRA_DIST): Add read-file.h.
97197         * modules/readline (EXTRA_DIST): Add readline.h.
97198         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
97199         rijndael-api-fst.h.
97201 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
97203         * m4/rijndael.m4 (gl_ARCFOUR):
97204         * m4/arctwo.m4 (gl_ARCTWO):
97205         * m4/check-version.m4 (gl_CHECK_VERSION):
97206         * m4/crc.m4 (gl_CRC):
97207         * m4/des.m4 (gl_DES):
97208         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
97209         * m4/gc.m4 (gl_GC):
97210         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
97211         * m4/getline.m4 (gl_FUNC_GETLINE):
97212         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
97213         * m4/hmac-md5.m4 (gl_HMAC_MD5):
97214         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
97215         * m4/md2.m4 (gl_MD2):
97216         * m4/md4.m4 (gl_MD4):
97217         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
97218         * m4/read-file.m4 (gl_FUNC_READ_FILE):
97219         * m4/readline.m4 (gl_FUNC_READLINE):
97220         * m4/rijndael.m4 (gl_RIJNDAEL):
97221         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
97222         to get the necessary .h files and whatnot.
97224 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
97226         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
97227         gnulib rather than the other way around.
97228         * config/srclistvars.sh (COREUTILS): Remove.
97230 2006-08-22  Jim Meyering  <jim@meyering.net>
97232         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
97234         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
97236 2006-08-22  Eric Blake  <ebb9@byu.net>
97238         * modules/regexprops-generic: New file.
97239         * MODULES.html.sh (Support for building documentation): List it.
97241 2006-08-22  Eric Blake  <ebb9@byu.net>
97243         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
97244         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
97245         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
97246         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
97248 2006-08-22  Bruno Haible  <bruno@clisp.org>
97250         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
97251         and lib_LTLIBRARIES like the other lib_* variables.
97253 2006-08-22  Bruno Haible  <bruno@clisp.org>
97255         * build-aux/x-to-1.in: New file, from GNU gettext.
97257 2006-08-22  Bruno Haible  <bruno@clisp.org>
97259         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
97260         <utmpx.h> exists.
97262 2006-08-22  Bruno Haible  <bruno@clisp.org>
97264         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
97265         <utmpx.h> exists.
97267 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
97269         BeOS portability.
97270         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
97271         exist.
97272         Problem reported by Bruno Haible.
97274 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
97276         Avoid the need for AC_LIBSOURCES in m4 macros.
97277         * modules/acl (EXTRA_DIST): Add acl.h.
97278         * modules/argmatch (Files): Add m4/argmatch.m4.
97279         (configure.ac): Add gl_ARGMATCH.
97280         (EXTRA_DIST): Renamed from lib_SOURCES, for
97281         consistency with the other modules.  Remove argmatch.c.
97282         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
97283         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
97284         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
97285         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
97286         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
97287         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
97288         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
97289         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
97290         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
97291         * modules/closeout (EXTRA_DIST): Add closeout.h.
97292         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
97293         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
97294         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
97295         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
97296         dirname.h; remove basename.c and stripslash.c.
97297         * modules/exclude (EXTRA_DIST): Add exclude.h.
97298         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
97299         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
97300         * modules/file-type (EXTRA_DIST): Add file-type.h.
97301         * modules/filemode (EXTRA_DIST): Add filemode.h.
97302         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
97303         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
97304         * modules/fpending (EXTRA_DIST): Add __fpending.h.
97305         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
97306         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
97307         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
97308         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
97309         * modules/getdate (EXTRA_DIST): Add getdate.c.
97310         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
97311         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
97312         * modules/getpass (EXTRA_DIST): Add getpass.h.
97313         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
97314         * modules/group-member (EXTRA_DIST): Add group-member.h.
97315         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
97316         * modules/hash (EXTRA_DIST): Add hash.h.
97317         * modules/human (EXTRA_DIST): Add human.h.
97318         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
97319         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
97320         * modules/lchown (EXTRA_DIST): Add lchown.h.
97321         * modules/long-options (EXTRA_DIST): Add long-options.h.
97322         * modules/lstat (EXTRA_DIST): Add lstat.h.
97323         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
97324         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
97325         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
97326         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
97327         * modules/memxor (EXTRA_DIST): Add memxor.h.
97328         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
97329         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
97330         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
97331         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
97332         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
97333         * modules/physmem (EXTRA_DIST): Add physmem.h.
97334         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
97335         * modules/posixver (EXTRA_DIST): Add posixver.h.
97336         * modules/quote (EXTRA_DIST): Add quote.h.
97337         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
97338         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
97339         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
97340         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
97341         regex_internal.h regexec.c.
97342         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
97343         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
97344         * modules/same (EXTRA_DIST): Add same.h.
97345         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
97346         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
97347         * modules/savedir (EXTRA_DIST): Add savedir.h.
97348         * modules/sha1 (EXTRA_DIST): Add sha1.h.
97349         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
97350         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
97351         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
97352         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
97353         * modules/strdup (EXTRA_DIST): Add strdup.h.
97354         * modules/strftime (EXTRA_DIST): Add strftime.h.
97355         * modules/strndup (EXTRA_DIST): Add strndup.h.
97356         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
97357         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
97358         * modules/time_r (EXTRA_DIST): Add time_r.h.
97359         * modules/timespec (EXTRA_DIST): Add timespec.h.
97360         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
97361         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
97362         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
97363         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
97364         * modules/userspec (EXTRA_DIST): Add userspec.h.
97365         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
97366         * modules/utimens (EXTRA_DIST): Add utimens.h.
97367         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
97368         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
97369         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
97370         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
97371         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
97372         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
97373         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
97374         * modules/yesno (EXTRA_DIST): Add yesno.h.
97376 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
97378         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
97380         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
97381         * m4/dev-ino.m4, same-inode.m4: Remove.
97383         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
97384         * m4/acl.m4 (AC_FUNC_ACL):
97385         * m4/backupfile.m4 (gl_BACKUPFILE):
97386         * m4/c-strtod.m4 (gl_C99_STRTOLD):
97387         * m4/canon-host.m4 (gl_CANON_HOST):
97388         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
97389         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
97390         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
97391         * m4/cloexec.m4 (gl_CLOEXEC):
97392         * m4/close-stream.m4 (gl_CLOSE_STREAM):
97393         * m4/closeout.m4 (gl_CLOSEOUT):
97394         * m4/dirfd.m4 (gl_FUNC_DIRFD):
97395         * m4/dirname.m4 (gl_DIRNAME):
97396         * m4/exclude.m4 (gl_EXCLUDE):
97397         * m4/exitfail.m4 (gl_EXITFAIL):
97398         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
97399         * m4/file-type.m4 (gl_FILE_TYPE):
97400         * m4/filemode.m4 (gl_FILEMODE):
97401         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
97402         * m4/fpending.m4 (gl_FUNC_FPENDING):
97403         * m4/fprintftime.m4 (gl_FPRINTFTIME):
97404         * m4/fts.m4 (gl_FUNC_FTS):
97405         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
97406         * m4/getdate.m4 (gl_GETDATE):
97407         * m4/gethrxtime.m4 (gl_GETHRXTIME):
97408         * m4/getpagesize.m4 (gl_GETPAGESIZE):
97409         * m4/getpass.m4 (gl_FUNC_GETPASS):
97410         * m4/gettime.m4 (gl_GETTIME):
97411         * m4/getugroups.m4 (gl_GETUGROUPS):
97412         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
97413         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
97414         * m4/hard-locale.m4 (gl_HARD_LOCALE):
97415         * m4/hash.m4 (gl_HASH):
97416         * m4/idcache.m4 (gl_IDCACHE):
97417         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
97418         * m4/lchown.m4 (gl_FUNC_LCHOWN):
97419         * m4/long-options.m4 (gl_LONG_OPTIONS):
97420         * m4/lstat.m4 (gl_FUNC_LSTAT):
97421         * m4/md5.m4 (gl_MD5):
97422         * m4/memcasecmp.m4 (gl_MEMCASECMP):
97423         * m4/memcoll.m4 (gl_MEMCOLL):
97424         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
97425         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
97426         * m4/memxor.m4 (gl_MEMXOR):
97427         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
97428         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
97429         * m4/modechange.m4 (gl_MODECHANGE):
97430         * m4/mountlist.m4 (gl_MOUNTLIST):
97431         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
97432         * m4/openat.m4 (gl_FUNC_OPENAT):
97433         * m4/pathmax.m4 (gl_PATHMAX):
97434         * m4/physmem.m4 (gl_PHYSMEM):
97435         * m4/posixtm.m4 (gl_POSIXTM):
97436         * m4/posixver.m4 (gl_POSIXVER):
97437         * m4/quote.m4 (gl_QUOTE):
97438         * m4/quotearg.m4 (gl_QUOTEARG):
97439         * m4/readtokens.m4 (gl_READTOKENS):
97440         * m4/readutmp.m4 (gl_READUTMP):
97441         * m4/regex.m4 (gl_REGEX):
97442         * m4/safe-read.m4 (gl_SAFE_READ):
97443         * m4/safe-write.m4 (gl_SAFE_WRITE):
97444         * m4/same.m4 (gl_SAME):
97445         * m4/save-cwd.m4 (gl_SAVE_CWD):
97446         * m4/savedir.m4 (gl_SAVEDIR):
97447         * m4/settime.m4 (gl_SETTIME):
97448         * m4/sha1.m4 (gl_SHA1):
97449         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
97450         * m4/stat-macros.m4 (gl_STAT_MACROS):
97451         * m4/stat-time.m4 (gl_STAT_TIME):
97452         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
97453         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
97454         * m4/strdup.m4 (gl_FUNC_STRDUP):
97455         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
97456         * m4/strndup.m4 (gl_FUNC_STRNDUP):
97457         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
97458         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
97459         * m4/time_r.m4 (gl_TIME_R):
97460         * m4/timespec.m4 (gl_TIMESPEC):
97461         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
97462         * m4/unlinkdir.m4 (gl_UNLINKDIR):
97463         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
97464         * m4/userspec.m4 (gl_USERSPEC):
97465         * m4/utimecmp.m4 (gl_UTIMECMP):
97466         * m4/utimens.m4 (gl_UTIMENS):
97467         * m4/xalloc.m4 (gl_XALLOC):
97468         * m4/xgetcwd.m4 (gl_XGETCWD):
97469         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
97470         * m4/xreadlink.m4 (gl_XREADLINK):
97471         * m4/xstrtod.m4 (gl_XSTRTOD):
97472         * m4/yesno.m4 (gl_YESNO):
97473         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
97474         to get the necessary .h files and whatnot.
97476 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
97477             Bruno Haible  <bruno@clisp.org>
97479         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
97480         /bin/sh understanding of '!' conditional negation.
97482 2006-08-21  Jim Meyering  <jim@meyering.net>
97484         * modules/openat (Depends-on): Really alphabetize.
97486         * modules/acl (Depends-on): Add error and quote.
97488         * check-module (find_included_lib_files): Add at-func.c to the
97489         ok-to-include-more-than-once white list.
97491         * modules/openat (Depends-on): Add lstat.  Alphabetize.
97493 2006-08-21  Bruno Haible  <bruno@clisp.org>
97495         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97496         Emit a pkgdata_DATA variable only if some snippets add contents to it.
97497         Reported by Martin Lambers <marlam@marlam.de>.
97499 2006-08-21  Bruno Haible  <bruno@clisp.org>
97501         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
97502         specify an installation location, don't emit a noinst_LIBRARIES or
97503         noinst_LTLIBRARIES assignment.
97505 2006-08-21  Bruno Haible  <bruno@clisp.org>
97507         BeOS portability.
97508         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
97509         BeOS has mbrtowc() but no <wctype.h>.
97511 2006-08-21  Bruno Haible  <bruno@clisp.org>
97513         BeOS portability.
97514         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
97515         exist.
97517 2006-08-21  Bruno Haible  <bruno@clisp.org>
97519         BeOS portability.
97520         * lib/mbchar.h: Include <wctype.h> only if it exists.
97522 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97524         Remove files that are no longer needed by their respective modules.
97525         * m4/obstack.m4: Remove.
97526         * m4/strerror_r.m4: Remove.
97527         * m4/uint32_t.m4: Remove.
97528         * m4/uintptr_t.m4: Remove.
97529         * m4/ullong_max.m4: Remove.
97530         * m4/xstrtoimax.m4: Remove.
97531         * m4/xstrtoumax.m4: Remove.
97533         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
97534         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
97535         dependencies now capture this.
97537         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
97538         Do not use AC_LIBSOURCES, since gnulib modules now do this.
97539         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
97540         * m4/human.m4 (gl_HUMAN): Likewise.
97541         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
97542         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
97544         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
97546         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
97547         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
97548         stdint.
97549         * m4/human.m4 (gl_HUMAN): Likewise.
97550         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
97551         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
97552         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
97553         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
97554         * m4/xstrtol (gl_XSTRTOL): Likewise.
97556         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
97557         AC_TYPE_LONG_LONG_INT.
97558         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
97559         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
97560         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
97561         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
97563         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
97564         on stdbool.
97566         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
97567         (gl_PREREQ_XSTRTOUL): Remove.
97569         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
97571         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
97572         mode.
97574 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97576         Add and change modules to make it easier for coreutils to use
97577         gnulib-tool.
97578         * modules/backupfile (Files): Remove m4/d-ino.m4.
97579         (Depends-on): Add d-ino.
97580         * modules/cycle-check (Depends-on): Add stdint.
97581         (lib_SOURCES): Add cycle-check.h.
97582         * modules/d-ino: New module.
97583         * modules/d-type: New module.
97584         * modules/error (Files): Remove m4/strerror_r.m4.
97585         * modules/filemode (Files): Add m4/st_dm_mode.m4.
97586         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
97587         m4/inttypes_h.m4, m4/uintmax_t.m4.
97588         (Depends-on): Add stdint.
97589         (lib_SOURCES): Add fsusage.h.
97590         * modules/getcwd (Files): Remove d-ino.m4.
97591         (Depends-on): Add d-ino.
97592         * modules/getndelim2 (Depends-on): Add stdint.
97593         * modules/glob (Files): Remove m4/d-type.m4.
97594         (Depends-on): Add d-type.
97595         * modules/host-os: New module.
97596         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
97597         m4/inttypes_h.m4, m4/uintmax_t.m4.
97598         * Depends-on: Add stdint.
97599         (lib_SOURCES): Add human.h.
97600         * modules/inttostr (Files): Remove m4/intmax_t.m4,
97601         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
97602         m4/uintmax_t.m4, m4/ulonglong.m4.
97603         (Depends-on): Add stdint.
97604         (EXTRA_DIST): Add inttostr.h.
97605         * modules/lchmod: New module.
97606         * modules/link-follow: New module.
97607         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
97608         (Depends-on): Add lchmod.
97609         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
97610         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
97611         (Depends-on): Add stdint.
97612         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
97613         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
97614         (Depends-on): Add stdint.
97615         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
97616         * modules/perl: New module.
97617         * modules/regex (Depends-on): Add stdint.
97618         * modules/rmdir-errno: New module.
97619         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
97620         m4/intmax_t.m4.
97621         (Depends-on): Add stdint.
97622         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
97623         m4/uintmax_t.m4.
97624         (Depends-on): Add stdint.
97625         * modules/unlink-busy: New module.
97626         * modules/utimecmp (Depends-on): Add stdint.
97627         * modules/uptime: New module.
97628         * modules/winsz-ioctl: New module.
97629         * modules/winsz-termios: New module.
97630         * modules/xnanosleep (Depends-on): Add nanosleep.
97631         * modules/ullong_max: Remove.
97632         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
97633         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
97634         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
97635         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
97636         (Depends-on): Add inttypes.
97637         (lib_SOURCES): Add xstrtol.h.
97638         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
97639         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
97640         * MODULES.html.sh: Move 'assert' into the assert section.
97641         Move 'dummy' into the linking section.
97642         Remove ullong_max.
97643         Add section for compatibility checks for POSIX:2001 functions,
97644         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
97645         winsz-ioctl, and winsz-termios into it.
97646         Add lchmod.
97647         Add top-level Misc section and put host-os, perl, and uptime
97648         into it.
97650 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97652         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
97653         now assume the stdint module.  Do not include inttypes.h.
97654         * lib/fsusage.h: Likewise.
97655         * lib/getndelim2.c: Likewise.
97656         * lib/human.h: Likewise.
97657         * lib/inttostr.h: Likewise.
97658         * lib/obstack.c: Likewise.
97659         * lib/regex_internal.h: Likewise.
97660         * lib/tempname.c: Likewise.
97661         * lib/utimecmp.c: Likewise.
97662         * lib/xstrtol.h: Likewise.
97664         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
97666         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
97667         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
97668         * lib/xtime.h: Likewise.
97670 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97672         * modules/openat (Files): Add lib/fchmodat.c.
97673         Fixes problem reported by Jay Youngman.
97675 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97677         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
97678         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
97680 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
97681             Bruno Haible  <bruno@clisp.org>
97683         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
97684         and is a script that invokes bison. Tighten the code. Add comments.
97686 2006-08-18  Jim Meyering  <jim@meyering.net>
97688         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
97689         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
97690         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
97691         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
97693 2006-08-18  Bruno Haible  <bruno@clisp.org>
97695         * modules/bison-i18n: New file.
97696         * MODULES.html.sh (Internationalization functions): Add it.
97698 2006-08-18  Bruno Haible  <bruno@clisp.org>
97700         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
97701         sys/statvfs.h. When getmntinfo was found, check its declaration and
97702         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
97704 2006-08-18  Bruno Haible  <bruno@clisp.org>
97706         * m4/bison-i18n.m4: New file, from bison.
97708 2006-08-18  Bruno Haible  <bruno@clisp.org>
97710         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
97711         (ME_DUMMY): Treat "kernfs" as a dummy.
97712         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
97714 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
97716         Update from coreutils.
97718         2006-08-15  Jim Meyering  <jim@meyering.net>
97720         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
97722         2006-01-17  Jim Meyering  <jim@meyering.net>
97724         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
97726         2006-01-11  Jim Meyering  <jim@meyering.net>
97728         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
97729         Check for the lchmod function.
97731 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
97733         Update from coreutils.
97735         * lib/__fpending.h: Add copyright notice.
97736         * lib/fprintftime.h: Likewise.
97737         * lib/savedir.c: Use (C) in copyright notice.
97738         * lib/savedir.h: Likewise.
97740         2006-08-15  Jim Meyering  <jim@meyering.net>
97742         * lib/at-func.c: New file, with the logic of all emulated at-functions.
97743         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
97744         in support of the EXPECTED_ERRNO macro.
97745         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
97746         definitions.  Instead, define the appropriate symbols and include
97747         "at-func.c".
97748         * lib/mkdirat.c (mkdirat): Likewise.
97749         * lib/fchmodat.c (fchmodat): Likewise.
97750         (ENOSYS): Remove definition.
97751         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
97752         it.  Don't include "unistd--.h" -- it wasn't ever used.
97754         2006-01-17  Jim Meyering  <jim@meyering.net>
97756         Rewrite fts.c not to change the current working directory,
97757         by using openat, fstatat, fdopendir, etc..
97759         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
97760         (HAVE_OPENAT_SUPPORT): Define.
97761         [_LIBC] (fchdir): Don't undef or define; no longer used.
97762         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
97763         Now, this `function' always succeeds, and consumes its file descriptor
97764         parameter -- so callers must not close such FDs.  Update callers.
97765         (diropen_fd, opendirat, cwd_advance_fd): New functions.
97766         (diropen): Add parameter, SP.  Adjust all callers.
97767         Implement using diropen_fd, rather than open.
97768         (fts_open): Initialize new member, fts_cwd_fd.
97769         Remove fts_rft-setting code.
97770         (fts_close): Close fts_cwd_fd, if necessary.
97771         (__opendir2): Define in terms of opendir or opendirat,
97772         depending on whether the FST_NOCHDIR flag is set.
97773         (fts_build): Since fts_safe_changedir consumes its FD, and since
97774         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
97775         and close the dup'd file descriptor upon failure.
97776         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
97777         (fts_safe_changedir): Tweak semantics to reflect that this function
97778         now calls cwd_advance_fd and hence consumes its FD argument.
97779         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
97780         [struct FTS] (fts_rft): Remove now-unused member.
97781         [struct FTS] (fts_cycle.state): Improve comment.
97783         * lib/openat.c (openat_needs_fchdir): New function.
97784         * lib/openat.h (openat_needs_fchdir): Declare it.
97786 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
97788         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
97789         Problem and fix reported by Pádraig Brady in
97790         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
97792 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97794         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
97796 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97798         * lib/memcoll.c (memcoll): Optimize for the common case where the
97799         arguments are bytewise equal.
97801 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97803         * doc/regexprops-generic.texi: Add a copyright notice.
97805 2006-08-15  Bruno Haible  <bruno@clisp.org>
97807         * modules/tmpdir (License): Change to LGPL.
97809 2006-08-15  Bruno Haible  <bruno@clisp.org>
97811         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
97812         module.
97814 2006-08-14  Simon Josefsson  <jas@extundo.com>
97816         * config/srclist.txt: Add gnupload.
97818 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97820         Change copyright notice from LGPL 2 to GPL 2, since that's the
97821         standard form used in the gnulib repository.
97822         * tests/test-lock.c: Likewise.
97823         * tests/test-stdint.c: Likewise.
97824         * tests/test-tls.c: Likewise.
97826         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
97827         prelude-manager.  User shorter URLs for GNU projects, without '?'.
97828         Add copyright notice.
97830         * check-module: Add copyright notice.  Output a copyright
97831         notice if "--version" is specified.
97832         * modules/COPYING: New file.
97833         * tests/test-getaddrinfo.c: Add copyright notice.
97834         * tests/test-verify.c: Likewise.
97836 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97838         Change copyright notice from LGPL 2 to GPL 2, since that's the
97839         standard form used in the gnulib repository.
97840         * lib/lock.c: LGPL -> GPL.
97841         * lib/lock.h: Likewise.
97842         * lib/strnlen1.c: Likewise.
97843         * lib/strnlen1.h: Likewise.
97844         * lib/tls.c: Likewise.
97845         * lib/tls.h: Likewise.
97846         * lib/tmpdir.c: Likewise.
97848         * lib/TODO: Remove; this belongs only in coreutils.
97850 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97852         Add copyright notices to long-enough files that lack them, since
97853         otherwise the files aren't clearly free.  Use the same notice that
97854         getdate.texi already uses.
97855         * doc/alloca-opt.texi: Add copyright notice.
97856         * doc/alloca.texi: Likewise.
97857         * doc/ctime.texi: Likewise.
97858         * doc/functions.texi: Likewise.
97859         * doc/gcd.texi: Likewise.
97860         * doc/gnulib-tool.texi: Likewise.
97861         * doc/inet_ntoa.texi: Likewise.
97862         * doc/visibility.texi: Likewise.
97864         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
97865         * doc/quote.texi: Add copyright notice.
97867         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
97868         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
97869         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
97870         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
97871         is now obsolete, and give a pointer to the Sun list.
97872         Add copyright notice.
97874 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97876         * config/srclistvars.sh: Add copyright notice.
97878 2006-08-14  Eric Blake  <ebb9@byu.net>
97880         Import the following change from libc:
97882         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
97884         Upstream bug 2997.
97885         * lib/misc/error.c: Add space between program name and message if file
97886         name is missing.
97888 2006-08-12  Karl Berry  <karl@gnu.org>
97890         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
97891         remove, these originate in gnulib now.
97893 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97895         * doc/Makefile (standards.info standards.html standards.dvi):
97896         Also depend on make-stds.texi.
97898 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
97900         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
97901         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
97903         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
97904         in wchar_t.  Problem reported by Eric Blake.
97906         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
97907         LEN is smaller than SIZE.  Suggested by Bruno Haible.
97908         Also, help the compiler to keep LEN in a register.
97910 2006-08-11  Eric Blake  <ebb9@byu.net>
97912         * users.txt: Sort.  Add tar.
97914 2006-08-11  Bruno Haible  <bruno@clisp.org>
97916         * users.txt: New file.
97918 2006-08-11  Bruno Haible  <bruno@clisp.org>
97920         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
97921         before <wchar.h>. Needed for OSF/1 and BSD/OS.
97923 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
97925         * modules/snprintf (Depends-on): Remove minmax.
97926         (Maintainer): Add self and Bruno.
97928 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
97930         * lib/.cppi-disable: Add snprintf.h, socket_.h.
97931         * lib/snprintf.c: Include <errno.h> and <limits.h>.
97932         (EOVERFLOW): Define if the system does not.
97933         Do not include "minmax.h"; it wasn't used.
97934         (snprintf): Don't assume size_t promotes to an unsigned type.
97935         Fix bug when generated string was too long for the buffer: the
97936         buffer's contents are supposed to be the initial prefix of the
97937         output.  Don't assume vasnprintf returns EOVERFLOW if the size
97938         exceeds INT_MAX; do the check ourselves.
97940         Import the following changes from libc:
97942         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
97944         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
97945         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
97946         set wc to the byte which couldn't be converted.
97947         (re_string_reconstruct): Don't clear valid_raw_len before calling
97948         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
97949         tip_context using re_string_context_at.
97951         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
97953         * lib/posix/regex.h: g++ still cannot handled [restrict].
97955         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
97957         * lib/posix/regex.h: Remove special handling for VMS.
97959 2006-08-10  Jim Meyering  <jim@meyering.net>
97961         * modules/same-inode: New module.
97962         * modules/dev-ino: New module.
97963         * modules/cycle-check: Depend on these modules, rather than simply
97964         including their .h files.
97965         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
97966         required via m4/cycle-check.m4.
97967         * modules/same: Depend on new same-inode module, rather than
97968         including same-inode.h.
97969         * modules/chdir-safer: New file.
97971         * modules/chown (Depends-on): Add stat-macros.
97973 2006-08-10  Jim Meyering  <jim@meyering.net>
97975         * m4/cycle-check.m4: New file.
97976         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
97977         * m4/dev-ino.m4, m4/same-inode.m4: New files.
97979 2006-08-10  Eric Blake  <ebb9@byu.net>
97981         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
97982         in from original proposal.
97984 2006-08-10  Eric Blake  <ebb9@byu.net>
97985         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
97987         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
97988         namespace.
97990 2006-08-10  Bruno Haible  <bruno@clisp.org>
97992         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
97993         as well.
97995 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
97997         Sync from coreutils.
97999         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
98001         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
98002         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
98004 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
98006         * modules/restrict: Remove; no longer needed now that we assume
98007         Autoconf 2.59 or later.
98008         * MODULES.html.sh: Remove 'restrict'.
98009         * modules/argp (Depends-on): Remove 'restrict'.
98010         * modules/base64 (Depends-on): Likewise.
98011         * modules/gc (Depends-on): Likewise.
98012         * modules/getaddrinfo (Depends-on): Likewise.
98013         * modules/glob (Depends-on): Likewise.
98014         * modules/inet_ntop (Depends-on): Likewise.
98015         * modules/inet_pton (Depends-on): Likewise.
98016         * modules/memxor (Depends-on): Likewise.
98017         * modules/regex (Depends-on): Likewise.
98018         * modules/strtok_r (Depends-on): Likewise.
98019         * modules/time_r (Depends-on): Likewise.
98021 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
98023         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
98024         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
98025         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
98026         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
98027         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
98028         * m4/memxor.m4 (gl_MEMXOR): Likewise.
98029         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
98030         gl_C_RESTRICT replaced by AC_C_RESTRICT.
98032         Merge from coreutils.
98033         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
98034         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
98035         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
98036         * m4/time_r.m4 (gl_TIME_R): Likewise.
98038 2006-08-09  Karl Berry  <karl@gnu.org>
98040         * config/srclist.txt: no more gettext-tools, per Bruno.
98042 2006-08-08  Eric Blake  <ebb9@byu.net>
98044         * modules/verror: New module.
98045         * MODULES.html.sh: Document it.
98047 2006-08-08  Eric Blake  <ebb9@byu.net>
98049         * lib/verror.h, lib/verror.c: New files.
98051 2006-08-08  Eric Blake  <ebb9@byu.net>
98053         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
98054         verror_at_line output complies with GNU Coding Standards even when
98055         file is NULL.
98057 2006-08-07  Bruno Haible  <bruno@clisp.org>
98059         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
98060         versions of AIX.
98061         Reported by Ralf Wildenhues.
98063 2006-08-07  Bruno Haible  <bruno@clisp.org>
98065         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
98066         in an AC_DEFUN. Needed so that the autoconf snippets can use
98067         AC_REQUIRE.
98069 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98071         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98072         Initialize pkgdata_DATA.
98073         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
98074         overriding it.
98076 2006-08-06  Eric Blake  <ebb9@byu.net>
98078         * lib/error.h: Fold in some upstream changes from glibc.
98079         * lib/error.c: Likewise.
98081 2006-08-04  Bruno Haible  <bruno@clisp.org>
98083         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98084         Make the mostlyclean-local rule depend on mostlyclean-generic.
98085         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
98087 2006-07-31  Bruno Haible  <bruno@clisp.org>
98089         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
98090         <stdlib.h>, <string.h>.
98092 2006-07-30  Bruno Haible  <bruno@clisp.org>
98094         * modules/readlink (License): Change to LGPL.
98096 2006-07-30  Bruno Haible  <bruno@clisp.org>
98098         * modules/javaversion (Makefile.am): Distribute javaversion.java and
98099         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
98100         set PKGDATADIR to point to it.
98102 2006-07-30  Bruno Haible  <bruno@clisp.org>
98104         * modules/csharpexec (configure.ac): Comment out macro invocation.
98105         * modules/javaexec (configure.ac): Likewise.
98106         * modules/javacomp-script (configure.ac): Likewise.
98108         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
98110 2006-07-30  Bruno Haible  <bruno@clisp.org>
98112         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
98113         linked-list.
98115 2006-07-30  Bruno Haible  <bruno@clisp.org>
98117         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
98119 2006-07-30  Bruno Haible  <bruno@clisp.org>
98121         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98122         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
98123         get removed.
98125 2006-07-29  Bruno Haible  <bruno@clisp.org>
98127         Make it possible for gnulib-tool to work with locally modified or
98128         augmented gnulib repositories.
98129         * gnulib-tool (func_usage): Document --local-dir option.
98130         (local_gnulib_dir): New variable.
98131         Handle --local-dir option.
98132         (func_lookup_file): New function.
98133         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
98134         (func_get_description, func_get_filelist, func_get_description,
98135         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
98136         func_get_automake_snippet, func_get_include_directive,
98137         func_get_license, func_get_maintainer): Use func_lookup_file.
98138         (func_import, func_create_testdir): Use func_lookup_file.
98140 2006-07-29  Bruno Haible  <bruno@clisp.org>
98142         * modules/setenv (Depends-on): Add unistd.
98144 2006-07-29  Bruno Haible  <bruno@clisp.org>
98146         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
98148 2006-07-29  Bruno Haible  <bruno@clisp.org>
98150         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
98152 2006-07-29  Bruno Haible  <bruno@clisp.org>
98154         * gnulib-tool (import, update): If there is no Makefile.am, look at
98155         aclocal.m4, instead of bailing out.
98157 2006-07-29  Bruno Haible  <bruno@clisp.org>
98159         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
98160         Categorize the options by when they are useful.
98162 2006-07-29  Bruno Haible  <bruno@clisp.org>
98164         * gnulib-tool (func_usage): Document option --no-libtool.
98165         Handle option --no-libtool.
98166         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
98167         for changed semantics of $libtool variable.
98168         (func_import): Likewise. If libtool is not used, show this through
98169         an option --no-libtool.
98170         (func_create_testdir): Update.
98172 2006-07-29  Bruno Haible  <bruno@clisp.org>
98174         * gnulib-tool (func_import): Extend error message about missing
98175         --doc-base.
98177 2006-07-29  Bruno Haible  <bruno@clisp.org>
98179         * gnulib-tool (func_import): Don't create the $docbase directory if
98180         there is no file to store there.
98182 2006-07-29  Bruno Haible  <bruno@clisp.org>
98184         * gnulib-tool (autoconf_minversion): If a --dir option is given and
98185         relevant, look for configure.ac there, not in the current directory.
98186         Also use a simple search for AC_PREREQ, not "autoconf --trace".
98188 2006-07-29  Bruno Haible  <bruno@clisp.org>
98190         * gnulib-tool (SORT): New variable.
98191         (func_usage): Undocument --assume-autoconf option.
98192         Remove --assume-autoconf option handling.
98193         (autoconf_minversion): Determine from the contents of configure.ac.
98194         (func_import): Remove autoconf_minversion handling.
98195         Suggested by Eric Blake.
98197 2006-07-29  Bruno Haible  <bruno@clisp.org>
98199         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
98201 2006-07-29  Bruno Haible  <bruno@clisp.org>
98203         * config/srclist.txt (*setenv.[ch]): Remove rules.
98205 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
98207         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
98209 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
98211         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
98212         arpa/inet.h.
98214 2006-07-28  Simon Josefsson  <jas@extundo.com>
98216         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
98217         * modules/inet_pton (Depends-on): Likewise.
98219 2006-07-28  Simon Josefsson  <jas@extundo.com>
98221         * m4/netinet_in_h.m4: New file.
98223 2006-07-28  Simon Josefsson  <jas@extundo.com>
98225         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
98226         #include's.
98228 2006-07-28  Simon Josefsson  <jas@extundo.com>
98230         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
98231         #include's.
98233 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
98235         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
98236         setgid on directories only if they set these bits.
98237         * lib/modechange.h: Remove obsolete comment about masks.
98239 2006-07-28  Eric Blake  <ebb9@byu.net>
98241         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
98242         macro expansion.
98244 2006-07-28  Bruno Haible  <bruno@clisp.org>
98246         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
98248 2006-07-28  Bruno Haible  <bruno@clisp.org>
98250         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
98252 2006-07-28  Bruno Haible  <bruno@clisp.org>
98254         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
98255         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
98256         Define fallbacks.
98257         Avoids link error on FreeBSD 4.x.
98258         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
98260         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
98261         encoding.
98262         * lib/mbswidth.c (iswcntrl): Likewise.
98264 2006-07-27  Bruno Haible  <bruno@clisp.org>
98266         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
98267         test.
98269 2006-07-27  Bruno Haible  <bruno@clisp.org>
98271         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
98272         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
98273         defined.
98275 2006-07-26  Eric Blake  <ebb9@byu.net>
98277         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
98279 2006-07-26  Eric Blake  <ebb9@byu.net>
98281         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
98282         like mingw that lack mkstemp.
98283         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
98284         avoid compilation warning on mingw.
98286 2006-07-26  Bruno Haible  <bruno@clisp.org>
98288         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
98289         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
98290         INT_FAST*_MIN, INTPTR_MIN.
98292 2006-07-25  Bruno Haible  <bruno@clisp.org>
98294         * modules/version-etc (Depends-on): Add stdarg.
98296 2006-07-25  Bruno Haible  <bruno@clisp.org>
98298         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
98299         complex commands.
98301 2006-07-25  Bruno Haible  <bruno@clisp.org>
98303         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
98304         defined in <stdarg.h> or config.h.
98306 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
98308         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
98309         (gl_STDIO_SAFER): Remove.
98311 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
98313         * MODULES.html.sh (File stream based Input/Output):
98314         Add fopen-safer, tmpfile-safer; remove stdio-safer.
98315         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
98316         * modules/fopen-safer, modules/tmpfile-safer: New files.
98317         * modules/stdio-safer: Remove.
98319 2006-07-24  Bruno Haible  <bruno@clisp.org>
98321         * modules/tmpdir: New file.
98322         * MODULES.html.sh (File system functions): Add it.
98324 2006-07-24  Bruno Haible  <bruno@clisp.org>
98326         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
98327         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
98329 2006-07-24  Bruno Haible  <bruno@clisp.org>
98331         * modules/clean-temp: New file.
98333 2006-07-24  Bruno Haible  <bruno@clisp.org>
98335         * m4/tmpdir.m4: New file, from GNU gettext.
98337 2006-07-24  Bruno Haible  <bruno@clisp.org>
98339         * lib/tmpdir.h: New file, from GNU gettext.
98340         * lib/tmpdir.c: New file, from GNU gettext.
98342 2006-07-24  Bruno Haible  <bruno@clisp.org>
98344         * lib/clean-temp.h: New file, from GNU gettext.
98345         * lib/clean-temp.c: New file, from GNU gettext.
98347 2006-07-23  Eric Blake  <ebb9@byu.net>
98349         * modules/stdio-safer (Files): Add tmpfile-safer.c.
98350         (Depends-on): Add binary-io.
98352 2006-07-23  Eric Blake  <ebb9@byu.net>
98354         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
98356 2006-07-23  Eric Blake  <ebb9@byu.net>
98358         * lib/tmpfile-safer.c: New file.
98359         * lib/stdio-safer.h (fopen_safer): Add prototype.
98360         * lib/stdio--.h (tmpfile): Make safer.
98362 2006-07-23  Bruno Haible  <bruno@clisp.org>
98364         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
98365         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
98366         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
98367         gl_linked_remove_at): Use it.
98369 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
98370         and Simon Josefsson <jas@extundo.com>
98372         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
98374         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
98376 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
98378         * modules/close-stream: New file.
98379         * modules/closeout (Description): Make it clear that it exits
98380         with a diagnostic on error.
98381         (Depends-on): Add close-stream.  Remove fpending, stdbool.
98382         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
98384 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
98386         * m4/close-stream.m4: New file.
98388 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
98390         * lib/close-stream.c, lib/close-stream.h: New files.
98392 2006-07-22  Bruno Haible  <bruno@clisp.org>
98394         Merge from GNU gettext 0.15.
98396         2006-05-01  Bruno Haible  <bruno@clisp.org>
98398                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
98400         2006-07-22  Bruno Haible  <bruno@clisp.org>
98402                 * modules/javaversion: New file.
98403                 * MODULES.html.sh (Java): Add javaversion.
98405         2006-03-12  Bruno Haible  <bruno@clisp.org>
98407                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
98409         2005-12-04  Bruno Haible  <bruno@clisp.org>
98411                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
98412                 (untested).
98414         2006-06-21  Bruno Haible  <bruno@clisp.org>
98416                 Avoid warnings from recent versions of mcs.
98417                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
98418                 -o, -L, -r any more. Use options documented since mcs-1.0
98419                 instead. Similarly for -g.
98421         2005-12-04  Bruno Haible  <bruno@clisp.org>
98423                 * build-aux/csharpcomp.sh.in: Suffix for resources is
98424                 .resources, not .resource.
98426         2005-07-09  Bruno Haible  <bruno@clisp.org>
98428                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
98429                 add a .dll suffix.
98430                 Reported by Mark Junker <mjscod@gmx.de>.
98432         2006-07-22  Bruno Haible  <bruno@clisp.org>
98434                 * modules/gettext: Upgrade to gettext-0.15.
98435                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
98436                 m4/visibility.m4.
98437                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
98439 2006-07-22  Bruno Haible  <bruno@clisp.org>
98441         Merge from GNU gettext 0.15.
98443         2006-03-25  Bruno Haible  <bruno@clisp.org>
98445                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
98447         2006-07-21  Bruno Haible  <bruno@clisp.org>
98449                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
98450                 "1.1".
98452         2006-05-09  Bruno Haible  <bruno@clisp.org>
98454                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
98455                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
98456                 for the conftestver execution.
98458         2006-05-01  Bruno Haible  <bruno@clisp.org>
98460                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
98461                 optional target-version argument. Verify that the compiler
98462                 groks source of the specified source-version, or add -source
98463                 option as necessary. Verify that the compiler produces
98464                 bytecode in the specified target-version, or add -target and
98465                 -source options as necessary. Make the result of the test
98466                 available as variable CONF_JAVAC. Also log error output in
98467                 config.log.
98469         2006-03-11  Bruno Haible  <bruno@clisp.org>
98471                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
98473         2006-05-09  Bruno Haible  <bruno@clisp.org>
98475                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
98476                 CLASSPATH_SEPARATOR to a semicolon.
98478         2006-03-12  Bruno Haible  <bruno@clisp.org>
98480                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
98481                 available as variable CONF_JAVA, for subsequent autoconf
98482                 tests. Also log error output in config.log.
98484         2006-07-19  Bruno Haible  <bruno@clisp.org>
98486                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
98487                 that getline works on glibc2 systems. Needed to avoid trouble
98488                 in relocatable.c.
98489                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
98491         2005-12-04  Bruno Haible  <bruno@clisp.org>
98493                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
98494                 launcher (untested).
98496         2005-12-04  Bruno Haible  <bruno@clisp.org>
98498                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
98500         2006-07-22  Bruno Haible  <bruno@clisp.org>
98502                 * gettext.m4: Update from GNU gettext-0.15.
98503                 * nls.m4: Likewise.
98504                 * po.m4: Likewise.
98505                 * inttypes-pri.m4: Likewise.
98506                 * inttypes-h.m4: Renamed from inttypes.m4.
98507                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
98509 2006-07-22  Bruno Haible  <bruno@clisp.org>
98511         Merge from GNU gettext 0.15.
98513         2005-07-05  Bruno Haible  <bruno@clisp.org>
98515                 * printf-args.c (printf_fetchargs): Work around broken
98516                 definition of wint_t on mingw.
98518         2005-02-12  Bruno Haible  <bruno@clisp.org>
98520                 * xallocsa.h: Add extern "C" for C++.
98522         2006-05-17  Bruno Haible  <bruno@clisp.org>
98524                 Cygwin portability.
98525                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
98527         2006-04-30  Bruno Haible  <bruno@clisp.org>
98529                 * progreloc.c: Include <mach-o/dyld.h> if available.
98530                 (find_executable): Use _NSGetExecutablePath when possible.
98532         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
98534                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
98535                 function.
98537         2005-12-29  Bruno Haible  <bruno@clisp.org>
98539                 * progreloc.c (set_program_name_and_installdir): Fix
98540                 compilation error.
98542         2005-12-04  Bruno Haible  <bruno@clisp.org>
98544                 Cygwin portability.
98545                 * progreloc.c: Include <windows.h> also on Cygwin.
98546                 (find_executable): Add support for Cygwin.
98547                 (set_program_name_and_installdir): Handle also platforms with
98548                 nonempty EXEEXT.
98550         2006-07-11  Bruno Haible  <bruno@clisp.org>
98552                 * javacomp.c: Fix a comment.
98553                 Reported by Jim Meyering.
98555         2006-04-30  Bruno Haible  <bruno@clisp.org>
98557                 * javacomp.h (compile_java_class): Add source_version,
98558                 target_version arguments.
98559                 * javacomp.c: Rewritten to choose only a compiler that
98560                 respects the specified source_version and target_version.
98562         2006-06-27  Bruno Haible  <bruno@clisp.org>
98564                 Assume correct S_ISDIR macro.
98565                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
98567         2006-07-22  Bruno Haible  <bruno@clisp.org>
98569                 * javaversion.h: New file, from GNU gettext.
98570                 * javaversion.c: New file, from GNU gettext.
98571                 * javaversion.java: New file, from GNU gettext.
98572                 * javaversion.class: New file, from GNU gettext.
98574         2006-05-17  Bruno Haible  <bruno@clisp.org>
98576                 Cygwin portability.
98577                 * javaexec.c (execute_java_class): Test for jview program
98578                 also on Cygwin.
98580         2006-04-09  Bruno Haible  <bruno@clisp.org>
98582                 * fatal-signal.c: Don't include string.h.
98583                 (at_fatal_signal): Use a copying loop instead of memcpy.
98585         2005-12-04  Bruno Haible  <bruno@clisp.org>
98587                 * csharpexec.c: Add support for 'clix' launcher (untested).
98588                 (execute_csharp_using_sscli): New function.
98589                 (execute_csharp_program): Call it.
98591         2006-06-21  Bruno Haible  <bruno@clisp.org>
98593                 Avoid warnings from recent versions of mcs.
98594                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
98595                 -o, -L, -r any more. Use options documented since mcs-1.0
98596                 instead. Similarly for -g.
98598         2005-07-09  Bruno Haible  <bruno@clisp.org>
98600                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
98601                 add a .dll suffix.
98602                 Reported by Mark Junker <mjscod@gmx.de>.
98604         2006-06-17  Bruno Haible  <bruno@clisp.org>
98606                 * config.charset: Update for NetBSD 3.0.
98608         2006-05-17  Bruno Haible  <bruno@clisp.org>
98610                 Cygwin portability.
98611                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
98613         2006-05-16  Bruno Haible  <bruno@clisp.org>
98615                 * localcharset.c [CYGWIN]: Include <windows.h>.
98616                 (get_charset_aliases): For Cygwin, return the same CPxxx
98617                 aliases list as under WIN32.
98618                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
98619                 the environment variables. Fall back to GetACP().
98621         2006-04-05  Bruno Haible  <bruno@clisp.org>
98623                 * config.charset: Update Juan Manuel Guerrero's address.
98625         2005-02-12  Bruno Haible  <bruno@clisp.org>
98627                 * allocsa.h: Add extern "C" for C++.
98629         2005-02-10  Bruno Haible  <bruno@clisp.org>
98631                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
98632                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
98634         2006-07-22  Bruno Haible  <bruno@clisp.org>
98636                 * gettext.h: Update to GNU gettext-0.15.
98638 2006-07-22  Bruno Haible  <bruno@clisp.org>
98640         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
98641         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
98642         lib-prefix.m4, longdouble.m4, ssize_t.m4.
98644 2006-07-21  Eric Blake  <ebb9@byu.net>
98646         * modules/stdlib-safer: New file.
98647         * MODULES.html.sh (File stream based Input/Output): Add
98648         stdlib-safer.
98650 2006-07-21  Eric Blake  <ebb9@byu.net>
98652         * lib/stdlib-safer.h: New file from coreutils, required by
98653         stdlib--.h.
98655 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
98657         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
98659 2006-07-20  Bruno Haible  <bruno@clisp.org>
98661         * gnulib-tool: Recognize new option --assume-autoconf.
98662         (autoconf_minversion): New variable.
98663         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
98665 2006-07-20  Bruno Haible  <bruno@clisp.org>
98667         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
98669 2006-07-19  Derek R. Price  <derek@ximbiot.com>
98671         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
98672         Reindent and repaginate.
98674 2006-07-19  Derek Price  <derek@ximbiot.com>
98676         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
98677         Correct grammar.
98679 2006-07-17  Bruno Haible  <bruno@clisp.org>
98681         * modules/list: New file.
98682         * modules/array-list: New file.
98683         * modules/carray-list, modules/carray-list-tests: New files.
98684         * modules/linked-list, modules/linked-list-tests: New files.
98685         * modules/avltree-list, modules/avltree-list-tests: New files.
98686         * modules/rbtree-list, modules/rbtree-list-tests: New files.
98687         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
98688         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
98689         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
98690         * modules/oset: New file.
98691         * modules/array-oset: New file.
98692         * modules/avltree-oset, modules/avltree-oset-tests: New files.
98693         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
98694         * tests/test-carray_list.c: New file.
98695         * tests/test-linked_list.c: New file.
98696         * tests/test-avltree_list.c: New file.
98697         * tests/test-rbtree_list.c: New file.
98698         * tests/test-linkedhash_list.c: New file.
98699         * tests/test-avltreehash_list.c: New file.
98700         * tests/test-rbtreehash_list.c: New file.
98701         * tests/test-avltree_oset.c: New file.
98702         * tests/test-rbtree_oset.c: New file.
98703         * MODULES.html.sh (Container data structures): New section.
98705 2006-07-17  Bruno Haible  <bruno@clisp.org>
98707         * m4/gl_list.m4: New file.
98709 2006-07-17  Bruno Haible  <bruno@clisp.org>
98711         * lib/gl_list.h: New file.
98712         * lib/gl_list.c: New file.
98713         * lib/gl_array_list.h: New file.
98714         * lib/gl_array_list.c: New file.
98715         * lib/gl_carray_list.h: New file.
98716         * lib/gl_carray_list.c: New file.
98717         * lib/gl_linked_list.h: New file.
98718         * lib/gl_linked_list.c: New file.
98719         * lib/gl_anylinked_list1.h: New file.
98720         * lib/gl_anylinked_list2.h: New file.
98721         * lib/gl_avltree_list.h: New file.
98722         * lib/gl_avltree_list.c: New file.
98723         * lib/gl_anyavltree_list1.h: New file.
98724         * lib/gl_anyavltree_list2.h: New file.
98725         * lib/gl_rbtree_list.h: New file.
98726         * lib/gl_rbtree_list.c: New file.
98727         * lib/gl_anyrbtree_list1.h: New file.
98728         * lib/gl_anyrbtree_list2.h: New file.
98729         * lib/gl_anytree_list1.h: New file.
98730         * lib/gl_anytree_list2.h: New file.
98731         * lib/gl_linkedhash_list.h: New file.
98732         * lib/gl_linkedhash_list.c: New file.
98733         * lib/gl_anyhash_list1.h: New file.
98734         * lib/gl_anyhash_list2.h: New file.
98735         * lib/gl_avltreehash_list.h: New file.
98736         * lib/gl_avltreehash_list.c: New file.
98737         * lib/gl_rbtreehash_list.h: New file.
98738         * lib/gl_rbtreehash_list.c: New file.
98739         * lib/gl_anytreehash_list1.h: New file.
98740         * lib/gl_anytreehash_list2.h: New file.
98742         * lib/gl_oset.h: New file.
98743         * lib/gl_oset.c: New file.
98744         * lib/gl_array_oset.h: New file.
98745         * lib/gl_array_oset.c: New file.
98746         * lib/gl_avltree_oset.h: New file.
98747         * lib/gl_avltree_oset.c: New file.
98748         * lib/gl_rbtree_oset.h: New file.
98749         * lib/gl_rbtree_oset.c: New file.
98750         * lib/gl_anytree_oset.h: New file.
98752 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98754         * m4/mkancesdirs.m4: New file.
98755         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
98756         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
98757         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
98758         it.
98760 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98762         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
98763         * lib/mkancesdirs.h: New files.
98764         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
98765         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
98766         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
98767         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
98768         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
98769         callers changed.  Revamp internals significantly, by not
98770         attempting to create directories that are temporarily more
98771         permissive than the final results.  Do not attempt to use
98772         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
98773         This removes some race conditions, fixes some bugs, and simplifies
98774         things.  Use new dirchownmod function to do owner and mode changes.
98775         * lib/mkdir-p.h: Likewise.
98776         * lib/modechange.c (octal_to_mode): New function.
98777         (struct mode_change): New member mentioned.
98778         (make_node_op_equals): New arg mentioned.  All callers changed.
98779         (mode_compile): Keep track of which mode bits the user has explicitly
98780         mentioned.
98781         (mode_adjust): New arg DIR, so that we implement the X op correctly.
98782         New arg PMODE_BITS, to keep track of which mode bits the user
98783         mentioned; it treats S_ISUID and S_ISGID speciall.
98784         All callers changed.
98785         * lib/modechange.h: Likewise.
98787 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98789         * MODULES.html.sh: Add mkancestors.
98790         * modules/mkancesdirs: New module.
98791         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
98792         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
98793         The chdir-safer and afs files are now orphans; I'll remove them
98794         unless someone speaks up.
98795         Add lib/dirchownmod.c, lib/dirchownmod.h.
98796         (Depends-on): Remove alloca, chown, save-cwd, dirname.
98797         Add lchown, mkancesdirs.
98798         (Maintainer): Add self.
98800 2006-07-15  Karl Berry  <karl@gnu.org>
98802         * gnulib-tool: help message wording/arrangement.
98804 2006-07-14  Simon Josefsson  <jas@extundo.com>
98806         * doc/gnulib.texi (Libtool and Windows): New section.
98808 2006-07-12  Simon Josefsson  <jas@extundo.com>
98810         * modules/gendocs (License): Fix license, approved by Karl.
98812 2006-07-12  Eric Blake  <ebb9@byu.net>
98814         * MODULES.html.sh: Add gendocs.
98816 2006-07-11  Eric Blake  <ebb9@byu.net>
98818         * modules/fdl: New module, to install doc/fdl.texi.
98819         * MODULES.html.sh: Add new section for documentation modules.
98820         * gnulib-tool: Avoid space-tab.
98821         (--doc-base): New option, to manage files from doc.
98823 2006-07-11  Eric Blake  <ebb9@byu.net>
98825         * m4/absolute-header.m4: Fix comments to match recent change.
98827 2006-07-11  Eric Blake  <ebb9@byu.net>
98829         * gnulib-tool: List --doc-base before --tests-base.
98831 2006-07-11  Derek R. Price  <derek@ximbiot.com>
98833         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
98835 2006-07-11  Bruno Haible  <bruno@clisp.org>
98837         * README: Mention where to put documentation.
98839 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98841         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
98843 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
98845         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
98846         to stdint.m4.
98848 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
98850         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
98851         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
98852         "no/such/file/stdint.h" when there is no such file, so that
98853         the resulting C code can be parsed by dodgy compilers.
98854         Problems reported by Bob Proulx.
98856 2006-07-10  Derek R. Price  <derek@ximbiot.com>
98858         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
98859         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
98860         macros into the GNU _D_EXACT_NAMLEN.
98861         * lib/savedir.c:  Likewise.
98862         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
98864 2006-07-10  Derek R. Price  <derek@ximbiot.com>
98865         and Paul Eggert  <eggert@cs.ucla.edu>
98867         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
98868         * m4/savedir.m4:
98869         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
98870         macros into the GNU _D_EXACT_NAMLEN.
98872 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98874         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
98875         around the absolute name, to work around a problem with the HP-UX
98876         11.23 native C compiler, reported by Bob Proulx.
98878 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98880         * doc/maintain.texi, make-stds.texi: Sync from
98881         <http://savannah.gnu.org/projects/gnustandards>.
98883 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98885         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
98887 2006-07-09  Jim Meyering  <jim@meyering.net>
98889         * m4/glob.m4: Remove a doubled word in a comment.
98891 2006-07-09  Jim Meyering  <jim@meyering.net>
98893         * lib/argp-pv.c: Remove a doubled word in a comment.
98894         * lib/check-version.c (check_version): Likewise.
98895         * lib/javacomp.c (compile_java_class): Likewise.
98897 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
98899         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
98900         for the benefit of people using Autoconf 2.60.  If you want to
98901         support older Autoconf versions you can copy m4/onceonly_2_57.m4
98902         (or m4/onceonly.m4, if pre-2.57) manually.
98904 2006-07-08  Jim Meyering  <jim@meyering.net>
98906         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
98907         comment.
98908         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
98909         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
98910         comment.
98912 2006-07-08  Jim Meyering  <jim@meyering.net>
98914         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
98916 2006-07-07  Simon Josefsson  <jas@extundo.com>
98918         * tests/test-crc.c: Change expected crc value, the test vector
98919         were probably computed using the old broken crc.c?
98921 2006-07-06  Simon Josefsson  <jas@extundo.com>
98923         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
98924         now the canonical place for the M4 file).
98926         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
98927         from the sys_socket dependency now.
98929         * modules/inet_pton (Files): Ditto.
98931         * modules/inet_ntop (Files): Ditto.
98933 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
98935         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
98936         not gl_PREREQ_GETUSERSHELL.
98938 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98940         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
98941         with only one argument, for Autoconf 2.60.
98942         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
98943         expand to nothing, so add a shell command to avoid syntax error.
98944         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
98946 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98948         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
98950 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
98952         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
98953         no longer needed.  Check for isblank decl.
98954         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
98955         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
98956         of existence.
98958 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
98960         * lib/getloadavg.c: Use __VMS, not VMS.
98961         * lib/getopt.c: Likewise.
98962         * lib/getpagesize.h: Likewise.
98963         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
98964         and probably does not work.
98966 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
98968         * lib/.cppi-disable: Add wcwidth.
98969         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
98970         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
98971         (ISGRAPH): Remove.  All uses changed to isgraph.
98972         (FOLD) [!defined _LIBC]: Remove special case.
98973         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
98974         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
98975         HAVE_ISBLANK.
98976         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
98977         case.
98979 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
98981         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
98982         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
98983         brackets.  Other minor changes to suppress some compiler
98984         warnings.
98986 2006-07-06  Derek R. Price  <derek@ximbiot.com>
98987         and Paul Eggert  <eggert@cs.ucla.edu>
98989         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
98990         of invoking obsolescent AC_HEADER_DIRENT macro.
98991         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
98992         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
98993         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
98994         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
98995         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
98996         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
98997         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
98998         * m4/readdir.m4: Remove; no longer needed.
99000 2006-07-06  Derek R. Price  <derek@ximbiot.com>
99001         and Paul Eggert  <eggert@cs.ucla.edu>
99003         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
99004         Don't worry about this obsolete case any more.
99005         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
99006         directories.
99007         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
99008         worry about this obsolete case any more.
99009         * lib/fts.c: Likewise.
99010         * lib/getcwd.c: Likewise.
99011         * lib/glob.h: Likewise.
99012         * lib/savedir.c: Likewise.
99014 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
99016         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
99017         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
99018         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
99019         needed.
99020         All uses removed.
99021         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
99022         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
99023         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
99024         needed.
99025         * m4/getdate.m4 (gl_GETDATE): Likewise.
99026         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
99027         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
99028         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
99029         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
99030         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
99031         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
99032         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
99033         needed.
99035 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
99037         * lib/memcasecmp.c: Include <limits.h>.
99038         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
99039         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
99040         Don't assume isdigit succeeds only on '0' through '9'.
99042 2006-07-05  Eric Blake  <ebb9@byu.net>
99044         * modules/getaddrinfo (Depends-on): Add snprintf.
99046 2006-07-05  Eric Blake  <ebb9@byu.net>
99048         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
99049         to avoid 'header present but could not be compiled' on cygwin.
99051 2006-07-05  Eric Blake  <ebb9@byu.net>
99053         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
99054         missing from netdb.h.
99055         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
99057 2006-07-05  Derek R. Price  <derek@ximbiot.com>
99059         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
99060         no longer needed.
99061         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
99062         * m4/getdate.m4 (gl_GETDATE): Likewise.
99063         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
99064         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
99065         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
99066         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
99067         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
99069 2006-07-05  Derek R. Price  <derek@ximbiot.com>
99071         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
99072         All uses of is_space replaced by isspace.
99073         * lib/exit.h: Don't talk about STDC_HEADERS.
99074         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
99075         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
99076         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
99077         replaced by isprint etc.
99078         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
99079         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
99080         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
99081         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
99082         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
99083         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
99085 2006-07-05  Bruno Haible  <bruno@clisp.org>
99087         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
99088         the function exists, before testing against AIX.
99089         Reported by Martin Lambers <marlam@marlam.de>.
99091 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
99093         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
99094         From Mark D. Baushke.
99096 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
99098         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
99099         to the absolute name, not just one, to bypass Sun C 5.8's
99100         "warning: #include of /usr/include/... may be non-portable".
99102 2006-07-04  Eric Blake  <ebb9@byu.net>
99104         * modules/dirname-tests: New test module.
99105         * tests/test-dirname.c: New file, replacing dirname.c
99106         TEST_DIRNAME section that was recently deleted.
99108 2006-07-04  Bruno Haible  <bruno@clisp.org>
99110         Assume ANSI C header files and <ctype.h> functions.
99111         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
99112         (mbsnwidth): Use isprint, iscntrl instead.
99114 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
99116         Merge from coreutils.
99117         * MODULES.html.sh: Add xstrtold.
99118         * modules/xstrtold: New file.
99119         * modules/cycle-check (Files): Add lib/same-inode.h.
99120         * modules/dirname (Files): Add m4/double-slash-root.m4.
99121         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
99122         * modules/mkdir-p (Files): Add lib/same-inode.h.
99123         * modules/same (Files): Add lib/same-inode.h.
99125 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
99127         * m4/absolute-header.m4: Renamed from full-header-path.m4.
99128         This is to keep the terminology clean; POSIX talks about
99129         "absolute pathnames", not "full pathnames", but the GNU
99130         Coding Standards say to use "path" for something else;
99131         so use "absolute" to keep both sides happy.
99132         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
99133         Set gl_absolute_header, not gl_full_header_path.
99134         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
99135         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
99136         All uses changed.
99138         Merge from coreutils.
99140         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
99142         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
99143         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
99144         want to require the building of c-strtod.o.
99145         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
99146         needs -lm directly.
99147         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
99149         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
99151         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
99152         --as-needed option if available.  Problem reported by Albert Chin in
99153         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
99154         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
99155         cc merely issues a bunch of annoying warnings for --as-needed
99156         (this problem was reported by Bob Proulx).  Also, try linking with
99157         -lm to detect a bug in binutils 2.16 (this problem was reported
99158         by Ralf Wildenhues).
99160         2006-06-18  Jim Meyering  <jim@meyering.net>
99162         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
99163         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
99164         macro.
99165         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
99166         also check for glibc-2.4's abort-inducing bug.
99168         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
99169         Low-probability clean-up should be to use rmdir to get rid of
99170         the just-created directory, not unlink.
99172         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
99173         configure fail, and request a bug report to inform us about it.
99174         Add a comment that, barring reports to the contrary, in 2007 we'll
99175         assume ftruncate is universally available.
99177         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
99179         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
99181         2006-03-12  Jim Meyering  <jim@meyering.net>
99183         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
99184         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
99185         * m4/same.m4 (gl_SAME): Likewise.
99186         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
99188         2006-03-11  Eric Blake  <ebb9@byu.net>
99190         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
99191         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
99192         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
99193         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
99195 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
99197         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
99198         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
99199         reported by Mark D. Baushke, one in
99200         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
99202         Merge from coreutils.
99204         * lib/.cppi-disable: Add stdint_.h.
99205         * lib/.cvsignore: Add stdint.h.
99207         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
99209         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
99210         both double and long double versions.
99211         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
99212         * lib/xstrtold.c: New file.
99213         * lib/xstrtod.h (xstrtold): New decl.
99215         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
99217         * lib/filemode.c (setst): Remove.
99218         (strmode): Rewrite to avoid setst.  This makes the code shorter,
99219         (arguably) clearer, and the generated code is a bit smaller on my
99220         Debian GNU/Linux stable x86 host.
99222         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
99224         * lib/filemode.c: Include "filemode.h" first, to test the interface.
99225         Assume that filemode.h includes sys/types.h and sys/stat.h.
99226         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
99227         (ftypelet): Reorder to put common cases first, for efficiency.
99228         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
99229         to do 'M'.
99230         (strmode): Renamed from mode_string, and now stores 12 bytes instead
99231         of 10, for compatibility with FreeBSD.  All callers changed.
99232         (filemodestring): Now stores 12 bytes instead of 10, and sets file
99233         types that can't be deduced solely from st_mode.  First arg is now a
99234         const pointer.
99235         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
99236         (strmode): Renamed from mode_string.
99237         (filemodestring): New decl.
99238         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
99239         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
99240         needed.
99241         (S_ISPORT, S_ISWHT): New macros, if not already defined.
99243         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
99245         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
99246         fsusage.h now does that.  Include fsusage.h first, to test interface.
99247         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
99248         at most one method (the old code could have generated decls that
99249         didn't conform to C89, not that this was ever exercised).
99250         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
99252         2006-03-19  Jim Meyering  <jim@meyering.net>
99254         Work even in a chroot where d_ino values for entries in "/"
99255         don't match the stat.st_ino values for the same names.
99256         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
99257         number, iterate through all entries again, using lstat instead.
99258         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
99259         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
99261         * lib/getcwd.c (__getcwd): Clarify a comment.
99262         Use memcpy in place of a call to strcpy.
99264         2006-03-12  Jim Meyering  <jim@meyering.net>
99266         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
99267         matches that of the current directory (which we're about to chdir ".."
99268         out of), then save the dev-ino of the parent, instead.
99270         * lib/same-inode.h (SAME_INODE): New file/macro.
99271         * lib/chdir-safer.c (SAME_INODE): Remove definition.
99272         Include "same-inode.h", instead.
99273         * lib/same.c: Likewise.
99274         * lib/cycle-check.h: Include "same-inode.h".
99275         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
99276         * lib/cycle-check.c (SAME_INODE): Remove definition.
99277         * lib/root-dev-ino.h: Include "same-inode.h".
99279         2006-03-11  Eric Blake  <ebb9@byu.net>
99281         * lib/same.c (same_name): s/base_name/last_component/
99282         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
99283         * lib/filenamecat.c (file_name_concat): Likewise.
99285         2006-03-11  Eric Blake  <ebb9@byu.net>,
99286                     Paul Eggert  <eggert@cs.ucla.edu>
99288         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
99289         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
99290         drive prefix.
99291         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
99292         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
99293         (last_component): New method.
99294         * lib/dirname.c (dir_len): Determine when drive letters need a
99295         subsequent slash.  Preserve // when it is special.
99296         (dir_name): Don't append dot when drive letter is absolute.
99297         [TEST_DIRNAME]: Move into a full-blown gnulib test.
99298         * lib/basename.c (base_name): New semantics - malloc the result.
99299         Preserve // when it is special.  Preserve relative files that look
99300         like drive letters.
99301         (base_len): Preserve // when it is special.
99302         (last_component): New method, similar to old base_name semantics.
99303         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
99304         base_name.  Strip redundant slashes from ///.
99306 2006-07-03  Jim Meyering  <jim@meyering.net>
99308         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
99309         macro is used before the first cycle_check call.
99311 2006-07-03  Eric Blake  <ebb9@byu.net>
99313         * modules/dirname (Depends-on): Add xstrndup.
99315 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
99317         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
99318         test cases, so that config.log is a bit easier to follow.
99320 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
99322         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
99323         both are 64 bits, since this seems to be the tradition, and this
99324         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
99325         we ever run into a host that prefers long long to long in this
99326         case, we'll need another configure-time test.  Problem reported by
99327         Jim Meyering.
99329 2006-07-02  Eric Blake  <ebb9@byu.net>
99331         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
99333 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
99335         * modules/inttypes (Depends-on): No longer depends on stdint.
99336         * modules/stdint (Description): Say more about assumptions.
99337         Say that the fast types might differ.  Say macros are used.
99338         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
99339         (Makefile.am): Revise list of substituted symbols to match
99340         new stdint.m4.
99341         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
99342         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
99343         * tests/test-stdint.c (verify_same_types)
99344         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
99345         the code conforms to C99/C89.
99346         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
99347         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
99349 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
99351         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
99352         but fix a bug, by requiring at least 64 bits.
99353         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
99354         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
99355         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
99356         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
99358         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
99359         changes.  Make 2.59 a prerequisite.  Check and substitute for
99360         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
99361         inttypes.h.  Do not use special include files; just use the
99362         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
99363         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
99364         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
99365         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
99366         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
99367         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
99368         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
99369         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
99370         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
99371         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
99372         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
99373         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
99374         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
99375         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
99376         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
99377         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
99378         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
99379         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
99380         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
99381         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
99382         WINT_MAX.  Check for C99 conformance more strictly, by detecting
99383         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
99384         not check for things that C99 does not require, e.g., int8_t.  If
99385         a test isn't needed unless <stdint.h> isn't working, and is
99386         unlikely to be needed for any other reason, then don't do it
99387         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
99388         size_t, since we assume C89 freestanding at least.  Do not check
99389         for sig_atomic_t, wchar_t, or wint_t, since the code now does
99390         the right thing even if the types are not defined.  Instead use:
99391         (gl_STDINT_TYPE_PROPERTIES): New macro.
99392         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
99393         testing whether <sys/types.h> clashes, as Autoconf does this for
99394         us now.  All uses removed.
99395         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
99396         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
99397         (gl_CHECK_TYPE_SAME):
99398         Remove; no longer needed.
99399         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
99400         exists, since we'll return 0 anyway in that case.
99401         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
99403 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
99405         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
99406         possible collision with system files.
99407         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
99408         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
99409         WCHAR_MIN and WCHAR_MAX in this case.
99410         (<stddef.h>): Do not include; no longer needed.
99411         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
99412         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
99413         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
99414         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
99415         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
99416         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
99417         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
99418         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
99419         !defined(__c99))]: Include in this case too, since it's harmless
99420         now.
99421         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
99422         dangerous to do so.
99423         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
99424         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
99425         (_STDINT_MIN, _STDINT_MAX): New macros.
99426         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
99427         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
99428         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
99429         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
99430         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
99431         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
99432         macros, not typedefs; this simplifies things quite a bit.
99433         Use long int for all types narrower than int64_t.
99434         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
99435         Define in terms of long long int or int64_t or long int,
99436         not int64_t or int32_t.  This saves some compile-time testing.
99437         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
99438         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
99439         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
99440         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
99441         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
99442         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
99443         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
99444         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
99445         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
99446         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
99447         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
99448         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
99449         undef any previous version and define our own version, for
99450         simplicity and consistency with the new macros for types.
99451         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
99452         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
99453         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
99454         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
99455         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
99456         @WINT_T_SUFFIX@ to keep things simple here.
99457         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
99458         Simplify by assuming typical 8/16/32/64 host, since we're
99459         already doing that elsewhere anyway.
99460         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
99461         and assume long long int is 64 bits if available.  This
99462         speeds up 'configure'.
99464 2006-07-01  Eric Blake  <ebb9@byu.net>
99466         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
99467         Reported by Andreas Buening.
99469 2006-07-01  Eric Blake  <ebb9@byu.net>
99471         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
99473 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
99475         * lib/getaddrinfo.c: fixed typo
99477 2006-06-29  Jim Meyering  <jim@meyering.net>
99479         * modules/strftime (Maintainer): Add my name, since with the
99480         FPRINTFTIME changes strftime.c has forked from glibc.
99482 2006-06-29  Eric Blake  <ebb9@byu.net>
99484         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
99486 2006-06-29  Eric Blake  <ebb9@byu.net>
99488         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
99490 2006-06-29  Eric Blake  <ebb9@byu.net>
99492         * lib/stat_.h: New file.
99494 2006-06-29  Eric Blake  <ebb9@byu.net>
99496         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
99497         unused static function.
99499 2006-06-29  Eric Blake  <ebb9@byu.net>
99501         * doc/functions.texi (Function Portability): Document missing lstat
99502         on mingw.
99504 2006-06-29  Eric Blake  <ebb9@byu.net>
99506         * MODULES.html.sh: Add sys_stat.
99507         * modules/sys_stat: New module.
99508         * modules/mkstemp (Depends-on): Add sys_stat.
99510 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99512         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
99514 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99516         * m4/c-bs-a.m4: Removed.
99518 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99520         * lib/strftime.c: Assume strftime() exists.
99522 2006-06-29  Derek Price  <derek@ximbiot.com>
99524         * modules/c-bs-a: Removed - \a is C89.
99525         * MODULES.html.sh: Remove c-bs-a.
99527 2006-06-29  Bruno Haible  <bruno@clisp.org>
99529         * modules/wcwidth (License): Change to LGPL.
99531 2006-06-28  Simon Josefsson  <jas@extundo.com>
99533         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
99534         on _WIN32.
99536         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
99537         getnameinfo.
99539 2006-06-28  Simon Josefsson  <jas@extundo.com>
99541         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
99543 2006-06-28  Simon Josefsson  <jas@extundo.com>
99545         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
99546         functions there.  It will succeed on Windows XP, but on Windows
99547         2000 and (presumably) earlier, it will fail, and use the internal
99548         re-implementation.
99549         (use_win32_p): New function.
99550         (getaddrinfo): Use strtoul on servname, to support numeric ports.
99551         Support AI_NUMERICSERV to disable getservbyname.
99552         (getnameinfo): New function, only supports
99553         NI_NUMERICHOST|NI_NUMERICSERV for now.
99555         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
99556         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
99557         getnameinfo.
99559 2006-06-28  Eric Blake  <ebb9@byu.net>
99561         * modules/wcwidth: New file.
99562         * modules/mbchar (Depends-on): Add wcwidth.
99563         * modules/mbswidth (Depends-on): Add wcwidth.
99564         * MODULES.html.sh: Add wcwidth.
99566 2006-06-28  Eric Blake  <ebb9@byu.net>
99568         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
99569         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
99571 2006-06-28  Eric Blake  <ebb9@byu.net>
99573         * lib/xvasprintf.h: Fix comments.
99575 2006-06-28  Eric Blake  <ebb9@byu.net>
99577         * lib/mbchar.h (wcwidth): Include wcwidth.h.
99578         * lib/mbswidth.c (wcwidth): Move from here...
99579         * lib/wcwidth.h: ...to this new file.
99581 2006-06-28  Derek R. Price  <derek@ximbiot.com>
99583         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
99585         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
99586         it's obsolete.
99587         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
99589 2006-06-28  Derek R. Price  <derek@ximbiot.com>
99591         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
99592         Autoconf 2.60 says this stuff was obsolete.
99594 2006-06-28  Bruno Haible  <bruno@clisp.org>
99596         * modules/wcwidth (Files): Add m4/wchar_t.m4.
99598 2006-06-28  Bruno Haible  <bruno@clisp.org>
99600         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
99601         gt_TYPE_WCHAR_T.
99603 2006-06-28  Bruno Haible  <bruno@clisp.org>
99605         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
99606         declaration for wcwidth.
99607         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
99609 2006-06-28  Bruno Haible  <bruno@clisp.org>
99611         * lib/mkdtemp.c [MINGW]: Include <io.h>.
99612         (mkdir): Define using _mkdir.
99614 2006-06-28  Bruno Haible  <bruno@clisp.org>
99616         * lib/getaddrinfo.h: Fix POSIX URL.
99617         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
99618         _WIN32.
99619         (use_win32_p): Make static.
99620         (getaddrinfo): Reject service name if it is empty or does not consist
99621         solely of decimal digits, or if its value is > 65535.
99622         (getnameinfo): Remove useless casts.
99624 2006-06-27  Simon Josefsson  <jas@extundo.com>
99626         * modules/sys_select: New file, suggested by Bruno Haible, Paul
99627         Eggert and Martin Lambers.
99629 2006-06-27  Simon Josefsson  <jas@extundo.com>
99631         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
99632         Eggert and Martin Lambers.
99634 2006-06-27  Bruno Haible  <bruno@clisp.org>
99636         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
99637         result to 0, not to empty.
99638         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
99640 2006-06-27  Bruno Haible  <bruno@clisp.org>
99642         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
99644 2006-06-26  Simon Josefsson  <jas@extundo.com>
99646         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
99647         present.
99649 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
99651         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
99652         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
99653         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
99655 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
99657         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
99659 2006-06-26  Bruno Haible  <bruno@clisp.org>
99661         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
99663 2006-06-26  Bruno Haible  <bruno@clisp.org>
99665         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
99667 2006-06-26  Bruno Haible  <bruno@clisp.org>
99669         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
99670         SGI C compiler in pre-C99 mode.
99671         Suggested by Mark D. Baushke and Larry Jones.
99673 2006-06-26  Bruno Haible  <bruno@clisp.org>
99675         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
99676         WCHAR_MAX.
99677         Reported by Mark D. Baushke and Larry Jones.
99679 2006-06-26  Bruno Haible  <bruno@clisp.org>
99681         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
99682         in pre-C99 mode.
99683         Suggested by Mark D. Baushke and Larry Jones.
99685 2006-06-23  Simon Josefsson  <jas@extundo.com>
99686             Bruno Haible  <bruno@clisp.org>
99688         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
99689         Emit mostlyclean-local rule.
99690         (func_emit_tests_Makefile_am): Likewise.
99691         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
99693 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
99695         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
99697 2006-06-23  Bruno Haible  <bruno@clisp.org>
99699         * tests/test-stdint.c: Update to match ISO C 99 Technical
99700         Corrigendum 1.
99702 2006-06-23  Bruno Haible  <bruno@clisp.org>
99704         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
99706 2006-06-23  Bruno Haible  <bruno@clisp.org>
99708         * lib/stdint_.h: Treat IRIX like OpenBSD.
99710 2006-06-23  Bruno Haible  <bruno@clisp.org>
99712         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
99713         ISO C 99 Technical Corrigendum 1.
99715 2006-06-22  Simon Josefsson  <jas@extundo.com>
99717         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
99718         MinGW.
99720 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
99722         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
99723         needed.  Some compiler complained about some of them.  Problem reported
99724         by Larry Jones in
99725         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
99727 2006-06-21  Simon Josefsson  <jas@extundo.com>
99729         * tests/test-getaddrinfo.c: New file.
99731         * modules/getaddrinfo-tests: New file.
99733         * MODULES.html.sh: Add inet_pton.
99735         * modules/inet_pton: New file.
99737 2006-06-21  Simon Josefsson  <jas@extundo.com>
99739         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
99740         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
99741         of using the (limited) gnulib implementation on Windows XP.
99743         * m4/inet_pton.m4: New file.
99745 2006-06-21  Simon Josefsson  <jas@extundo.com>
99747         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
99748         variable.
99750         * lib/socket_.h: Don't define WINVER.
99752         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
99753         slightly modified to work in gnulib.
99755 2006-06-21  Simon Josefsson  <jas@extundo.com>
99757         * doc/gnulib.texi (Windows sockets): Add.
99759 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
99761         * lib/read-file.c (fread_file): Start with buffer allocation of
99762         0 bytes rather than 1 byte; this simplifies the code.
99763         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
99764         code to free buffer and save/restore errno.
99765         (internal_read_file): Remove unused local.
99767 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
99769         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
99770         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
99771         Problem reported by Denis Excoffier in
99772         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
99774 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
99776         * modules/sys_socket, modules/socklen: Include sys/types since
99777         FreeBSD 4.x's sys/socket.h needs it.
99779 2006-06-19  Simon Josefsson  <jas@extundo.com>
99781         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
99783 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
99785         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
99787 2006-06-19  Bruno Haible  <bruno@clisp.org>
99789         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
99790         and FULL_PATH_INTTYPES_H in angle brackets.
99791         Reported by Mark D. Baushke <mdb@gnu.org>.
99793 2006-06-17  Eric Blake  <ebb9@byu.net>
99795         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
99796         errno.
99798 2006-06-17  Bruno Haible  <bruno@clisp.org>
99800         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
99801         <sys/inttypes.h>.
99803 2006-06-17  Bruno Haible  <bruno@clisp.org>
99805         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
99806         whether errno is declared. Assume <errno.h> declares errno.
99808 2006-06-17  Bruno Haible  <bruno@clisp.org>
99810         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
99812 2006-06-17  Bruno Haible  <bruno@clisp.org>
99814         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
99815         problem on Solaris 2.5.1.
99817 2006-06-16  Eric Blake  <ebb9@byu.net>
99819         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
99820         * lib/unicodeio.c [!defined errno]: Likewise.
99821         * lib/strtol.c [!defined errno]: Likewise.
99822         * lib/strtod.c [!defined errno]: Likewise.
99824 2006-06-15  Eric Blake  <ebb9@byu.net>
99826         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
99828 2006-06-15  Eric Blake  <ebb9@byu.net>
99830         * config/srclist.txt (ssize_t.m4): Lose sync.
99832 2006-06-15  Bruno Haible  <bruno@clisp.org>
99834         * modules/stdint (Files): Include m4/full-header-path.m4,
99835         m4/size_max.m4, m4/wchar_t.m4.
99836         (Makefile.am): Many more substitutions.
99837         * modules/stdint-tests: New file.
99838         * tests/test-stdint.c: New file.
99840 2006-06-15  Bruno Haible  <bruno@clisp.org>
99842         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
99843         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
99844         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
99845         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
99846         gl_CHECK_TYPE_SAME): New macros.
99848 2006-06-15  Bruno Haible  <bruno@clisp.org>
99850         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
99852 2006-06-15  Bruno Haible  <bruno@clisp.org>
99854         * lib/stdint_.h: Rewritten to be fully auto-configured.
99855         Fixes bug on HP-UX/IA64.
99857 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
99859         * lib/getdate.y (__attribute__): Don't define if already defined.
99860         Problem reported by Larry Jones.
99861         * lib/utimens.c (__attribute__): Likewise.
99863 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
99865         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
99866         reported by Andreas Schwab.
99868 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99869             Bruno Haible  <bruno@clisp.org>
99871         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
99872         check for the declaration of strnlen and a run test that exposes the
99873         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
99874         rpl_strndup.
99876 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99877             Bruno Haible  <bruno@clisp.org>
99879         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
99881 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99883         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
99884         compile test, for Tru64 4.0D.
99886 2006-05-28  Karl Berry  <karl@gnu.org>
99888         * config/srclist.txt (printf-args.c): lose sync.
99890 2006-05-26  Martin Lambers  <marlam@marlam.de>
99892         * lib/getpass.c: Updates the test for the native W32 API, and adds
99893         missing includes, thus fixing compilation warnings.
99895 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
99897         * lib/exclude.c (exclude_fnmatch): New function.
99898         (excluded_file_name): Call exclude_fnmatch.
99899         * lib/exclude.h (excluded_file_name): New prototype
99901 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
99903         * lib/tempname.c (small_open, large_open): New macros.
99904         (__open, __open64) [!_LIBC]: Remove.
99905         (__gen_tempname): Use small_open and large_open instead of __open
99906         and __open64.  This fixes a portability bug on HP-UX 11.11i
99907         reported by Simon Wing-Tang in
99908         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
99910 2006-05-24  Bruno Haible  <bruno@clisp.org>
99912         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
99913         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
99914         Reported by Thorsten Maerz <torte@netztorte.de> via
99915         Aaron Stone <aaron@serendipity.cx>.
99917 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
99919         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
99920         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
99921         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
99922         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
99923         not really conditional on the cache.
99924         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
99926 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
99928         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
99929         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
99930         (my_usleep): Don't mishandle maximum value.
99932 2006-05-19  Jim Meyering  <jim@meyering.net>
99934         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
99936 2006-05-17  Bruno Haible  <bruno@clisp.org>
99938         Cygwin portability.
99939         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
99941 2006-05-17  Bruno Haible  <bruno@clisp.org>
99943         * lib/stdint_.h: Fix recognition of Cygwin.
99945 2006-05-15  Bruno Haible  <bruno@clisp.org>
99947         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
99948         on libtool patch by Ralf Wildenhues.
99950 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
99952         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
99953         test for C99 conformance; (bool) 0.5 is an integer constant
99954         expression, but (bool) -0.5 is not.  Problem reported by Fedor
99955         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
99957 2006-05-11  Simon Josefsson  <jas@extundo.com>
99959         * m4/xvasprintf.m4: Fix obvious typo.
99961 2006-05-11  Jim Meyering  <jim@meyering.net>
99963         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
99964         James Lemley.
99966 2006-05-10  Simon Josefsson  <jas@extundo.com>
99968         * lib/md4.c: Typo fix, update copyright years.
99969         (K1, K2): Don't use L because it turn computations into 64-bit on
99970         64-bit platforms.
99972 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
99974         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
99975         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
99976         unwanted sign propagation, e.g., on hosts with 64-bit int.
99977         There still are some problems with reeelly weird theoretical hosts
99978         (e.g., 33-bit int) but it's not worth worrying about now.
99979         * lib/sha1.c (rol): Likewise.
99980         (K1, K2, K3, K4): Remove unnecessary L suffix.
99982 2006-05-10  Bruno Haible  <bruno@clisp.org>
99984         * lib/des.c: Cast to avoid warnings.
99986 2006-05-09  Bruno Haible  <bruno@clisp.org>
99988         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
99989         (Depends-on): Depend also on xsize, stdarg.
99990         (configure.ac): Add gl_XVASPRINTF.
99992 2006-05-09  Bruno Haible  <bruno@clisp.org>
99994         * m4/xvasprintf.m4: New file.
99996 2006-05-09  Bruno Haible  <bruno@clisp.org>
99998         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
99999         (EOVERFLOW): Define fallback value.
100000         (xstrcat): New function.
100001         (xvasprintf): Recognize the special case of a string concatenation.
100003 2006-05-08  Eric Blake  <ebb9@byu.net>
100005         * gnulib-tool (func_version): Base copyright year on CVS date.
100006         (func_emit_copyright_notice): New function.
100007         (func_emit_lib_Makefile_am): Use it.
100008         (func_emit_tests_Makefile_am): Likewise.
100009         (func_import): Likewise.
100011 2006-05-08  Bruno Haible  <bruno@clisp.org>
100013         * modules/stdarg: New file.
100014         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
100016 2006-05-08  Bruno Haible  <bruno@clisp.org>
100018         * m4/stdarg.m4: New file, from GNU gettext.
100020 2006-05-08  Bruno Haible  <bruno@clisp.org>
100022         * config/srclist.txt (build-aux/config.rpath): different from latest
100023         release.
100025 2006-05-08  Bruno Haible  <bruno@clisp.org>
100027         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
100029 2006-05-05  Jim Meyering  <jim@meyering.net>
100031         * m4/warning.m4: New file, derived from bison's file by the same name.
100033 2006-05-03  Bruno Haible  <bruno@clisp.org>
100035         * lib/stdint_.h: Shorter URL.
100036         * lib/inttypes.h: Likewise.
100038 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
100040         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
100042 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
100044         * lib/verify.h: Document the internals better.  Most of this change
100045         was written by Bruno Haible.
100047 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
100049         * doc/verify.texi: New file, partly based on a proposal by
100050         Bruno Haible.
100052 2006-05-02  Bruno Haible  <bruno@clisp.org>
100054         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
100055         test from here...
100056         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
100058 2006-04-29  Bruno Haible  <bruno@clisp.org>
100060         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
100061         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
100063 2006-04-29  Bruno Haible  <bruno@clisp.org>
100065         * gnulib-tool: Make --update option actually work.
100067 2006-04-29  Bruno Haible  <bruno@clisp.org>
100069         * doc/gcd.texi: New file.
100070         * doc/gnulib.texi: Include it.
100072 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
100074         * lib/getdate.y (get_date): When adding relative date, start with the
100075         initial time, not with the result of the first mktime call.
100077 2006-04-25  Bruno Haible  <bruno@clisp.org>
100079         * gnulib-tool (func_import): Output the include directives in three
100080         blocks, sorted separately.
100081         Reported by Ben Pfaff <blp@cs.stanford.edu>.
100083 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
100085         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
100086         to define main with arguments, for C++.  Reported by Eric Blake.
100087         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
100088         Prefer 'int main ()' to 'int main (void)', for C++.
100089         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
100090         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
100091         for 'main', for C99 and C++.
100093 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
100095         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
100096         Don't assume that exit status -1 is valid.
100097         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
100098         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
100099         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
100100         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
100101         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
100102         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
100103         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
100104         functions can be used without declaring them, or that you can
100105         exit with status -1.
100106         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
100108 2006-04-24  Karl Berry  <karl@gnu.org>
100110         * config/srclist.txt (longdouble.m4): sync lost.
100112 2006-04-24  Eric Blake  <ebb9@byu.net>
100114         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
100116 2006-04-24  Bruno Haible  <bruno@clisp.org>
100118         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
100119         poll() implementation in AIX.
100120         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100122 2006-04-24  Bruno Haible  <bruno@clisp.org>
100124         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
100125         assigned exactly once.
100127 2006-04-23  Claudio Fontana  <claudio@gnu.org>
100128             Bruno Haible  <bruno@clisp.org>
100130         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
100131         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
100132         for AM_CPPFLAGS.
100134 2006-04-23  Bruno Haible  <bruno@clisp.org>
100136         * modules/copy-file: Depend on unistd.
100137         * modules/execute: Likewise.
100138         * modules/fatal-signal: Likewise.
100139         * modules/findprog: Likewise.
100140         * modules/mkdtemp : Likewise.
100141         * modules/pipe: Likewise.
100142         * modules/wait-process: Likewise.
100144 2006-04-23  Bruno Haible  <bruno@clisp.org>
100146         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
100147         condition was already detected.
100148         Reported by Ben Pfaff <blp@cs.stanford.edu>.
100150 2006-04-23  Bruno Haible  <bruno@clisp.org>
100152         * lib/copy-file.c: Include <unistd.h> unconditionally.
100153         * lib/execute.c: Likewise.
100154         * lib/fatal-signal.c: Likewise.
100155         * lib/findprog.c: Likewise.
100156         * lib/mkdtemp.c: Likewise.
100157         * lib/pipe.h: Likewise.
100158         * lib/pipe.c: Likewise.
100159         * lib/wait-process.h: Likewise.
100161 2006-04-23  Bruno Haible  <bruno@clisp.org>
100163         * gnulib-tool (func_usage): Fix --import description. Document
100164         --update.
100165         (func_import): Create temporary file in a temporary directory, if
100166         --dry-run is specified. Silence errors from 'grep' when there are no
100167         m4 files in $m4dir.
100168         (func_create_testdir): Silence errors from 'grep' when there are no
100169         m4 files in $m4dir.
100170         Reported by Karl Berry <karl@freefriends.org>.
100172 2006-04-20  Bruno Haible  <bruno@clisp.org>
100174         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
100175         one argument, so that the code will be portable to Autoconf 2.60.
100176         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
100177         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
100178         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
100180 2006-04-19  Derek Price  <derek@ximbiot.com>
100181             Eric Blake  <ebb9@byu.net>
100183         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
100184         rather than "/full/path.h".  Update comment to match.  Shorten &
100185         generalize m4_translit call via AS_TR_CPP.
100187 2006-04-19  Derek Price  <derek@ximbiot.com>
100188             Eric Blake  <ebb9@byu.net>
100190         * lib/inttypes.h: Correct grammar in comment.
100192 2006-04-18  Derek Price  <derek@ximbiot.com>
100193             Paul Eggert  <eggert@cs.ucla.edu>
100195         * modules/inttypes: New file.
100196         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
100198 2006-04-18  Derek Price  <derek@ximbiot.com>
100199             Paul Eggert  <eggert@cs.ucla.edu>
100201         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
100202         New files.
100204 2006-04-18  Derek Price  <derek@ximbiot.com>
100205             Paul Eggert  <eggert@cs.ucla.edu>
100207         * lib/inttypes.h: New file.
100208         * lib/strtoimax.c: Assume <inttypes.h>.
100210 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
100212         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
100213         isn't mounted.  Problem reported by Kir Kolyshkin.
100215 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
100217         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
100218         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
100219         Derek R. Price.
100220         * lib/regex.h (RE_DUP_MAX): Update comment to match current
100221         implementation.
100223 2006-04-12  Eric Blake  <ebb9@byu.net>
100225         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
100226         is now done automatically by the corresponding Autoconf macro.
100228 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
100230         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
100231         time_r.h.
100233 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100235         Merge regex changes from libc, removing some of our
100236         POSIX-conformance changes that were rejected and redoing them in a
100237         less-intrusive way.
100239         * lib/regcomp.c (re_compile_internal, init_dfa):
100240         Length arg is now size_t, not Idx.  All uses changed.
100241         (peek_token): Forward decl now says internal_function.
100242         (__re_error_msgid, __re_error_msgid_idx):
100243         Now static rather than extern with attribute_hidden.
100244         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
100245         For some reason libc prefers K&R style defns for external functions.
100246         (regerror) [!defined _LIBC]: Likewise.
100247         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
100248         (seek_collating_symbol_entry, lookup_collation_sequence_value):
100249         (build_range_exp, build_collating_symbol):
100250         Use K&R-style defn.
100251         (re_compile_fastmap): Use '\0' to memset, not 0.
100252         (utf8_sb_map): Make the calculations more obvious.
100253         (init_dfa, parse_bracket_exp, build_charclass_op):
100254         Call calloc and cast result, as glibc does.
100255         (init_word_char, fetch_token, peek_token, peek_token_bracket):
100256         (build_range_exp, build_collating_symbol):
100257         Now internal functions.
100259         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
100261         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
100262         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
100263         Don't depend on VMS; depend on __VMS instead, for POSIX
100264         namespace cleanness.
100265         (regoff_t): Define to ssize_t, not long int.
100267         Remove the REG_ macros named below.  Instead, make the old names
100268         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
100269         __USE_GNU_REGEX.
100270         (REG_BACKSLASH_ESCAPE_IN_LISTS):
100271         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
100272         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
100273         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
100274         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
100275         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
100276         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
100277         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
100278         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
100279         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
100280         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
100281         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
100282         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
100283         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
100284         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
100285         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
100286         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
100287         (REG_NREGS):
100288         Remove.  All uses replaced by the old RE_* names.
100289         (RE_BACKSLASH_ESCAPE_IN_LISTS):
100290         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
100291         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
100292         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
100293         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
100294         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
100295         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
100296         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
100297         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
100298         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
100299         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
100300         Don't bother having these macros be independent of each others'
100301         values, since they no longer exist in the POSIX name space.
100303         Rename the following member names back to their old names,
100304         unless !__USE_GNU_REGEX.  All uses changed back.
100305         (buffer): Renamed from re_buffer.
100306         (allocated): Renamed from re_allocated.
100307         (used): Renamed from re_used.
100308         (syntax): Renamed from re_syntax.
100309         (fastmap): Renamed from re_fastmap.
100310         (translate): Renamed from re_translate.
100311         (can_be_null): Renamed from re_can_be_null.
100312         (regs_allocated): Renamed from re_regs_allocated.
100313         (fastmap_accurate): Renamed from re_fastmap_accurate.
100314         (no_sub): Renamed from re_no_sub.
100315         (not_bol): Renamed from re_not_bol.
100316         (not_eol): Renamed from re_not_eol.
100317         (newline_anchor): Renamed from re_newline_anchor.
100318         (num_regs): Renamed from rm_num_regs.
100319         (start): Renamed from rm_start.
100320         (end): Renamed from rm_end.
100322         (free_state): Move up a bit.
100324         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
100325         #define to be empty.
100326         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
100327         when that is what is intended.
100328         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
100329         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
100330         (MAX): New macro.
100331         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
100332         All uses changed back to re_malloc, etc.  It's now the caller's
100333         responsibility to check for overflow; all callers changed.
100334         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
100335         (re_x2nrealloc): Remove.
100336         (free_state): Remove decl.
100338         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
100339         (re_set_registers, re_exec):
100340         Use K&R-style defn.
100342         2006-01-31  Roland McGrath  <roland@redhat.com>
100344         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
100345         Reported by Mike Frysinger <vapier@gentoo.org>.
100347         2006-01-15  Andreas Jaeger  <aj@suse.de>
100349         [BZ #1950]
100350         * lib/regex_internal.c (re_string_reconstruct): Adjust for
100351         build_wcs_upper_buffer change.
100352         (build_wcs_upper_buffer): Change return type.
100354         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
100356         * lib/regex_internal.h: Include <stdint.h> if available.
100358         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
100360         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
100362         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
100364         * lib/regcomp.c: Adjust for changed secondary hash function.
100366         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
100368         * lib/regex.h: Pretty printing.
100369         Clean up namespace a bit.
100371         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
100373         * lib/regexec.c (update_cur_sifted_state, check_arrival,
100374         check_arrival_add_next_nodes): Avoid using uninitialized variable.
100376         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
100377                     Ulrich Drepper  <drepper@redhat.com>
100379         [BZ #1302]
100380         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
100381         changed.
100382         (bitset_word_t): Renamed from bitset_word.  All uses changed.
100384         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
100386         [BZ #281]
100387         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
100388         * lib/regcomp.c: Remove unnecessary uses of
100389         unsigned RE_TRANSLATE_TYPE.
100390         * lib/regex_internal.h: Likewise.
100391         * lib/regex_internal.c: Likewise.
100392         * lib/regexec.c: Likewise.
100393         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
100395         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
100397         * lib/regexec.c (find_recover_state): Remove unnecessary
100398         initialization.
100399         (transit_state_bkref): Make DFA a const pointer.
100400         (get_subexp): Likewise.
100401         (check_arrival): Likewise.
100402         (update_cur_sifted_state): Likewise.
100403         (re_search_internal): Likewise.
100404         (prune_impossible_nodes): Likewise.
100405         (acquire_init_state_context): Likewise.
100406         (proceed_next_node): Likewise.
100407         (set_regs): Likewise.
100408         (free_fail_stack_return): Likewise.
100409         (check_arrival_expand_ecl): Mark DFA parameter as const.
100410         (check_arrival_expand_ecl_sub): Likewise.
100411         (check_subexp_limits): Likewise.
100412         (sub_epsilon_src_nodes):  Likewise.
100413         (add_epsilon_src_nodes):  Likewise.
100414         (merge_state_array): Likewise.
100415         (update_regs): Likewise.
100416         (build_trtable): Likewise.
100417         (sift_states_backward): Mark MCTX parameter as const.
100418         (build_sifted_states): Likewise.
100419         (update_cur_sifted_state): Likewise.
100420         (sift_states_mkref): Likewise.
100421         (check_arrival_expand_ecl): Mark eclosure as const.
100422         (check_dst_limits_calc_pos_1): Likewise.
100423         * lib/regex_internal.h (re_match_context_t): Make dfa a const
100424         pointer.
100426         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
100428         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
100429         (transit_state_sb): Likewise.
100430         (transit_state_mb): Likewise.
100431         (sift_states_iter_mb): Likewise.
100432         (check_arrival_add_next_nodes): Likewise.
100433         (check_node_accept_bytes): Change first parameter to pointer-to-const.
100434         [_LIBC] (re_search_2_stub): Use mempcpy.
100436         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
100437         mbrtowc for very simple UTF-8 case.
100439         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
100440         a pointer-to-const.
100441         (re_acquire_state_context): Likewise.
100442         * lib/regex_internal.h: Adjust prototypes.
100444         * lib/regex.c: Prevent using C++ compilers.
100446         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
100447         (re_acquire_state_context): Likewise.
100449 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100451         * modules/regex (Depends-on): Add ssize_t.
100453 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100455         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
100456         translation table.
100458 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100460         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
100462 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
100463             Bruno Haible  <bruno@clisp.org>
100465         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
100466         <sys/types.h> and <inttypes.h>.
100468 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100470         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
100471         `__error_t_defined', so argp.h will not typedef the former.
100473 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
100475         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
100476         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
100477         glibc names.  Even if glibc is changed to conform to POSIX, the
100478         traditional names will be available anyway, since regex depends on
100479         the extensions module.  Also, fix a longstanding typo in the
100480         implementation of Spencer ERE test #75 from grep 2.3.  Problems
100481         reported by Emanuele Giaquinta.  Also, change sense of cached
100482         variable, so that the message makes sense.
100484 2006-03-24  Simon Josefsson  <jas@extundo.com>
100486         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
100487         including some doc fixes.
100488         (base64_encode_alloc): Fix +1 bug on allocation failures.
100490 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100492         * lib/base64.c (base64_encode): Do not read past end of array with
100493         unsanitized input on systems with CHAR_BIT > 8.
100495 2006-03-24  Eric Blake  <ebb9@byu.net>
100497         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
100499 2006-03-22  Karl Berry  <karl@gnu.org>
100501         * config/srclist.txt (*setenv.[ch]): get from coreutils.
100502         * config/srclistvars.sh (COREUTILS): new var.
100504 2006-03-17  Jim Meyering  <jim@meyering.net>
100506         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
100507         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
100509 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
100511         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
100512         no longer needs it.  Instead, check that regoff_t is as least
100513         as wide as ptrdiff_t.
100515         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
100516         so that our regex.h stays compatible with the installed regex.
100517         This is helpful for installers who configure --without-included-regex.
100518         Problem reported by Emanuele Giaquinta.
100520 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
100522         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
100523         Typedef to long int, not to off_, as POSIX will likely change
100524         in that direction.
100526 2006-03-15  Eric Blake  <ebb9@byu.net>
100528         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
100530 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
100532         * lib/argp-help.c (validate_uparams): Fix typo
100533         * lib/argp-parse.c (argp_default_options): Consistently begin help
100534         messages with a lowercase letter.
100536 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
100538         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
100539         overrun buffers and shouldn't be used (much as gets shouldn't be
100540         used).
100541         * lib/time_r.c (asctime_r, ctime_r): Likewise.
100543 2006-03-08  Simon Josefsson  <jas@extundo.com>
100545         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
100546         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100548 2006-03-08  Simon Josefsson  <jas@extundo.com>
100550         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
100551         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100553 2006-03-08  Simon Josefsson  <jas@extundo.com>
100555         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
100556         signal that configure disabled the device.
100558 2006-03-08  Simon Josefsson  <jas@extundo.com>
100560         * build-aux/maint.mk: Fix refresh-po, to handle no translated
100561         languages.
100563 2006-03-07  Simon Josefsson  <jas@extundo.com>
100565         * modules/getopt (Depends-on): Add unistd.
100567         * modules/unistd: New file.
100569 2006-03-07  Simon Josefsson  <jas@extundo.com>
100571         * modules/gc-random: New file.
100573 2006-03-07  Simon Josefsson  <jas@extundo.com>
100575         * m4/unistd_h.m4: New file.
100577 2006-03-07  Simon Josefsson  <jas@extundo.com>
100579         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
100580         test to be side-effect free by storing the result in the cache
100581         variable gl_cv_lib_readline, and moving the assignment of
100582         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
100583         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100585 2006-03-07  Simon Josefsson  <jas@extundo.com>
100587         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
100588         error on missing devices (the functions will return an error).
100590         * m4/gc.m4: Move random stuff to gc-random.m4
100592 2006-03-07  Simon Josefsson  <jas@extundo.com>
100594         * lib/unistd_.h: New file.
100596 2006-03-07  Simon Josefsson  <jas@extundo.com>
100598         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
100600 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100602         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
100603         Problem reported by Juan Manuel Guerrero.
100605 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100607         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
100608         the unistd module.
100609         * lib/getlogin_r.c: Likewise.
100610         * lib/getlogin_r.h: Likewise.
100611         * lib/glob.c: Likewise.
100612         * lib/pagealign_alloc.c: Likewise.
100613         * lib/unistd_.h: Remove; no longer needed.
100615 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100617         * MODULES.html.sh (Support for systems lacking POSIX:2001):
100618         Add unistd.
100619         * modules/c-stack (Depends-on): Add unistd.
100620         * modules/getlogin_r: Likewise.
100621         * modules/glob: Likewise.
100622         * modules/pagealign_alloc: Likewise.
100623         * modules/unistd (Files): Remove lib/unistd_.h.
100624         (EXTRA_DIST): Remove.
100625         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
100626         need unistd_.h.
100627         (MOSTLYCLEANFILES): Remove unistd.h-t.
100629 2006-03-03  Simon Josefsson  <jas@extundo.com>
100631         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
100633 2006-03-03  Simon Josefsson  <jas@extundo.com>
100635         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
100636         libidn and bison.
100638 2006-03-03  Simon Josefsson  <jas@extundo.com>
100640         * build-aux/maint.mk: Add indent target.
100642 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
100644         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
100645         our replacement poll.h in any case, to avoid a differing
100646         declaration from a system header.  Seen on AIX.
100648 2006-03-01  Simon Josefsson  <jas@extundo.com>
100650         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
100651         <kasal@ucw.cz>.
100653 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
100655         * modules/gettime (Depends-on): Add extensions module.
100656         * modules/nanosleep (Depends-on): Likewise.
100657         * modules/settime (Depends-on): Likewise.
100659 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
100661         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
100662         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
100663         pedantically.
100664         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
100665         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
100667         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
100668         not "==".  Reported by Ralf Wildenhues.
100670 2006-03-01  Karl Berry  <karl@gnu.org>
100672         * doc/Copyright/request-*: new files, synced from gnuorg.
100674 2006-03-01  Karl Berry  <karl@gnu.org>
100676         * config/srclist.txt (Copyright/*): new entries.
100678 2006-02-28  Simon Josefsson  <jas@extundo.com>
100680         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
100682 2006-02-27  Simon Josefsson  <jas@extundo.com>
100684         * lib/base64.h: Indent #define's.  From Jim Meyering
100685         <jim@meyering.net>.
100687 2006-02-27  Jim Meyering  <jim@meyering.net>
100689         Revert the change of 2006-02-24, so these files can continue
100690         to be sync'd from gettext.
100691         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
100692         of `config.h'.
100694 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
100696         * modules/intprops: New file.
100697         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
100698         Add intprops.
100699         * modules/getloadavg (Files): Remove lib/intprops.h.
100700         (Depends-on): Add intprops.
100701         * modules/human: Likewise.
100702         * modules/inttostr: Likewise.
100703         * modules/openat: Likewise.
100704         * modules/sig2str: Likewise.
100705         * modules/userspec: Likewise.
100706         * modules/utimecmp: Likewise.
100707         * modules/xnanosleep: Likewise.
100708         * modules/xstrtol: Likewise.
100710 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
100712         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
100713         * modules/lock-tests (TESTS): Use $(EXEEXT).
100714         * modules/tls-tests: Likewise.
100715         * modules/argp-tests: Likewise.
100716         (check_PROGRAMS): New var, replacing...
100717         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
100719 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100721         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
100722         `config.h'.
100724 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
100726         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
100728 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100730         Sync from coreutils.
100731         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
100732         gl_CHDIR_SAFER.
100734 2006-02-22  Jim Meyering  <jim@meyering.net>
100736         Sync from coreutils.
100737         * m4/chdir-safer.m4: New file.
100739 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
100741         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
100742         AT_FDCWD exceeds INT_MAX.
100743         * lib/openat.h (AT_FDCWD): Likewise.
100745 2006-02-17  Eric Blake  <address@hidden>
100747         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
100749 2006-02-16  Simon Josefsson  <jas@extundo.com>
100751         * modules/getaddrinfo (Depends-on): Add sys_socket.
100753 2006-02-15  Simon Josefsson  <jas@extundo.com>
100755         * build-aux/maint.mk: Add dsyntax-check rule.
100757 2006-02-15  Eric Blake  <ebb9@byu.net>
100759         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
100760         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
100761         'present but cannot compile' warnings on cygwin.
100762         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
100763         use ws2tcpip.h if sys/socket.h works.
100764         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
100765         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
100767 2006-02-14  Simon Josefsson  <jas@extundo.com>
100769         * modules/maintainer-makefile (Files): Rename.
100771         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
100772         and (the local) Makefile.cfg to maint-cfg.mk.
100774         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
100775         to the latter.
100777         * modules/maintainer-makefile: New module.
100779         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
100780         severaly stripped to make it possible to build it up from scratch
100781         with reliable tests.
100783         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
100784         fixes to permit overriding the default actions when configure and
100785         makefile are not available.
100787 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
100789         Sync from coreutils.
100790         * modules/lstat (Depends-on): Don't depend on xalloc.
100791         (License): Change from GPL to LGPL, since this is now simply a
100792         replacement for a libc function.
100794 2006-02-14  Jim Meyering  <jim@meyering.net>
100796         Sync from coreutils.
100798         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
100799         failure on deficient systems, and simplify gnulib lgpl dependencies.
100800         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
100801         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
100803         * lib/xalloc-die.c: Remove unused definition of N_.
100805 2006-02-14  Jim Meyering  <jim@meyering.net>
100807         Sync from coreutils.
100808         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
100809         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
100810         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
100811         double-quote uses of that variable, to accommodate the rare case in
100812         which getmntent is available in none of the libraries checked.  This
100813         happens at least on FreeBSD 5.0.
100815 2006-02-13  Simon Josefsson  <jas@extundo.com>
100817         * gnulib-tool (Usage): Fix --import, from
100818         karl@freefriends.org (Karl Berry).
100820 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
100822         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
100824 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
100826         * lib/argp-namefrob.h: Restore changes accidentally lost during the
100827         "autoupdate" on 2005-12-12.
100829 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
100831         * modules/closeout (Depends-on): Remove atexit.
100833 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
100835         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
100836         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
100838 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
100840         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
100841         __EXTENSIONS__ if this causes compilation to fail.  Problem
100842         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
100843         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
100845 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
100847         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
100848         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
100849         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
100850         All uses changed.
100852 2006-01-26  Simon Josefsson  <jas@extundo.com>
100854         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
100855         prototype is visible on mingw32.
100857         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
100858         for mingw32.
100860         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
100861         mingw32).
100863 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
100865         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
100866         attempt to open for write; this always fails, at least on POSIX
100867         hosts.  This reinstates the 2006-01-09 change, which was
100868         inadvertently removed.
100870 2006-01-26  Bruno Haible  <bruno@clisp.org>
100872         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
100873         Reported by Paul Eggert.
100875 2006-01-26  Bruno Haible  <bruno@clisp.org>
100876             Paul Eggert  <eggert@cs.ucla.edu>
100878         * lib/stdbool_.h (_Bool)
100879         [(! (defined __cplusplus || defined __BEOS__)
100880           && !defined __GNUC__
100881           && !(defined __HP_cc || defined __xlc__
100882                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
100883                || defined __sgi))]:
100884         #define to signed char in these cases too; this simplifies
100885         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
100886         etc., separately) and makes it more conservative.
100888 2006-01-25  Simon Josefsson  <jas@extundo.com>
100890         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
100891         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
100892         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
100894 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
100896         * lib/argp-namefrob.h: Bugfix. Remove stray #
100898 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
100900         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
100901         so that we test the test.
100902         Check for yet another HP-UX cc bug involving *bool |= bool.
100904 2006-01-25  Karl Berry  <karl@gnu.org>
100906         * config/srclist.txt (vasnprintf.c): sync lost.
100908 2006-01-25  Jim Meyering  <jim@meyering.net>
100910         Sync from the stable (b5) branch of coreutils:
100912         * lib/fts.c (fts_children): Don't let close() clobber errno from
100913         failed fchdir().
100915         * lib/fts.c (fts_stat): When following a symlink-to-directory,
100916         don't necessarily interpret stat-fails+lstat-succeeds as indicating
100917         a dangling symlink.  That can also happen at least for ELOOP.
100918         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
100919         FYI, this bug predates the inclusion of fts.c in coreutils.
100921         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
100922         in their own block, so pre-c99 compilers don't object.
100924         Avoid the double-free (first in fts_read, second in fts_close) that
100925         would occur when an `active' directory is made inaccessible (e.g.,
100926         via chmod a-x) during a traversal.
100927         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
100928         before returning.  Reproduce this failure by
100929         mkdir -p a/b; cd a; chmod a-x . b
100930         Reported by Stavros Passas.
100932 2006-01-25  Jim Meyering  <jim@meyering.net>
100934         * lib/fileblocks.c: Remove more useless parentheses.
100935         * lib/readutmp.h: Likewise.
100937 2006-01-25  Bruno Haible  <bruno@clisp.org>
100939         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
100940         warnings.
100941         Reported by Paul Eggert.
100943 2006-01-25  Bruno Haible  <bruno@clisp.org>
100945         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
100946         rid of a trap command. For Solaris sh.
100947         Reported by Mark D. Baushke <mdb@gnu.org>.
100949 2006-01-24  Simon Josefsson  <jas@extundo.com>
100951         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
100952         Bruno.
100954 2006-01-24  Karl Berry  <karl@gnu.org>
100956         * config/srclist.txt (argp-namefrob.h): sync lost.
100958 2006-01-24  Jim Meyering  <jim@meyering.net>
100960         * modules/openat (Files): Add lib/intprops.h.
100961         From Mark D. Baushke.
100963 2006-01-24  Jim Meyering  <jim@meyering.net>
100965         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
100966         Reported by Mark D. Baushke.
100968 2006-01-24  Jim Meyering  <jim@meyering.net>
100970         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
100972 2006-01-24  Bruno Haible  <bruno@clisp.org>
100974         * modules/strnlen (Maintainer): Change from glibc to all.
100976 2006-01-24  Bruno Haible  <bruno@clisp.org>
100978         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
100979         Patch by Paul Eggert.
100981 2006-01-24  Bruno Haible  <bruno@clisp.org>
100983         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
100984         already has it.
100985         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
100986         2005-11-26.
100988         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
100989         'signed char' to avoid problems with the built-in _Bool type.
100990         Reported by Paul Eggert on 2005-11-26.
100992 2006-01-24  Bruno Haible  <bruno@clisp.org>
100994         * gnulib-tool (func_import): Avoid constructing complicated sed
100995         expressions inside backquote.
100996         Report and solution by Mark D. Baushke <mdb@gnu.org>.
100998 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
101000         These changes imported from libc.
101001         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
101002         test and two separate function calls.
101003         * lib/strndup.c (__strndup): Add libc_hidden_def.
101005 2006-01-23  Simon Josefsson  <jas@extundo.com>
101007         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
101008         Remove the test_*_SOURCES variable: automake infers it by default.
101009         * modules/tls-tests: Likewise.
101011 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101013         Work around porting bugs reported by Dieter in
101014         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
101015         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
101016         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
101017         Include "getopt.h" first, to check interface.
101018         (getenv): Declare only if defined HAVE_DECL_GETENV &&
101019         !HAVE_DECL_GETENV.
101020         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
101021         (__strndup): Revert to K&R-style function dfns, the glibc style.
101022         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
101023         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
101024         Include strnlen.h first, to get prototype properly.
101025         (strnlen): Renamed from __strnlen.
101026         Remove weak alias.
101028 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101030         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
101032 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101034         * config/srclist.txt: Adjust to reflect glibc reorganization.
101035         This affects only comments.
101037 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
101039          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
101040          Reported by Bruce Korb <bkorb@gnu.org>.
101042 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
101044         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
101045         to pacify gcc -Wswitch-default.
101047 2006-01-22  Bruno Haible  <bruno@clisp.org>
101049         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
101050         temporary buffer for sprintf, take into account the precision also
101051         for 'd', 'i', 'u', 'o', 'x', 'X'.
101053 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
101055         * modules/argp-tests: New module
101056         * tests/test-argp.c: New file
101057         * tests/test-argp-2.sh: New file
101059 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
101061         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
101062         (__argp_base_name): Removed
101063         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
101064         typo.
101065         (__argp_base_name): Provide macro definition or extern declaration
101066         depending on the configuration
101068 2006-01-20  Simon Josefsson  <jas@extundo.com>
101070         * modules/inet_ntop (Depends-on): Depend on sys_socket.
101072 2006-01-20  Simon Josefsson  <jas@extundo.com>
101074         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
101076 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
101078         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
101079         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
101080         Suggested by Bruno Haible.
101082 2006-01-20  Karl Berry  <karl@gnu.org>
101084         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
101085         until changes propagate, I guess.
101087 2006-01-19  Simon Josefsson  <jas@extundo.com>
101089         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
101091 2006-01-19  Simon Josefsson  <jas@extundo.com>
101093         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
101095 2006-01-19  Simon Josefsson  <jas@extundo.com>
101097         * gnulib-tool: Set check_PROGRAMS.
101099         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
101100         modules/des-tests, modules/gc-arcfour-tests,
101101         modules/gc-arctwo-tests, modules/gc-des-tests,
101102         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
101103         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
101104         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
101105         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
101106         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
101107         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
101108         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
101109         test_*_SOURCES.
101111 2006-01-18  Simon Josefsson  <jas@extundo.com>
101113         * modules/socklen (Depends-on): Depend on sys_socket.
101115 2006-01-18  Simon Josefsson  <jas@extundo.com>
101117         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
101118         modules/des-tests, modules/gc-arcfour-tests,
101119         modules/gc-arctwo-tests, modules/gc-des-tests,
101120         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
101121         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
101122         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
101123         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
101124         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
101125         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
101126         $(EXEEXT) to automake TESTS variable, for mingw32.
101128 2006-01-17  Simon Josefsson  <jas@extundo.com>
101130         * modules/socklen (Include): Need sys/socket.h.
101132 2006-01-17  Bruno Haible  <bruno@clisp.org>
101134         * modules/ssize_t (Include): Add <sys/types.h>.
101136 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
101138         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
101139         it's not portable and it doesn't work with cross-compiles.
101140         Problem reported by Bruno Haible.  Fix missing-$ typo in
101141         'test "gl_cv_ignore_unused_libraries" ...' that prevented
101142         -zignore from being used with Sun's C compiler.
101144 2006-01-12  Simon Josefsson  <jas@extundo.com>
101146         * lib/base64.c: Fix warning, reported by Bruno Haible
101147         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
101149 2006-01-12  Bruno Haible  <bruno@clisp.org>
101151         * modules/ldd: New file.
101152         * build-aux/ldd.sh.in: New file.
101153         * MODULES.html.sh (Support for building libraries and executables): Add
101154         ldd.
101156 2006-01-12  Bruno Haible  <bruno@clisp.org>
101158         * m4/ldd.m4: New file.
101160 2006-01-12  Bruno Haible  <bruno@clisp.org>
101162         * gnulib-tool (func_import, func_create_testdir): Don't go into an
101163         endless loop while replacing $auxdir with build-aux.
101165 2006-01-11  Simon Josefsson  <jas@extundo.com>
101167         * lib/stdint_.h (SIZE_MAX): Add missing (.
101169 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
101171         Sync from coreutils.
101172         * lib/md5.c: Fix commentary typos.
101173         (alignof, UNALIGNED_P): No need for a GCC-specific version.
101174         * lib/md5.h (__attribute__): Remove; unused.
101175         * lib/sha1.c: Fix commentary to match md5 better.
101176         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
101177         so that we don't need to worry about alignment.  All uses changed.
101178         This merges the 2005-10-28 md5 change into sha1.
101180 2006-01-11  Jim Meyering  <jim@meyering.net>
101182         Sync from coreutils.
101183         * lib/md5.c (OP): Fix spacing.
101185 2006-01-11  Bruno Haible  <bruno@clisp.org>
101187         Ensure automatic ordering between gl_LOCK and gl_ARGP.
101188         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
101189         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
101191 2006-01-11  Bruno Haible  <bruno@clisp.org>
101193         Ensure automatic ordering between gl_LOCK and gl_ARGP.
101194         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
101195         the "early" section as well.
101197 2006-01-11  Bruno Haible  <bruno@clisp.org>
101199         Avoid "ar: no archive members specified" error on MacOS X.
101200         * gnulib-tool (func_modules_add_dummy): New function.
101201         (func_import, func_create_testdir): Invoke it.
101203 2006-01-11  Bruno Haible  <bruno@clisp.org>
101205         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
101206         with $auxdir in AC_CONFIG_FILES statements.
101208 2006-01-11  Bruno Haible  <bruno@clisp.org>
101210         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
101211         Initialize also noinst_HEADERS to empty.
101213 2006-01-11  Bruno Haible  <bruno@clisp.org>
101215         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
101216         variables.
101217         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
101218         autoreconf.
101220 2006-01-11  Bruno Haible  <bruno@clisp.org>
101222         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
101223         overridable by the user.
101224         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101226 2006-01-10  Simon Josefsson  <jas@extundo.com>
101228         * modules/sys_socket: New file.
101230 2006-01-10  Simon Josefsson  <jas@extundo.com>
101232         * m4/sys_socket_h.m4: New file.
101234 2006-01-10  Simon Josefsson  <jas@extundo.com>
101236         * lib/socket_.h: New file.
101238 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
101240         * modules/readutmp (Maintainer): Add myself.
101242 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
101244         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
101245         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
101246         People who are still concerned with buggy memcmp implementations
101247         can invoke gl_FUNC_MEMCMP themselves.
101249 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
101251         * lib/regex_internal.h (BITSET_WORD_BITS):
101252         Work around a bug in 64-bit PGC (before version 6.1-2), where the
101253         preprocessor mishandles large unsigned values as if they were signed.
101254         Problem reported by Claudio Fontana in
101255         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
101257 2006-01-10  Jim Meyering  <jim@meyering.net>
101259         Avoid the double-free (first in fts_read, second in fts_close) that
101260         would occur when an `active' directory is made inaccessible (e.g.,
101261         via chmod a-x) during a traversal.
101262         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
101263         before returning.  Reproduce this failure by
101264         mkdir -p a/b; cd a; chmod a-x . b
101265         Reported by Stavros Passas.
101267         Sync from coreutils.
101268         * lib/sha1.c: Tweak grammar in a comment.
101270 2006-01-10  Jim Meyering  <jim@meyering.net>
101272         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
101273         Patch by Joerg Sonnenberger.
101275 2006-01-10  Bruno Haible  <bruno@clisp.org>
101277         * modules/readutmp: Depend on module free.
101278         * modules/strtok_r: Depend on module restrict.
101280 2006-01-10  Bruno Haible  <bruno@clisp.org>
101282         * modules/gettext (configure.ac): Add an invocation of
101283         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
101285 2006-01-10  Bruno Haible  <bruno@clisp.org>
101287         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
101288         Reported by Werner Lemberg <wl@gnu.org>.
101290 2006-01-10  Bruno Haible  <bruno@clisp.org>
101292         * lib/localcharset.c: Update from GNU gettext.
101294 2006-01-10  Bruno Haible  <bruno@clisp.org>
101296         * lib/argp.h (__const): Remove macro. Use const instead.
101297         * lib/argp-fmtstream.h (__const): Likewise.
101298         * lib/glob_.h (__const): Remove macro.
101299         * lib/glob-libc.h: Use const instead of __const.
101301 2006-01-10  Bruno Haible  <bruno@clisp.org>
101303         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
101304         variable.
101305         Needed to avoid an automake error regarding the 'gettext' module.
101307 2006-01-09  Simon Josefsson  <jas@extundo.com>
101309         * modules/inet_ntop (Depends-on): Add restrict.
101311 2006-01-09  Simon Josefsson  <jas@extundo.com>
101313         * modules/gc-rijndael-tests (License): Put under LGPL.
101315         * modules/gc-des-tests (License): Likewise.
101317         * modules/gc-arcfour-tests (License): Likewise.
101319         * modules/gc-arctwo-tests (License): Likewise.
101321         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
101323         * modules/gc-hmac-sha1-tests (Files): Likewise.
101325         * modules/gc-hmac-md5-tests (License): Likewise.
101327         * modules/gc-sha1-tests (License): Likewise.
101329         * modules/gc-md5-tests (License): Likewise.
101331         * modules/gc-md4-tests (License): Likewise.
101333         * modules/gc-md2-tests (License): Likewise.
101335         * modules/gc-tests (License): Likewise.
101337         * modules/des-tests (License): Likewise.
101339         * modules/md4-tests (License): Likewise.
101341         * modules/md2-tests (License): Likewise.
101343 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101345         Sync from coreutils:
101347         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
101348         * modules/lib-ignore: New file.
101349         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
101350         chdir-safer.m4, lchmod.m4.
101351         * modules/openat: Add mkdirat.c, openat-priv.h.
101353 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101355         Sync from coreutils.
101356         * m4/lib-ignore.m4: New file.
101357         * m4/lchmod.m4: New file.
101359 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101361         Sync from coreutils.
101362         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
101363         for write access: POSIX says that must fail.
101364         * lib/fts.c (diropen): Likewise.
101365         * lib/save-cwd.c (save_cwd): Likewise.
101366         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
101367         well, for minor improvements on hosts that lack O_DIRECTORY.
101368         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
101369         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
101370         Fall back on chown if open failed with EACCES.
101372         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
101373         Report an error at compile-time if only a 1-second nominal clock
101374         resolution is found.
101376         * lib/lchmod.h: New file.
101377         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
101378         (make_dir_parents): Use lchown rather than chown, and
101379         lchmod rather than chmod.
101381         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
101382         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
101383         "proc" reported by n0dalus.
101385         * lib/mountlist.c: Include <limits.h>.
101386         (dev_from_mount_options)
101387         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
101388         New function.  It no longer assumes "dev=" has the System V meaning
101389         on Linux (since it doesn't).  It also parses "dev=" more carefully.
101390         (read_file_system_list)
101391         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
101392         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
101393         dev= in that case.
101395         * lib/posixtm.h (PDS_PRE_2000): New macro.
101396         * lib/posixtm.c (year): Arg is now syntax_bits rather than
101397         allow_century.  All usages changed.  Reject dates outside the range
101398         1969-1999 if PDS_PRE_2000 is used.
101400 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101402         Sync from coreutils.
101403         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
101404         (Time of day items): Mention the possibility of leap seconds.
101405         Problem reported by Dr. David Alan Gilbert.
101407 2006-01-09  Jim Meyering  <jim@meyering.net>
101409         Sync from coreutils.
101411         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
101413         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
101415         * lib/modechange.c (mode_compile): Reject an invalid mode string
101416         that starts with an octal digit.  From Andreas Gruenbacher.
101418         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
101419         and dup to open_safer and dup_safer, respectively.
101420         (openat_permissive): Fix typo in comment.
101422         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
101423         "gettext.h"; either no longer needed or are guaranteed by openat.h.
101424         (_): Remove; no longer needed.
101425         (openat): Renamed from rpl_openat; no need for rpl_openat
101426         since openat.h renames openat for us.
101427         Replace most of the body with a call to openat_permissive,
101428         to avoid duplicate code.
101429         Port to (probably hypothetical) environments were mode_t is
101430         wider than int.
101431         (openat_permissive): Require mode arg, so that we can check
101432         types better.  Put it just after flags.  Change cwd failure
101433         indicator from pointer-to-bool to pointer-to-errno-value.
101434         All callers changed.
101435         Invoke openat_save_fail and/or openat_restore_fail if
101436         cwd_errno is null, so that openat can call us.
101437         (openat_permissive, fdopendir, fstatat, unlinkat):
101438         Simplify errno handling to avoid some duplicate code,
101439         as it's OK to set errno on success.
101440         * lib/openat.h: Revamp code so that function macros depend on
101441         __OPENAT_PREFIX only, not also on AT_FDCWD.
101442         (openat_ro): Remove.  Caller changed to use openat_permissive.
101443         (openat_permissive): Now a macro, if not a function.
101444         (openat_restore_fail, openat_save_fail): Now always functions,
101445         since mkdirat needs them even if __OPENAT_PREFIX is defined.
101447         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
101448         and openat.c.
101449         * lib/mkdirat.c: Include openat-priv.h.
101450         Remove definitions of macros defined therein.
101451         * lib/openat.c: Likewise.
101453         * lib/mkdirat.c (mkdirat): New file and function.
101454         * lib/openat.h (mkdirat): Declare.
101456         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
101458         * lib/openat.h (openat_permissive): Declare.
101459         (openat_ro): Define.
101461         * lib/openat.c (EXPECTED_ERRNO): New macro.
101462         (openat_permissive): New function -- used in remove.c rewrite.
101463         (all functions): Set errno just before returning, only if there
101464         was an actual failure.
101465         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
101467         Emulate openat-family functions using Linux's procfs, if possible.
101468         Idea and some code based on Ulrich Drepper's glibc changes.
101470         * lib/openat.c: (BUILD_PROC_NAME): New macro.
101471         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
101472         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
101473         before falling back on save_cwd and restore_cwd.
101474         (fdopendir, fstatat, unlinkat): Likewise.
101476         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
101477         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
101479         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
101480         as second argument to va_arg.  Otherwise, some versions of gcc
101481         warn that `if this code is reached, the program will abort'.
101483 2006-01-09  Jim Meyering  <jim@meyering.net>
101485         Sync from coreutils.
101486         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
101487         Require openat-priv.h.
101489 2006-01-09  Bruno Haible  <bruno@clisp.org>
101491         * modules/strnlen (Include): Use strnlen.h.
101493 2006-01-09  Bruno Haible  <bruno@clisp.org>
101495         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
101497 2006-01-09  Bruno Haible  <bruno@clisp.org>
101499         * lib/sysexit_.h (EX_OK): New macro.
101500         Suggested by Martin Lambers <marlam@marlam.de>.
101502 2006-01-09  Bruno Haible  <bruno@clisp.org>
101504         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
101505         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
101507 2006-01-09  Bruno Haible  <bruno@clisp.org>
101509         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
101510         numbers.
101512 2006-01-09  Bruno Haible  <bruno@clisp.org>
101514         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
101515         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
101516         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
101517         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
101519 2006-01-09  Bruno Haible  <bruno@clisp.org>
101521         * build-aux/javacomp.sh.in: New file, moved from lib/.
101522         * modules/javacomp-script (Files): Update.
101523         (configure.ac): Add AC_CONFIG_FILES invocation.
101524         (EXTRA_DIST): Remove variable.
101526         * build-aux/javaexec.sh.in: New file, moved from lib/.
101527         * modules/javaexec (Files): Update.
101528         (configure.ac): Add AC_CONFIG_FILES invocation.
101529         (EXTRA_DIST): Remove javaexec.sh.in.
101531         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
101532         * modules/csharpcomp-script (Files): Update.
101533         (configure.ac): Add AC_CONFIG_FILES invocation.
101534         (EXTRA_DIST): Remove variable.
101536         * build-aux/csharpexec.sh.in: New file, moved from lib/.
101537         * modules/csharpexec (Files): Update.
101538         (configure.ac): Add AC_CONFIG_FILES invocation.
101539         (EXTRA_DIST): Remove csharpexec.sh.in.
101541 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
101543         Sync from coreutils.
101545         Add POSIX ACL support
101546         * lib/acl.h (copy_acl, set_acl): Add declarations.
101547         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
101548         systems other than Linux.
101549         (chmod_or_fchmod): New function: use fchmod when possible,
101550         and chmod otherwise.
101551         (file_has_acl): Add a POSIX ACL implementation, with a
101552         Linux-specific subcase.
101553         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
101554         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
101555         acls are unsupported.
101556         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
101557         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
101558         are unsupported.
101560 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
101562         Sync from coreutils.
101563         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
101565 2006-01-07  Bruno Haible  <bruno@clisp.org>
101567         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
101568         gl_EARLY.
101570 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
101572         * lib/strftime.c (tzname): Don't declare if it is already #defined.
101573         Problem reported for Mingw by Mark Junker.
101575 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
101577         * README: Gnulib normally doesn't generate a tarball.
101579 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
101581         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
101582         long int, not int, for nanosecond counts, so that people who are
101583         used to POSIX struct timespec won't be surprised.  Reported by Jim
101584         Meyering.
101586 2005-12-28  Bruno Haible  <bruno@clisp.org>
101588         * build-aux/config.rpath: Update from GNU gettext.
101590 2005-12-16  Jim Meyering  <jim@meyering.net>
101592         * modules/fprintftime: New module.
101593         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
101595 2005-12-16  Jim Meyering  <jim@meyering.net>
101597         * m4/fprintftime.m4: New file.
101599 2005-12-16  Jim Meyering  <jim@meyering.net>
101601         * lib/fprintftime.c, lib/fprintftime.h: New files.
101603 2005-12-15  Simon Josefsson  <jas@extundo.com>
101605         * modules/socklen (configure.ac): Fix M4 macro name, to align with
101606         new m4/socklen.m4.
101608 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
101610         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
101611         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
101613 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
101615         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
101616         * lib/argp-help.c (fill_in_uparams): Check if the constructed
101617         struct uparams is valid. Fall back to the default values if it is
101618         not.
101620 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101622         * modules/argp (Files): Add argp-pin.c
101623         (Depends-on): dirname
101624         (lib_SOURCES): Add argp-pin.c
101626 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101628         * m4/argp.m4:  Check if program_invocation_name and
101629         program_invocation_short_name are declared and define appropriate
101630         macros if they are not.
101632 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101634         * lib/argp-help.c (__argp_base_name): New function
101635         (__argp_short_program_name): Rewrite using __argp_base_name
101636         * lib/argp-namefrob.h: Define program_invocation_name and
101637         program_invocation_short_name if requested
101638         (__argp_base_name): Add prototype
101639         * lib/argp-parse.c (argp_def): Use gettext wrappers
101640         (argp_default_parser): Use __argp_base_name
101641         * lib/argp-pin.c: New file. Defines program_invocation_name and
101642         program_invocation_short_name on systems that lack them.
101644 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
101646         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
101647         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
101648         porting problem reported by Georg Schwarz in
101649         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
101651 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
101653         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
101654         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
101655         porting problem reported by Georg Schwarz in
101656         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
101658 2005-12-05  Bruno Haible  <bruno@clisp.org>
101660         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
101661         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
101662         Reported by Mark Junker <mjscod@gmx.de>.
101664 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
101666         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
101667         Use implementation from Albert Chin, with some
101668         comments/corrections by Stepan Kasal and myself.
101670 2005-12-02  Bruno Haible  <bruno@clisp.org>
101672         * gnulib-tool (func_import): Accept GPLed build tool modules when
101673         --lgpl is given.
101674         * modules/csharpcomp-script: New file.
101675         * modules/csharpcomp: Depend on it.
101676         * modules/javacomp-script: New file.
101677         * modules/javacomp: Depend on it.
101678         Suggested by Simon Josefsson.
101680 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
101682         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
101683         statement, to work around an HP-UX 10.20 compiler bug reported by
101684         Peter O'Gorman.
101686 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
101688         * modules/savedir (Depends-on): Add openat.
101690 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
101692         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
101693         (uintmax_t) [defined uintmax_t]: Do not declare.
101694         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
101695         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
101696         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
101697         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
101698         sake of portability to weird hosts that C allows (though we don't
101699         know of any practical examples).
101701         * lib/savedir.h (fdsavedir): New decl.
101702         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
101703         contains most of the former guts of savedir.
101704         (savedir): Use savedirstream.
101705         Include "openat.h".
101707 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
101709         * modules/obstack (Files): Add m4/ulonglong.m4.
101710         Problem reported by Davide Angelocola.
101712 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
101714         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
101715         coreutils no longer futzes with rounding modes.
101717 2005-11-14  Jim Meyering  <jim@meyering.net>
101719         * lib/mkstemp-safer.c: Include <config.h>, required for possible
101720         replacement of mkstemp.
101722 2005-11-10  Simon Josefsson  <jas@extundo.com>
101724         * lib/readline.c: Remove EOL.
101726 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101728         * modules/gethrxtime (Depends-on): Add gettime.
101730 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101732         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
101733         or gettimeofday; no longer needed.
101735 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101737         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
101738         time business.
101739         (gethrxtime) [! (HAVE_NANOUPTIME
101740         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
101741         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
101742         our own approximation.
101744 2005-11-08  Eric Blake  <ebb9@byu.net>
101746         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
101748 2005-11-08  Eric Blake  <ebb9@byu.net>
101750         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
101752 2005-11-04  Bruno Haible  <bruno@clisp.org>
101754         * gnulib-tool: Implement --update mode.
101756 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
101758         Fix porting problem reported by Theodoros V. Kalamatianos.
101759         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
101760         Don't assume that futimes failing means we must fail.
101762 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
101764         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
101765         variables to suggest the intended function of the PATH_MAX check.
101767 2005-10-30  Kean Johnston  <jkj@sco.com>
101769         Trivial changes to support SCO systems.
101770         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
101771         as PATH_MAX.
101772         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
101773         where __ptr is null when no I/O is pending.
101775 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
101777         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
101778         leave errno alone.  Problem reported by Dmitry V. Levin.
101780 2005-10-28  Simon Josefsson  <jas@extundo.com>
101782         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
101783         Test more.
101785         * tests/test-gc-md2.c, tests/test-md2.c: New files.
101787         * modules/md2, modules/md2-tests: New files.
101789 2005-10-28  Simon Josefsson  <jas@extundo.com>
101791         * m4/inet_ntop.m4: More tests.
101793         * m4/gc-md2.m4, md2.m4: New file.
101795 2005-10-28  Simon Josefsson  <jas@extundo.com>
101797         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
101798         "restrict" keywords, as per POSIX.  Protect the function
101799         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
101800         Don't use K&R prototypes.  Check the sprintf return values.
101801         Re-define EAFNOSUPPORT if not present.  Indent.
101803         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
101804         suggested by Bruno Haible <bruno@clisp.org>.
101806         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
101808         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
101810         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
101811         libgcrypt).
101813         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
101815         * lib/md2.h, lib/md2.c: New files.
101817 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
101819         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
101820         errno alone.  Problem reported by Frederic Jolliton.
101822 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
101824         * modules/verify (License): Change from GPL to LGPL.  This is a
101825         tiny module and there are apparently near-equivalents that are
101826         under the BSD license.
101828 2005-10-24  Simon Josefsson  <jas@extundo.com>
101830         * modules/sha1: Relicense to LGPL.
101832 2005-10-24  Simon Josefsson  <jas@extundo.com>
101834         * lib/md4.h: Shrink buffer size, now that we changed the type.
101836 2005-10-23  Simon Josefsson  <jas@extundo.com>
101838         * gnulib-tool (func_import): Fix --tests-base.
101840 2005-10-22  Simon Josefsson  <jas@extundo.com>
101842         * modules/arcfour (Depends-on): Need stdint.
101844 2005-10-22  Simon Josefsson  <jas@extundo.com>
101846         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
101847         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
101849 2005-10-22  Simon Josefsson  <jas@extundo.com>
101851         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
101852         suggested by Bruno Haible <bruno@clisp.org>.
101854 2005-10-22  Simon Josefsson  <jas@extundo.com>
101856         * lib/crc.h: Include stddef.h, for size_t.
101858 2005-10-22  Simon Josefsson  <jas@extundo.com>
101860         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
101861         arcfour_context struct (simplify test vector testing in GNU
101862         Shishi).
101864 2005-10-21  Simon Josefsson  <jas@extundo.com>
101866         * modules/des, modules/des-tests: New files.
101868         * modules/gc-des, modules/gc-des-tests: New files.
101870         * tests/test-des.c, tests/test-gc-des.c: New file.
101872 2005-10-21  Simon Josefsson  <jas@extundo.com>
101874         * modules/arctwo, modules/arctwo-tests: New files.
101876         * tests/test-arctwo.c: New file.
101878         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
101880         * tests/test-gc-arctwo.c: New file.
101882 2005-10-21  Simon Josefsson  <jas@extundo.com>
101884         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
101885         Bruno Haible <bruno@clisp.org>.
101887         * m4/gc-des.m4: New file.
101889 2005-10-21  Simon Josefsson  <jas@extundo.com>
101891         * m4/arctwo.m4: New file.
101893         * m4/gc-arctwo.m4: New file.
101895 2005-10-21  Simon Josefsson  <jas@extundo.com>
101897         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
101898         block.
101900 2005-10-21  Simon Josefsson  <jas@extundo.com>
101902         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
101903         <bruno@clisp.org>.
101905         * lib/hmac-sha1.c (hmac_sha1): Likewise.
101907         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
101908         Bruno Haible <bruno@clisp.org>.
101910         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
101911         <bruno@clisp.org>.
101913 2005-10-21  Simon Josefsson  <jas@extundo.com>
101915         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
101917 2005-10-21  Simon Josefsson  <jas@extundo.com>
101919         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
101921 2005-10-21  Simon Josefsson  <jas@extundo.com>
101923         * lib/des.h, lib/des.c: New files.
101925         * lib/gc-gnulib.c: Support DES.c
101927 2005-10-21  Simon Josefsson  <jas@extundo.com>
101929         * lib/arctwo.h, lib/arctwo.c: New files.
101931         * lib/gc-gnulib.c: Support ARCTWO.
101933 2005-10-21  Simon Josefsson  <jas@extundo.com>
101935         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
101936         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101938 2005-10-21  Simon Josefsson  <jas@extundo.com>
101940         * gnulib-tool (func_import, func_create_testdir): Define automake
101941         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
101942         Makefile.am snippet),
101943         suggested by Bruno Haible <bruno@clisp.org>.
101945         * modules/gc (Makefile.am): Use it.
101947 2005-10-21  Bruno Haible  <bruno@clisp.org>
101949         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
101950         patch.
101952 2005-10-19  Simon Josefsson  <jas@extundo.com>
101954         * tests/test-gc-rijndael.c: New file.
101956         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
101958 2005-10-19  Simon Josefsson  <jas@extundo.com>
101960         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
101961         interface too.
101963 2005-10-19  Simon Josefsson  <jas@extundo.com>
101965         * tests/test-gc-arcfour.c: New file.
101967         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
101969 2005-10-19  Simon Josefsson  <jas@extundo.com>
101971         * modules/gc-md4, modules/gc-md4-tests: New file.
101973         * tests/test-gc-md4.c: New file.
101975 2005-10-19  Simon Josefsson  <jas@extundo.com>
101977         * m4/gc-md4.m4: New file.
101979 2005-10-19  Simon Josefsson  <jas@extundo.com>
101981         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
101982         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
101983         <kasal@ucw.cz>.
101985 2005-10-19  Simon Josefsson  <jas@extundo.com>
101987         * m4/gc-arcfour.m4: New file.
101989         * m4/gc-rijndael.m4: New file.
101991 2005-10-19  Simon Josefsson  <jas@extundo.com>
101993         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
101995 2005-10-19  Simon Josefsson  <jas@extundo.com>
101997         * lib/gc-gnulib.c: Support ARCFOUR.
101999 2005-10-19  Simon Josefsson  <jas@extundo.com>
102001         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
102002         support.
102004         * lib/gc.h: Add ECB enum type.
102006         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
102008 2005-10-18  Simon Josefsson  <jas@extundo.com>
102010         * tests/test-md5.c: New file.
102012         * modules/md5-tests: New file.
102014 2005-10-18  Simon Josefsson  <jas@extundo.com>
102016         * tests/test-md4.c: New file.
102018         * modules/md4, modules/md4-tests: New files.
102020 2005-10-18  Simon Josefsson  <jas@extundo.com>
102022         * m4/md4.m4: New file.
102024 2005-10-18  Simon Josefsson  <jas@extundo.com>
102026         * lib/md4.h, lib/md4.c: New files, based on md5.?.
102028 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
102030         * gnulib-tool (func_create_testdir): Omit the second check whether
102031         BUILT_SOURCES in nonempty.
102033 2005-10-17  Simon Josefsson  <jas@extundo.com>
102035         * tests/test-rijndael.c: New file.
102037 2005-10-17  Simon Josefsson  <jas@extundo.com>
102039         * modules/sha1: Depend on stdint instead of md5.
102041         * modules/md5: Depend on stdint, remove uint32_t.
102043 2005-10-17  Simon Josefsson  <jas@extundo.com>
102045         * modules/gc-sha1-tests: New file.
102047         * tests/test-gc-sha1.c: New file.
102049 2005-10-17  Simon Josefsson  <jas@extundo.com>
102051         * m4/md5.m4: Remove call to uint32_t.m4.
102053 2005-10-17  Simon Josefsson  <jas@extundo.com>
102055         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
102057         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
102058         md5.h.
102060         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
102062         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
102064 2005-10-17  Simon Josefsson  <jas@extundo.com>
102066         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
102068 2005-10-17  Simon Josefsson  <jas@extundo.com>
102070         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
102072 2005-10-17  Simon Josefsson  <jas@extundo.com>
102074         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
102076         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
102078 2005-10-17  Bruno Haible  <bruno@clisp.org>
102080         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
102081         that it can also be used in a test.
102083 2005-10-16  Bruno Haible  <bruno@clisp.org>
102085         * gnulib-tool (func_emit_tests_Makefile_am): Also define
102086         TESTS_ENVIRONMENT, so that individual tests can augment it.
102088         * gnulib-tool (func_create_testdir): Use an intermediate target for
102089         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
102090         macros, like $(ALLOCA_H), which cannot be passed through the command
102091         line.
102093 2005-10-15  Simon Josefsson  <jas@extundo.com>
102095         * modules/rijndael-tests: New file.
102097         * modules/rijndael: New file.
102099 2005-10-15  Simon Josefsson  <jas@extundo.com>
102101         * m4/rijndael.m4: New file.
102103 2005-10-15  Simon Josefsson  <jas@extundo.com>
102105         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
102107         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
102109 2005-10-14  Simon Josefsson  <jas@extundo.com>
102111         * tests/test-arcfour.c: New file.
102113         * modules/arcfour, modules/arcfour-tests: New files.
102115 2005-10-14  Simon Josefsson  <jas@extundo.com>
102117         * m4/arcfour.m4: New file.
102119 2005-10-14  Simon Josefsson  <jas@extundo.com>
102121         * lib/arcfour.h, lib/arcfour.c: New files.
102123 2005-10-14  Roland McGrath  <roland@redhat.com>
102125         Import from libc.  [BZ #1331]
102126         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
102127         macro argument.
102128         Reported by Matej Vela <vela@debian.org>.
102130 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
102132         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
102133         include <wchar.h>; no longer needed.
102135 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
102137         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
102139 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
102140         and  Ulrich Drepper  <drepper@redhat.com>
102142         Import from libc.
102143         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
102144         instead of inline stream orientation test and two separate
102145         function calls.  Pay no attention to USE_IN_LIBIO.
102147 2005-10-13  Simon Josefsson  <jas@extundo.com>
102149         * modules/gc-hmac-md5-tests: New file.
102151         * tests/test-gc-hmac-sha1.c: New file.
102153         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
102155         * modules/gc-hmac-md5-tests: New file.
102157         * tests/test-gc-md5.c: New file.
102159         * modules/gc-md5-tests: New file.
102161 2005-10-13  Simon Josefsson  <jas@extundo.com>
102163         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
102164         Move memory allocation outside of loop.
102166 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
102168         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
102169         intermediate directory is in a read-only file system.  Problem
102170         reported by Eric Blake.
102172 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
102174         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
102176 2005-10-12  Simon Josefsson  <jas@extundo.com>
102178         * tests/test-hmac-sha1.c: New file.
102180         * modules/hmac-sha1-tests: New file.
102182         * modules/hmac-sha1: New file.
102184 2005-10-12  Simon Josefsson  <jas@extundo.com>
102186         * modules/gc-sha1: New file.
102188 2005-10-12  Simon Josefsson  <jas@extundo.com>
102190         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
102192         * tests/test-gc-pbkdf2-sha1.c: New file.
102194 2005-10-12  Simon Josefsson  <jas@extundo.com>
102196         * modules/gc-md5, modules/gc-hmac-md5: New files.
102198         * modules/gc (Files): Remove md5, memxor and hmac files.
102200 2005-10-12  Simon Josefsson  <jas@extundo.com>
102202         * m4/gc-pbkdf2-sha1.m4: New file.
102204         * m4/gc-hmac-sha1.m4: New file.
102206         * m4/gc-sha1: New file.
102208         * m4/hmac-sha1.m4: New file.
102210 2005-10-12  Simon Josefsson  <jas@extundo.com>
102212         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
102214         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
102216 2005-10-12  Simon Josefsson  <jas@extundo.com>
102218         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
102219         suggested by Bruno Haible <bruno@clisp.org>.
102221 2005-10-12  Simon Josefsson  <jas@extundo.com>
102223         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
102225 2005-10-12  Simon Josefsson  <jas@extundo.com>
102227         * lib/gc-pbkdf2-sha1.c: New file.
102229         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
102231 2005-10-12  Simon Josefsson  <jas@extundo.com>
102233         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
102235         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
102237 2005-10-12  Simon Josefsson  <jas@extundo.com>
102239         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
102240         GC_USE_HMAC_MD5, respectively.
102242         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
102243         (gc_md5): Fix typo.
102245         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
102247         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
102249         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
102251 2005-10-12  Bruno Haible  <bruno@clisp.org>
102253         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
102254         Reported by Stepan Kasal <kasal@ucw.cz>.
102256 2005-10-11  Simon Josefsson  <jas@extundo.com>
102258         * tests/test-crc.c: New file.
102260         * modules/crc, modules/crc-tests: New files.
102262 2005-10-11  Simon Josefsson  <jas@extundo.com>
102264         * m4/crc.m4: New file.
102266 2005-10-11  Simon Josefsson  <jas@extundo.com>
102268         * lib/gc.h: Add gc_hash and gc_hash_buffer.
102270         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
102272         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
102274 2005-10-11  Simon Josefsson  <jas@extundo.com>
102276         * lib/crc.h, lib/crc.c: New files.
102278         * lib/gc.h (gc_hash_buffer): Add doc.
102280 2005-10-11  Bruno Haible  <bruno@clisp.org>
102282         * modules/c-strcasestr: New file.
102283         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
102285 2005-10-11  Bruno Haible  <bruno@clisp.org>
102287         * modules/c-strcase: New file.
102288         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
102290 2005-10-11  Bruno Haible  <bruno@clisp.org>
102292         * lib/strcasecmp.c: Include limits.h.
102293         (strcasecmp): Avoid integer overflow on exotic platforms.
102294         * lib/strncasecmp.c: Include limits.h.
102295         (strncasecmp): Avoid integer overflow on exotic platforms.
102296         Reported by Paul Eggert.
102298 2005-10-11  Bruno Haible  <bruno@clisp.org>
102300         * lib/c-strcasestr.h: New file, from GNU gettext.
102301         * lib/c-strcasestr.c: New file, from GNU gettext.
102303 2005-10-11  Bruno Haible  <bruno@clisp.org>
102305         * lib/c-strcase.h: New file, from GNU gettext.
102306         * lib/c-strcasecmp.c: New file, from GNU gettext.
102307         * lib/c-strncasecmp.c: New file, from GNU gettext.
102309 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
102311         * modules/mempcpy (License): GPL -> LGPL.
102312         * modules/strchrnul (License): Likewise.
102313         * modules/sysexits (License): Likewise.
102315 2005-10-08  Simon Josefsson  <jas@extundo.com>
102317         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
102319 2005-10-07  Simon Josefsson  <jas@extundo.com>
102321         * m4/memxor.m4: Remove gl_C_RESTRICT call.
102323 2005-10-06  Simon Josefsson  <jas@extundo.com>
102325         * tests/test-hmac-md5.c: New file.
102327         * modules/hmac-md5-tests: New file.
102329         * modules/hmac-md5: New file.
102331 2005-10-06  Simon Josefsson  <jas@extundo.com>
102333         * m4/hmac-md5.m4: New file.
102335         * m4/memxor.m4: Require gl_C_RESTRICT.
102337 2005-10-06  Simon Josefsson  <jas@extundo.com>
102339         * lib/memxor.c (memxor): Avoid casts and warnings.
102341 2005-10-06  Simon Josefsson  <jas@extundo.com>
102343         * lib/hmac-md5.c: New file.
102345         * lib/hmac.h: New file.
102347 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
102349         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
102350         promotes to int, not unsigned int, to catch the AIX 5.3
102351         compiler bug.
102353 2005-10-05  Simon Josefsson  <jas@extundo.com>
102355         * modules/memxor: New file.
102357         * modules/iconv (Files): Move config.rpath to havelib, it is used
102358         there.
102360         * modules/havelib (Files): Add config.rpath.
102362 2005-10-05  Simon Josefsson  <jas@extundo.com>
102364         * m4/memxor.m4: New file.
102366 2005-10-05  Simon Josefsson  <jas@extundo.com>
102368         * lib/memxor.c (memxor): Fix compiler error.
102370         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
102371         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
102373         * lib/memxor.h, lib/memxor.c: New files.
102375         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
102376         we assume all systems have it, suggested by Jim Meyering
102377         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
102378         any systems lack sys/socket.h; mingw32 is known to lack it, but we
102379         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
102380         same reasons.
102382 2005-10-05  Simon Josefsson  <jas@extundo.com>
102384         * config/srclist.txt: Add glibc bug 1423 for md5.h.
102386 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
102388         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
102389         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
102390         needed, since the source code now assumes these .h files.
102392 2005-10-05  Derek Price  <derek@ximbiot.com>
102394         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
102396 2005-10-05  Bruno Haible  <bruno@clisp.org>
102398         * modules/stdint (License): Change to LGPL.
102400 2005-10-04  Simon Josefsson  <jas@extundo.com>
102402         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
102403         D. Baushke" <mdb@gnu.org>.
102405 2005-10-04  Bruno Haible  <bruno@clisp.org>
102407         * lib/verify.h (verify_true): Provide alternative definition for C++.
102409 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
102411         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
102412         (SSIZE_MAX): New macro, if not already defined.
102413         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
102414         than 2 GiB.
102416 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102418         Sync from coreutils.
102419         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
102420         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
102421         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
102422         ULLONG_MAX doesn't work with 2.7.2.1.
102424 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102426         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
102427         From Ben Pfaff.
102429         * modules/exclude (Depends-on): Depend on verify.
102430         * modules/strtoimax (Depends-on): Likewise.
102431         * modules/utimecmp (Depends-on): Likewise.
102433 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102435         * lib/exclude.c: Include verify.h.
102436         (verify): Remove.  All callers changed to use verify.h's version.
102437         * lib/strtoimax.c: Likewise.
102438         * lib/utimecmp.c: Likewis.e
102440         Sync from coreutils.
102441         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
102442         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
102443         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
102444         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
102445         bother returning ENOSYS if settimeofday or stime fails; just let
102446         them return whatever errno they want to return.
102447         * lib/utimens.c: Include unistd.h, for dup2.
102448         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
102449         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
102451 2005-10-02  Jim Meyering  <jim@meyering.net>
102453         Sync from coreutils.
102454         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
102455         from glibc-2.2.5 that fails for read-only files.
102457 2005-10-02  Jim Meyering  <jim@meyering.net>
102459         Sync from coreutils.
102460         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
102461         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
102462         `#if HAVE_CONFIG_H'.
102463         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
102464         Remove AT_FDCWD test.
102465         Do not consume the fd unless successful.
102466         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
102467         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
102468         block, so that we don't even try to compile it if settimeofday is
102469         available.  This works around a compilation failure on OSF1 V5.1,
102470         due to stime requiring a `long int*' while tv_sec is `int'.
102472 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
102474         Sync from coreutils.
102475         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
102476         against `yes', rather than just testing for nonempty.
102478 2005-10-01  Simon Josefsson  <jas@extundo.com>
102480         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
102481         and Darwin.
102483         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
102484         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
102485         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
102486         freeaddrinfo and gai_strerror are declared by the POSIX headers.
102487         Check if struct addrinfo is declared.
102489 2005-10-01  Simon Josefsson  <jas@extundo.com>
102491         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
102492         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
102493         AI_* and EAI_* definitions.  Protect function declarations.
102495 2005-10-01  Jim Meyering  <jim@meyering.net>
102497         Sync from coreutils.
102499         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
102500         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
102501         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
102502         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
102503         in the inet and nsl libraries.  Required on Solaris 5.7.
102505 2005-10-01  Jim Meyering  <jim@meyering.net>
102507         Sync from coreutils.
102508         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
102509         in the inet and nsl libraries.  Required on Solaris 5.7.
102511 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
102513         * lib/getdelim.c (getdelim): Remove unused variables.
102515 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
102517         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
102518         so that the code works even with ancient cpp.  Portability problem
102519         with GCC 2.7.2.1 reported by Thomas M.Ott.
102521 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
102523         * modules/regex (Depends-on): Add strcase.
102525         * modules/gethostname (Licence): Change from GPL to LGPL, since
102526         gethostname.c is a trivial implementation of a standard library
102527         function.
102528         * modules/poll (License): Change from GPL to LGPL, since it's
102529         derived from LGPL code.
102531 2005-09-27  Jim Meyering  <jim@meyering.net>
102533         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
102534         HAVE_CONFIG_H.
102536         * lib/intprops.h (signed_type_or_expr__): Define.
102537         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
102538         for unsigned types.
102540 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
102542         * lib/verify.h (verify_expr): Remove, replacing with:
102543         (verify_true): New macro that returns true instead of void.
102544         (verify_type__): Remove.
102545         (verify): Use verify_true rather than verify_type__.
102547 2005-09-26  Bruno Haible  <bruno@clisp.org>
102549         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
102550         is necessary.
102551         (lib_SOURCES): Remove mbchar.c.
102552         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
102553         (Files): Add m4/mbrtowc.m4.
102554         * modules/mbiter: Likewise.
102555         * modules/mbuiter: Likewise.
102557 2005-09-26  Bruno Haible  <bruno@clisp.org>
102559         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
102560         compile mbchar.c if they are not both present.
102561         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
102562         * m4/mbiter.m4 (gl_MBITER): Likewise.
102563         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
102564         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
102565         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
102567 2005-09-25  Jim Meyering  <jim@meyering.net>
102569         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
102570         also uses socklen_t.
102572 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
102574         * lib/utimens.c (ENOSYS): Define if not already defined.
102575         (futimens): Support having a null PATH if the file descriptor
102576         is nonnegative.
102578         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
102579         Remove.
102580         (__attribute): Define to empty unless GCC 3.1 or later.
102581         This works around a core dump on OpenBSD 3.4, which has GCC
102582         2.95.3, which dumps core when given __attribute__(()).  It also
102583         simplifies other tests, since we really don't want to bother with
102584         worrying about which ancient version of GCC supported what.
102585         Original problem reported by Yoann Vandoorselaere, with part of
102586         the fix suggested by Derek Price.
102588 2005-09-24  Jim Meyering  <jim@meyering.net>
102590         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
102591         so we can once again use a positive bitfield width of 1 -- now we
102592         don't have to explain why we were using a bitfield width of 2.
102594 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
102596         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
102597         and similarly for the other external symbols.  Problem reported
102598         by James Gallager.
102600         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
102601         bug reported by Jim Meyering.
102603         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
102604         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
102605         not needed, since socklen is a prerequisite module.
102607 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
102609         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
102610         Problem reported by Eric Blake.
102611         (getaddrinfo): Initialize se so that it's not garbage.
102612         Redo internal storage allocation so that it doesn't make unportable
102613         assumptions about alignment.
102614         Fix a memory leak.
102616         * lib/utimens.c (futimens): Use futimesat if available.
102617         Prefer it to futimes since it doesn't have the futimes bug.
102619         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
102620         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
102621         Instead, declare a function that returns a pointer to an array,
102622         and use verify_type__ to declare the size of the array.
102623         Problem and germ of a solution reported by Bruno Haible.
102624         (verify_type__): Use 2, not 1, for bitfield size, to avoid
102625         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
102627 2005-09-23  Jim Meyering  <jim@meyering.net>
102629         Sync from coreutils.
102630         Correct build failure (socklen_t not defined) on at least
102631         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
102632         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
102634 2005-09-23  Jim Meyering  <jim@meyering.net>
102636         * modules/getaddrinfo (Depends-on): Add socklen.
102638 2005-09-23  Bruno Haible  <bruno@clisp.org>
102640         * tests/test-verify.c: New file.
102642 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102644         Sync from coreutils.
102646         * modules/argmatch (Depends-on): Add verify.
102647         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
102648         unistd-safer.
102649         * modules/save-cwd (Depends-on): Likewise.
102651         * modules/openat (Files): Add lib/openat-die.c.
102652         (Depends-on): Remove error, exitfail.
102653         Add dirname.
102655         * modules/verify: New file.
102656         * MODULES.html.sh (Diagnostics <assert.h>): New section,
102657         with "verify" module.
102659 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102661         Sync from coreutils.
102663         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
102664         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
102665         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
102666         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
102667         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
102668         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
102669         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
102670         Don't bother checking for string.h, stdlib.h, unistd.h.
102671         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
102672         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
102673         module's job.
102674         * m4/jm-macros.m4 (gl_MACROS): Likewise.
102675         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
102677         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
102678         (gl_GETDATE): Use it.
102680         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
102682 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102684         Sync from coreutils.
102686         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
102687         stat-time.h.
102688         * lib/argmatch.h: Include verify.h
102689         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
102690         (ARGMATCH_ASSERT): Remove; unused.
102691         * lib/canonicalize.c: Assume STDC_HEADERS.
102692         * lib/exclude.c: Include "strcase.h".
102693         * lib/regex_internal.h [!defined _LIBC]: Likewise.
102694         * lib/getusershell.c: Include stdio--.h rather than stdio.h
102695         and stdio-safer.h.
102696         (getusershell): Call fopen, not fopen_safer.
102697         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
102698         Do not include unistd-safer.h.
102699         (save_cwd): Don't call fd_safer; no longer needed
102700         now that we include fcntl--.h.
102702         * lib/getdate.y (relative_time): New type.
102703         (RELATIVE_TIME_0): New constant.
102704         (parser_control): Use relative_time instead of doing it ourselves.
102705         (%union): Add new relative_time rel member.
102706         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
102707         Now typeless.
102708         (relunit, relunit_snumber): Now of type rel.
102709         (zone, rel, relunit, get_date): Adjust to above changes.
102711         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
102712         Do not include unistd-safer.h.
102713         (getloadavg): Don't call fd_safer; no longer needed
102714         now that we include fcntl--.h.
102716         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
102717         (make_dir_parents): Treat ENOSYS like EEXIST.
102719         Improve quality of diagnostics on restore_cwd failure.
102720         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
102721         (make_dir_parents): Last arg is now int * (for errno), not bool *.
102722         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
102723         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
102724         each time through the loop.  Do not diagnose restore_cwd failure;
102725         that is the caller's job (and perhaps the caller does not care).
102727         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
102728         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
102729         If the file already exists but is not a directory, don't bother
102730         to try to make its parents.
102731         Close potential file descriptor leak if we can't chdir("/") (!).
102732         Don't always return true if chdir($PWD) fails; return true only
102733         if the requested action was done successfully (except for the
102734         chdir($PWD)).
102735         Don't log final directory unless we actually made it.
102736         Refactor to avoid duplicate code to fix up permissions.
102737         Don't attempt to fix up parent permissions if chdir($PWD) fails.
102739         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
102740         to make it a bit faster and (I hope) clearer.
102741         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
102742         Fix bug in formats like %2N.
102744         * lib/verify.h: New file.
102746 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102748         Sync from coreutils.
102749         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
102751 2005-09-22  Jim Meyering  <jim@meyering.net>
102753         Sync from coreutils.
102755         * m4/lstat.m4 (gl_FUNC_LSTAT):
102756         Use AC_LIBSOURCES to require lstat.c and lstat.h.
102757         Remove obsolete comment.
102758         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
102759         * m4/xstrtod.m4: Likewise.
102761         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
102763 2005-09-22  Jim Meyering  <jim@meyering.net>
102765         Sync from coreutils.
102767         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
102769         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
102770         the .tm_year member, since otherwise gcc-4.0 would now warn about
102771         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
102773         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
102774         order to avoid an unsuppressible warning from gcc on 64-bit systems.
102776         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
102777         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
102778         when run in a time zone for which daylight savings time is in effect
102779         for the starting date.
102781         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
102782         stop us from restricting permissions of just-created absolute-named
102783         directories.
102784         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
102785         to restore initial working directory.
102786         * lib/mkdir-p.c (make_dir_parents): New parameter:
102787         different_working_dir, to tell caller if/when we change the working
102788         directory and are unable to return to the initial one.
102789         * lib/mkdir-p.h (make_dir_parents): Update prototype.
102790         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
102791         `return false'.  This fixes a bug introduced on 2004-07-30.
102793         * lib/openat.c (fdopendir): Be sure to close the supplied
102794         file descriptor before returning.  This makes our replacement
102795         implementation a little closer to Solaris's, where fdopendir
102796         ties the file descriptor to the returned DIR* pointer.
102797         * lib/openat.c (unlinkat): New function.
102798         * lib/openat.h (unlinkat): Add prototype.
102799         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
102800         (openat_restore_fail): Rename from openat_restore_die.
102801         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
102803         Provide an alternative to exiting immediately upon save_cwd or
102804         restore_cwd failure.  Now, an application can arrange e.g.,
102805         to perform a longjump in that case.
102806         * lib/openat.c: Include dirname.h.
102807         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
102808         (rpl_openat, fdopendir, fstatat): Call openat_save_die
102809         and openat_restore_die rather than calling error directly.
102810         Don't include "error.h" or "exitfail.h"; they're no longer needed.
102812         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
102813         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
102814         define.
102816         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
102817         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
102818                             int utc, int nanoseconds);
102819         Background:
102820         date should not have to allocate a megabyte of virtual memory to
102821         handle a format argument like +%1048575T.  When implemented with
102822         strftime, it must allocate such a buffer, use strftime to fill it
102823         in, print it, then free it.
102824         With fprintftime, it simply prints everything and exits.
102825         With no need for memory allocation, that's one fewer way to fail.
102826         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
102827         optional field width, not before, so we accept %9:z, not %:9z.
102828         (my_strftime): Be sure to use L_('x') for literals.
102830         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
102831         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
102832         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
102833         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
102834         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
102835         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
102836         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
102837         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
102838         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
102839         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
102840         * lib/xgethostname.c, lib/xreadlink.c:
102841         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
102843         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
102844         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
102845         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
102846         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
102847         and don't include <sys/file.h>).
102849 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
102851         Sync from coreutils.
102853         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
102854         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
102855         [!LDAV_DONE]: Avoid unused variable warning.
102857 2005-09-21  Bruno Haible  <bruno@clisp.org>
102859         * lib/unicodeio.h (unicode_to_mb): New declaration.
102861 2005-09-20  Derek Price  <derek@ximbiot.com>
102863         * lib/getaddrinfo.c: Don't include <netdb.h> included from
102864         getaddrinfo.h.
102866 2005-09-20  Bruno Haible  <bruno@clisp.org>
102868         * gnulib-tool: Remove trailing slashes from the values specified for
102869         --source-base, --m4-base, --tests-base, --aux-dir.
102870         Suggested by Simon Josefsson <jas@extundo.com>.
102872 2005-09-20  Bruno Haible  <bruno@clisp.org>
102874         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
102875         func_modules_to_filelist, func_import, func_create_testdir): Make all
102876         sorting results locale-independent, so that gnulib-cache.m4 doesn't
102877         change when gnulib-tool is invoked in a different locale.
102879 2005-09-19  Simon Josefsson  <jas@extundo.com>
102881         * m4/socklen.m4: Fix typo.
102883 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102885         Use a consistent style for including <config.h>.
102886         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
102887         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
102888         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
102889         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
102890         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
102891         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
102892         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
102893         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
102894         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
102895         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
102896         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
102897         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
102898         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
102899         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
102900         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
102901         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
102902         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
102903         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
102904         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
102905         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
102906         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
102907         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
102908         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
102909         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
102910         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
102911         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
102912         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
102913         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
102914         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
102915         lib/xstrtoumax.c, lib/yesno.c:
102916         Standardize inclusion of config.h.
102917         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
102918         lib/inttostr.h:  Removed inclusion of config.h from header files.
102919         * lib/inttostr.c:  Adjusted in-tree users.
102920         * lib/timespec.h: Remove superfluous warning to include config.h.
102921         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
102922         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
102923         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
102924         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
102925         config.h with HAVE_CONFIG_H.
102927 2005-09-19  Jim Meyering  <jim@meyering.net>
102929         * modules/pathmax (License): Change to LGPL.
102931 2005-09-19  Derek Price  <derek@ximbiot.com>
102933         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
102935 2005-09-19  Bruno Haible  <bruno@clisp.org>
102937         * gnulib-tool (import): Provide default for --tests-base.
102939 2005-09-19  Bruno Haible  <bruno@clisp.org>
102941         * doc/quote.texi: New file, extracted from gnulib.texi.
102942         * doc/ctime.texi: New file, extracted from gnulib.texi.
102943         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
102944         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
102945         * doc/gnulib.texi: Include them.
102947 2005-09-18  Bruno Haible  <bruno@clisp.org>
102949         Portability fix.
102950         * gnulib-tool (func_readlink): New function.
102951         (func_ln_if_changed): Use it.
102953 2005-09-18  Bruno Haible  <bruno@clisp.org>
102955         * gnulib-tool: Support --with-tests also with --import.
102956         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
102957         (func_import): Use variables $testsbase and $inctests. Emit a
102958         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
102959         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
102960         SUBDIRS += $testsdir.
102961         (func_create_testdir): Update.
102963 2005-09-18  Bruno Haible  <bruno@clisp.org>
102965         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
102966         instead of $dry_run.
102967         (func_cp_if_changed, func_mv_if_changed): Remove functions.
102968         (func_ln_if_changed): Don't handle dry-run here.
102969         (func_import): In dry-run mode, detect more precisely which actions
102970         would be performed, and don't use "...ing" verbs.
102972 2005-09-18  Bruno Haible  <bruno@clisp.org>
102974         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
102975         (func_import): Use join on two temporary files instead of three nested
102976         loops, in order to determine which files are new or old.
102978 2005-09-18  Bruno Haible  <bruno@clisp.org>
102980         * gnulib-tool (func_import): Comment out code that spits out the
102981         new files with --dry-run.
102983 2005-09-18  Bruno Haible  <bruno@clisp.org>
102985         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
102987 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
102989         * lib/stat-time.h: New file.
102990         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
102991         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
102992         in a different way.
102993         (timespec_cmp): New function.
102994         * lib/utimecmp.c: Include stat-time.h.
102995         (SYSCALL_RESOLUTION): Depend on whether various struct stat
102996         members exist, not on the obsolescent ST_MTIM_NSEC.
102997         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
102999 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
103001         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
103003 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
103005         * MODULES.html.sh (File system functions): Add stat-time.
103006         * modules/stat-time: New file.
103007         * modules/timespec (Files): Remove m4/st_mtim.m4; this
103008         is now done in a different way, by the stat-time module.
103009         * modules/utimecmp (Depends-on): Add stat-time.
103011 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
103013         * m4/st_mtim.m4: Remove.  Superseded by...
103014         * m4/stat-time.m4: New file.
103015         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
103016         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
103018 2005-09-15  Derek Price  <derek@ximbiot.com>
103020         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
103022 2005-09-15  Derek Price  <derek@ximbiot.com>
103024         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
103025         * lib/regex_internal.c: Ditto, using this...
103026         (__GNUC_PREREQ): ...new macro.
103027         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
103028         using...
103029         (__GNUC_PREREQ): ...this new macro.
103031         * lib/strstr.h: Include string.h. Define strstr as a macro here.
103033 2005-09-15  Derek Price  <derek@ximbiot.com>
103034             Paul Eggert  <eggert@cs.ucla.edu>
103036         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
103037         changes, consolidating in...
103038         * lib/regex_internal.h: ...this file.
103040 2005-09-13  Jim Meyering  <jim@meyering.net>
103042         * lib/canon-host.c: Filter through gnu indent and reword comments
103043         slightly.
103044         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
103046 2005-09-13  Derek Price  <derek@ximbiot.com>
103048         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
103049         failure.
103050         Reported by Jim Meyering  <jim@meyering.net>.
103052 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
103054         * lib/base64.c: Typo.
103055         (base64_encode): Put b64str in initialized data section.
103057 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
103059         Merge glibc and coreutils changes into gnulib, plus a few
103060         extra fixes.
103061         * lib/md5.c: Use #error rather than a string.
103062         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
103063         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
103064         (__attribute__): Define to empty for non recent-GCC.
103065         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
103066         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
103067         Renamed from their non-__ counterparts, with new macros replacing
103068         them if not _LIBC.  Add __THROW attribute.
103069         (rol): Remove.
103070         (struct md5_ctx): Align buffer if using GCC.
103071         * lib/sha1.h (struct sha1_ctx): Likewise.
103072         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
103073         The old name was backwards.
103074         (NOTSWAP): Remove; not used.
103075         (rol): New macro, moved here from md5.h.
103076         (sha1_process_block): Remove a FIXME that doesn't make sense.
103078 2005-09-12  Derek Price  <derek@ximbiot.com>
103080         Return usable errors from canon-host.
103081         * lib/canon-host.h: New file.
103082         * lib/canon-host.c (canon_host): Wrap...
103083         (canon_host_r): ...this new function, which now relies exclusively on
103084         getaddrinfo.
103085         (ch_strerror): New function.
103086         (last_cherror): New global.
103087         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
103088         interface.
103089         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
103090         void *.
103091         (freeaddrinfo): Free ai->ai_canonname when set.
103093 2005-09-12  Derek Price  <derek@ximbiot.com>
103095         Make canon-host require getaddrinfo.
103096         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
103097         AC_LIBSOURCE canon-host.h.  Call...
103098         (gl_PREREQ_CANON_HOST): ...this new function, which requires
103099         gl_GETADDRINFO.
103100         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
103102 2005-09-12  Derek Price  <derek@ximbiot.com>
103104         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
103105         LGPL.
103106         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
103108 2005-09-12  Derek Price  <derek@ximbiot.com>
103110         * lib/gai_strerror.c: Include config.h when available.  Include
103111         getaddrinfo.h before other headers to test interface.
103112         Reported by Larry Jones <lawrence.jones@ugs.com>.
103114 2005-09-12  Derek Price  <derek@ximbiot.com>
103115             Paul Eggert  <eggert@cs.ucla.edu>
103117         * modules/glob (Files): Add glob-libc.h.
103119 2005-09-12  Derek Price  <derek@ximbiot.com>
103120             Paul Eggert  <eggert@cs.ucla.edu>
103122         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
103123         glob_.h, glob-libc.h.
103124         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
103126 2005-09-12  Derek Price  <derek@ximbiot.com>
103127             Paul Eggert  <eggert@cs.ucla.edu>
103129         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
103130         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
103131         protecting things that should be done only in gnulib contexts.
103132         * lib/glob_.h: New file, containing only the glob things needed for
103133         gnulib.
103134         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
103135         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
103136         (glob, globfree, glob_pattern_p): Now defined simply in terms of
103137         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
103138         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
103139         and to respect the namespace rules better.
103141 2005-09-08  Simon Josefsson  <jas@extundo.com>
103143         * modules/socklen: New file.
103145 2005-09-08  Simon Josefsson  <jas@extundo.com>
103147         * m4/socklen.m4: New file.
103149 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103151         * modules/utimens (Files): Add m4/utimbuf.m4, since
103152         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
103153         Reported by Sergey Poznyakoff.
103155 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103157         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
103158         definitions, since that's the preferred style in glibc.
103159         Fix a minor spacing issue, and update copyright notice to match
103160         glibc's.
103162 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103164         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
103166 2005-09-06  Simon Josefsson  <jas@extundo.com>
103168         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
103169         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
103171 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
103173         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
103174         warning.
103176 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
103178         * config/srclist.txt: Add glibc bug 1302.
103180 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
103182         Change bitset word type from unsigned int to unsigned long int,
103183         as this has better performance on typical 64-bit hosts.
103184         Port bitset code to hosts with unusual word sizes.
103185         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
103186         (build_collating_symbol):
103187         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
103188         argument is a bitset.  This is merely a style issue, but it makes
103189         it clearer that an entire array is expected.
103190         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
103191         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
103192         Port to the case where bitset_word is not the same as unsigned int.
103193         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
103194         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
103195         Likewise.
103196         * lib/regexec.c (check_dst_limits_calc_pos_1,
103197         check_subexp_matching_top):
103198         (build_trtable, group_nodes_into_DFAstates):
103199         Likewise.
103200         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
103201         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
103202         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
103203         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
103204         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
103205         * lib/regcomp.c (optimize_subexps, lower_subexp):
103206         Work even if bitset_word has holes in its bitwise representation.
103207         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
103208         * lib/regexec.c (check_dst_limits_calc_pos_1,
103209         check_subexp_matching_top):
103210         Likewise.
103211         * lib/regex_internal.c (re_string_reconstruct):
103212         Don't assume UCHAR_MAX == 255.
103213         * lib/regex_internal.h (bitset_set_all): Likewise.
103214         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
103215         All uses changed.
103216         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
103217         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
103218         All uses changed.
103219         (BITSET_WORD_MAX): New macro.
103220         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
103221         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
103222         (bitset_empty, bitset_copy):
103223         Prefer sizeof (bitset) to multiplying it out ourselves.
103224         (bitset_not_merge): Remove; unused.
103225         (bitset_contain): Return bool, not unsigned int with one bit on.
103226         All callers changed.
103227         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
103228         alignment than re_node_set; do this by defining a new internal
103229         type struct dests_alloc and using it to allocate memory.
103231 2005-09-05  Bruno Haible  <bruno@clisp.org>
103233         * gnulib-tool (func_import): Fix comparison in handling of symbolic
103234         links.
103236 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
103238         * modules/size_max (Makefile.am): Add size_max.h
103240 2005-09-04  Derek Price  <derek@ximbiot.com>
103242         * gnulib-tool (func_import): Fix reversed $symbolic logic.
103244 2005-09-03  Simon Josefsson  <jas@extundo.com>
103246         * gnulib-tool: Fix typo.
103248 2005-09-03  Simon Josefsson  <jas@extundo.com>
103250         * config/srclist.txt: Add glibc bug 1293.
103252 2005-09-03  Derek Price  <derek@ximbiot.com>
103254         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
103255         From Larry Jones <lawrence.jones@ugs.com>.
103257 2005-09-02  Simon Josefsson  <jas@extundo.com>
103259         * modules/socklen: New file.
103261 2005-09-02  Simon Josefsson  <jas@extundo.com>
103263         * modules/havelib: New module.
103265         * modules/gettext, modules/iconv, modules/lock, modules/readline:
103266         Use havelib.
103268 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
103270         Check for arithmetic overflow when calculating sizes, to prevent
103271         some buffer-overflow issues.  These patches are conservative, in the
103272         sense that when I couldn't determine whether an overflow was possible,
103273         I inserted a run-time check.
103274         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
103275         macros.
103276         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
103277         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
103278         (re_xnrealloc, re_x2nrealloc): New inline functions.
103279         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
103280         parse_bracket_exp):
103281         (build_equiv_class, build_charclass): Check for arithmetic overflow
103282         in size expression calculations.
103283         * lib/regex_internal.c (re_string_realloc_buffers):
103284         (build_wcs_upper_buffer, re_node_set_add_intersect):
103285         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
103286         (re_dfa_add_node, register_state): Likewise.
103287         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
103288         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
103289         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
103290         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
103292 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
103294         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
103295         m4/ulonglong.m4.  Problem reported by Martin Lambers.
103297 2005-09-02  Bruno Haible  <bruno@clisp.org>
103299         Support for lib vs. lib64 distinction on biarch platforms.
103300         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
103301         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
103302         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
103304 2005-09-02  Bruno Haible  <bruno@clisp.org>
103306         * gnulib-tool (import): In the other first-use case, provide defaults
103307         as well.
103309 2005-09-02  Bruno Haible  <bruno@clisp.org>
103311         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
103312         patches not yet found in the latest gettext release.
103314 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
103316         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
103317         to avoid a collision with bits/local_lim.h in glibc.
103318         All uses changed.  Problem reported by Dmitry V. Levin in
103319         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
103321         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
103322         bugs in int versus size_t comparisons.
103323         (re_string_context_at): Fix bug where the code assumed that
103324         Idx is signed.
103326         Use bool where appropriate.
103327         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
103328         All callers changed.
103329         (calc_eclosure_iter): Likewise, for ROOT arg.
103330         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
103331         (build_charclass_op): Likewise, for NON_MATCH arg.
103332         * lib/regex_internal.c (re_string_allocate, re_string_construct):
103333         (re_string_construct_common): Likewise, for ICASE arg.
103334         * lib/regexec.c (re_search_2_stub, re_search_stub):
103335         Likewise, for RET_LEN arg.
103336         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
103337         (set_regs): Likewise, for FL_BACKTRACK arg.
103338         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
103339         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
103340         (calc_eclosure_iter, parse_bracket_exp):
103341         Use bool for internal variables that are booleans.
103342         * lib/regexec.c (re_search_internal, check_matching,
103343         proceed_next_node):
103344         (set_regs, build_sifted_states, sift_states_bkref):
103345         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
103346         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
103347         (find_collation_sequence_value):
103348         Likewise.
103349         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
103350         (re_node_set_compare):
103351         Return bool, not int. All callers changed.
103352         * lib/regexec.c (check_halt_node_context, check_dst_limits):
103353         (build_trtable, check_node_accept): Likewise.
103354         * lib/regex_internal.h: Include stdbool.h.
103356         Fix bugs uncovered when converting to bool.
103357         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
103358         failure instead of charging ahead blindly.
103359         * lib/regex_internal.c (register_state): Likewise.
103360         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
103361         for freeing internal storage.
103362         (group_nodes_into_DFA_states): Use unsigned int, not int, for
103363         bitset pieces used as boolean, to avoid undefined behavior
103364         on hosts that do int overflow checking.
103366 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
103368         * config/srclist.txt: Add glibc bugs 1285-1287.
103370 2005-09-01  Jim Meyering  <jim@meyering.net>
103372         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
103373         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
103374         Require gl_STAT_MACROS, too.
103376 2005-09-01  Bruno Haible  <bruno@clisp.org>
103378         * gnulib-tool (import): In the first-use case, provide defaults.
103380 2005-09-01  Bruno Haible  <bruno@clisp.org>
103382         * gnulib-tool (func_import): Remove the .tmp files.
103384 2005-09-01  Bruno Haible  <bruno@clisp.org>
103386         * gnulib-tool (func_import): Fix handling of symbolic links.
103388 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103390         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
103391         old glibc regex code mishandles strings longer than 2**31 bytes.
103392         This patch fixes this when the regex code is used in gnulib
103393         (i.e., outside glibc).
103395         This patch should not affect the use of the regex code inside
103396         glibc.  No doubt this problem also needs to be handled for glibc
103397         as well, but the result will be an incompatible change to the
103398         glibc ABI, and the old ABI will have to be supported too.  That
103399         can be the subject for another patch.
103401         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
103402         governing whether the rest of this patch is active.  By default,
103403         the macro is disabled and the patch has no effect.
103404         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
103405         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
103406         (struct re_pattern_buffer, re_search, re_search_2, re_match):
103407         (re_match_2, re_set_registers): Use the new types.
103408         * lib/regex_internal.h (Idx, re_hashval_t): New types.
103409         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
103410         New macros.
103411         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
103412         (re_string_context_at, bin_tree_t, re_dfastate_t):
103413         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
103414         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
103415         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
103416         (re_string_char_size_at, re_string_wchar_at):
103417         (re_string_elem_size_at):
103418         Use the new types and macros to port to 64-bit hosts.
103419         Use unsigned types for internal values, so that the code
103420         mostly works even for arrays larger than SSIZE_MAX.
103421         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
103422         (search_duplicated_node, calc_eclosure_iter, fetch_number):
103423         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
103424         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
103425         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
103426         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
103427         (calc_inveclosure, parse_dup_op, build_range_exp):
103428         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
103429         (fetch_number, create_token_tree, mark_opt_subexp):
103430         Likewise.
103431         * lib/regex_internal.c (re_string_construct_common,
103432         create_ci_newstate):
103433         (create_cd_newstate, re_string_allocate, re_string_construct):
103434         (re_string_realloc_buffers, build_wcs_upper_buffer):
103435         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
103436         (re_string_reconstruct, re_string_peek_byte_case):
103437         (re_string_fetch_byte_case, re_string_context_at):
103438         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
103439         (re_node_set_init_copy, re_node_set_add_intersect):
103440         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103441         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103442         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
103443         (re_acquire_state, re_acquire_state_context, register_state):
103444         Likewise.
103445         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
103446         search_cur_bkref_entry):
103447         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
103448         (re_search_internal, re_search_2_stub, re_search_stub)
103449         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
103450         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
103451         (update_cur_sifted_state, check_dst_limits):
103452         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
103453         (check_subexp_limits, sift_states_bkref, merge_state_array):
103454         (check_subexp_matching_top, get_subexp, get_subexp_sub):
103455         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
103456         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
103457         (expand_bkref_cache, check_node_accept_bytes):
103458         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
103459         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
103460         (acquire_init_state_context, check_halt_node_context):
103461         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
103462         (sift_states_backward, clean_state_log_if_needed):
103463         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
103464         (find_recover_state, transit_state_sb, transit_state_mb):
103465         (transit_state_bkref, build_trtable, match_ctx_clean):
103466         Likewise.
103467         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
103468         to work around an assumption that REG_MISSING is negative.
103470         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
103471         (seek_collating_symbol_entry) [defined _LIBC]:
103472         (lookup_collation_sequence_value) [defined _LIBC]:
103473         (build_range_exp, build_collating_symbol) [defined _LIBC]:
103474         Use prototypes rather than old-style function definitions.
103475         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
103476         (transit_state_sb) [0]:
103477         (find_collation_sequence_value) [defined _LIBC]: Likewise.
103479         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
103480         rm_eo.
103482         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
103483         (optimize_subexps, lower_subexp):
103484         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
103485         since the signed shift might overflow.  Use 1u<<31 instead.
103486         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
103487         Likewise.
103488         * lib/regexec.c (check_dst_limits_calc_pos_1,
103489         check_subexp_matching_top): Likewise.
103491         * lib/regcomp.c (optimize_subexps, lower_subexp):
103492         Use CHAR_BIT rather than 8, for clarity.
103493         * lib/regexec.c (check_dst_limits_calc_pos_1):
103494         (check_subexp_matching_top): Likewise.
103495         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
103496         have to worry about portability issues when shifting it left.
103497         Remove no-longer-needed test for table_size > 0.
103498         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
103499         in a word, as the resulting behavior is undefined.
103500         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
103501         in one case, a <= should have been an <, and in another case the
103502         whole test was missing.
103503         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
103504         the standard name CHAR_BIT.
103505         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
103506         this is not true on one's complement and signed-magnitude hosts.
103508         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
103509         next_last_offset.
103510         (struct re_dfa_t): Remove unused member states_alloc.
103511         * lib/regcomp.c (init_dfa): Don't initialize unused members.
103513 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103515         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
103516         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
103517         and large-file glibc and in 32-bit large-file Solaris.
103519 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103521         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
103522         lengths fit in regoff_t; this isn't true if regoff_t is the same
103523         width as size_t.
103524         * lib/regex.c (re_search_internal): 5th arg is LAST_START
103525         (= START + RANGE) instead of RANGE.  This avoids overflow
103526         problems when regoff_t is the same width as size_t.
103527         All callers changed.
103528         (re_search_2_stub): Check for overflow when adding the
103529         sizes of the two strings.
103530         (re_search_stub): Check for overflow when adding START
103531         to RANGE; if it occurs, substitute the extreme value.
103533 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103535         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
103537 2005-08-31  Jim Meyering  <jim@meyering.net>
103539         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
103540         a pointer-to-const.
103541         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
103542         (register_state): Likewise.
103543         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
103544         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
103545         (group_nodes_into_DFAstates): Likewise.
103547 2005-08-31  Jim Meyering  <jim@meyering.net>
103549         * check-module: Add a FIXME comment.
103551 2005-08-31  Eric Blake  <ebb9@byu.net>
103553         * modules/unistd-safer (Files): Add unistd--.h.
103554         * modules/stdio-safer (Files): Add stdio--.h.
103556 2005-08-31  Derek Price  <derek@ximbiot.com>
103558         * lib/getdelim.c (getdelim): Return EOF on EOF.
103559         Reported by Larry Jones <lawrence.jones@ugs.com>.
103561 2005-08-31  Bruno Haible  <bruno@clisp.org>
103563         Avoid unnecessary diffs in the generated lib/Makefile.am.
103564         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
103565         the generated files.
103566         (func_import): Don't set cmd.
103568 2005-08-31  Bruno Haible  <bruno@clisp.org>
103570         * lib/strstr.c: Include <stddef.h>, for NULL.
103571         * lib/strcasestr.c: Likewise.
103572         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
103574 2005-08-31  Bruno Haible  <bruno@clisp.org>
103576         * gnulib-tool: New option --macro-prefix.
103577         (func_import): Use macro_prefix.
103578         (import): Handle option --macro-prefix.
103580 2005-08-31  Bruno Haible  <bruno@clisp.org>
103582         * gnulib-tool (import): Rename most ac_* variables to cached_*.
103583         Also use new variables cached_lgpl, cached_libtool.
103585 2005-08-31  Bruno Haible  <bruno@clisp.org>
103587         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
103588         always instantiating them.
103590 2005-08-31  Bruno Haible  <bruno@clisp.org>
103592         * gnulib-tool (func_import): Read the previous cached settings
103593         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
103594         earlier added by gnulib but are now dropped. Warn when a gnulib file
103595         overwrites a non-gnulib file.
103597 2005-08-31  Bruno Haible  <bruno@clisp.org>
103599         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
103600         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
103601         projects that don't keep autogenerated files in CVS. Put into
103602         actioncmd only the specified modules, not the transitive closure.
103604 2005-08-31  Bruno Haible  <bruno@clisp.org>
103606         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
103607         Create directories that shall be filled.
103608         (import): Don't look for gl_* macros in configure.ac. Recurse across
103609         all directories containing a gnulib-cache.m4 files, if meaningful.
103611 2005-08-31  Bruno Haible  <bruno@clisp.org>
103613         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
103614         (import): Set seen_libtool when we see gl_LIBTOOL.
103616 2005-08-31  Bruno Haible  <bruno@clisp.org>
103618         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
103619         declaration macro definitions from generated gnulib.m4.
103621 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
103623         * lib/iconvme.h: Add prototype for iconv_alloc.
103625 2005-08-29  Simon Josefsson  <jas@extundo.com>
103627         * lib/iconvme.c: Fix errno.
103629 2005-08-29  Bruno Haible  <bruno@clisp.org>
103631         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
103632         that it works when the directory contains spaces.
103634 2005-08-29  Bruno Haible  <bruno@clisp.org>
103636         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
103638 2005-08-29  Bruno Haible  <bruno@clisp.org>
103640         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
103641         Emit more advice.
103643 2005-08-29  Bruno Haible  <bruno@clisp.org>
103644         and Stepan Kasal  <kasal@ucw.cz>
103646         * check-module: If more parameters are given, check each of them
103647         separately; add more exceptions, as noted by Jim Meyering.
103648         (check_module): New procedure.
103649         (%exempt_header): Now contains all exceptions.
103651 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
103653         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
103655 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
103657         * lib/iconvme.c: Split iconv_string into iconv_alloc.
103659 2005-08-28  Bruno Haible  <bruno@clisp.org>
103661         * m4/gnulib-tool.m4: New file.
103663 2005-08-27  Jim Meyering  <jim@meyering.net>
103665         * modules/unistd-safer (Files): Add pipe-safer.c.
103666         * modules/fcntl-safer (Files): Add creat-safer.c.
103668 2005-08-27  Jim Meyering  <jim@meyering.net>
103670         * m4/stdlib-safer.m4: New file.  From coreutils.
103671         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
103672         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
103673         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
103674         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
103675         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
103677 2005-08-27  Jim Meyering  <jim@meyering.net>
103679         * lib/fopen-safer.c: Merge minor changes from coreutils.
103680         * lib/dup-safer.c: Likewise.
103681         * lib/fd-safer.c: Likewise.
103683         Merge from coreutils.
103684         * lib/stdio--.h: New file.
103685         * lib/stdlib--.h: New file.
103686         * lib/mkstemp-safer.c: New file.
103688         GNU tar needs these.
103689         * lib/pipe-safer.c: New file.
103690         * lib/creat-safer.c: New file.
103691         * lib/fcntl--.h (creat): Define to creat_safer.
103692         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
103693         * lib/unistd--.h (pipe): Define to pipe_safer.
103694         * lib/unistd-safer.h: Declare pipe_safer.
103696 2005-08-26  Simon Josefsson  <jas@extundo.com>
103698         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
103699         Haible <bruno@clisp.org>.
103701 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
103703         * lib/regex_internal.h: Remove all references to
103704         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
103705         or better.
103706         (bitset_not, bitset_merge, bitset_not_merge):
103707         (bitset_mask, re_string_allocate, re_string_construct):
103708         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
103709         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
103710         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
103711         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
103712         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103713         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103714         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
103715         (re_acquire_state_context):
103716         Remove unnecessary forward decls.
103717         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
103718         Put __attribute at function definition,
103719         now that the function decl has been removed.
103720         * lib/regex_internal.c (re_string_peek_byte_case):
103721         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
103722         Likewise.
103724 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
103726         * m4/regex.m4: Add AC_PREREQ(2.50).
103727         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
103729 2005-08-25  Simon Josefsson  <jas@extundo.com>
103731         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
103732         __fsetlocking.
103734 2005-08-25  Simon Josefsson  <jas@extundo.com>
103736         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
103737         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
103738         GLIBC specific code.
103740 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103742         Make regex safe for g++.  This fixes one real bug (an "err"
103743         that should have been "*err").  g++ problem reported by
103744         Sam Steingold.
103745         * lib/regex_internal.h (re_calloc): New macro, consistent with
103746         re_malloc etc.  All callers of calloc changed to use re_calloc.
103747         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
103748         not int.  All callers changed.
103749         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
103750         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
103751         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
103752         (find_recover_state): Change "err" to "*err"; this fixes what
103753         appears to be a real bug.
103754         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
103755         versus int.
103757 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103759         * modules/regex (Depends-on): Add malloc, since the code
103760         assumes that !malloc(0) means failure.
103762 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103764         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
103766         alloca modernization/simplification for regex.
103767         * lib/regex.c: Remove portability cruft for alloca.  This no longer
103768         needs to be at the start of the file, and can be moved into
103769         regex_internal.h and simplified.
103770         * lib/regex_internal.h: Include <alloca.h>.
103771         (__libc_use_alloca) [!defined _LIBC]: New macro.
103772         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
103773         now works outside glibc.
103775 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103777         * config/srclist.txt: Add glibc bugs 1241, 1245.
103779 2005-08-25  Jim Meyering  <jim@meyering.net>
103781         * lib/open-safer.c: Include <config.h>.
103782         Otherwise, we'd lose LARGEFILE support in any file using
103783         e.g. "fcntl--.h"
103785 2005-08-25  Bruno Haible  <bruno@clisp.org>
103787         * m4/minmax.m4: Require autoconf 2.52.
103788         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
103789         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
103790         alternatives of translit over the alphabet.
103791         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
103793 2005-08-24  Simon Josefsson  <jas@extundo.com>
103795         * tests/test-getpass.c: New file.
103797 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103799         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
103800         for GNU regex features.
103802 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103804         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
103805         * lib/regex.h (regerror): Likewise.
103807         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
103808         requires this.  (The code never needed it.)
103810         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
103811         All uses of recently-renamed identifiers changed to use the new,
103812         POSIX-compliant names.  The code will build and run just fine
103813         without these changes, but it's better to eat our own dog food
103814         and use the standard-conforming names.
103816         * lib/regex.h: Fix a multitude of POSIX name space violations.
103817         These changes have an effect only for programs that define
103818         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
103819         do not change anything for programs compiled in the normal way.
103820         Also, there is no effect on the ABI.
103822         (_REGEX_SOURCE): New macro.
103823         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
103824         defined and _GNU_SOURCE is not; this fixes a name space violation.
103826         Rename the following macros to obey POSIX requirements.
103827         The old names are still visible as macros if _REGEX_SOURCE is defined.
103828         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
103829         RE_BACKSLASH_ESCAPE_IN_LISTS.
103830         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
103831         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
103832         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
103833         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
103834         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
103835         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
103836         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
103837         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
103838         (REG_INTERVALS): renamed from RE_INTERVALS.
103839         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
103840         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
103841         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
103842         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
103843         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
103844         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
103845         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
103846         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
103847         RE_UNMATCHED_RIGHT_PAREN_ORD.
103848         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
103849         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
103850         (REG_DEBUG): renamed from RE_DEBUG.
103851         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
103852         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
103853         unusual, since we can't clash with the POSIX REG_ICASE.
103854         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
103855         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
103856         (REG_NO_SUB): renamed from RE_NO_SUB.
103857         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
103858         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
103859         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
103860         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
103861         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
103862         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
103863         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
103864         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
103865         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
103866         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
103867         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
103868         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
103869         RE_SYNTAX_POSIX_MINIMAL_BASIC.
103870         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
103871         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
103872         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
103873         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
103874         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
103875         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
103876         (REG_FIXED): Renamed from REGS_FIXED.
103877         (REG_NREGS): Renamed from RE_NREGS.
103879         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
103880         of other REG_* macros, since POSIX says the user is allowed to
103881         #undef these macros selectively.
103883         (reg_errcode_t): Update comment stating what other tables need
103884         to be consistent.
103886         Rename the following enum values to obey POSIX requirements.
103887         The old names are still visible as macros.
103888         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
103889         is not defined, since GNU is supposed to be a superset of POSIX as
103890         much as possible, and since we want reg_errcode_t to be a signed
103891         type for implementation consistency.
103892         (_REG_NOERROR): Renamed from REG_NOERROR.
103893         (_REG_NOMATCH): Renamed from REG_NOMATCH.
103894         (_REG_BADPAT): Renamed from REG_BADPAT.
103895         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
103896         (_REG_ECTYPE): Renamed from REG_ECTYPE.
103897         (_REG_EESCAPE): Renamed from REG_EESCAPE.
103898         (_REG_ESUBREG): Renamed from REG_ESUBREG.
103899         (_REG_EBRACK): Renamed from REG_EBRACK.
103900         (_REG_EPAREN): Renamed from REG_EPAREN.
103901         (_REG_EBRACE): Renamed from REG_EBRACE.
103902         (_REG_BADBR): Renamed from REG_BADBR.
103903         (_REG_ERANGE): Renamed from REG_ERANGE.
103904         (_REG_ESPACE): Renamed from REG_ESPACE.
103905         (_REG_BADRPT): Renamed from REG_BADRPT.
103906         (_REG_EEND): Renamed from REG_EEND.
103907         (_REG_ESIZE): Renamed from REG_ESIZE.
103908         (_REG_ERPAREN): Renamed from REG_ERPAREN.
103909         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
103910         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
103911         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
103912         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
103914         (_REG_RE_NAME, _REG_RM_NAME): New macros.
103915         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
103916         changed.  But support the old name if the new one is not defined
103917         and if _REGEX_SOURCE.
103919         Change the following member names in struct re_pattern_buffer.
103920         The old names are still supported if !_REGEX_SOURCE.
103921         The new names are always supported, regardless of _REGEX_SOURCE.
103922         (re_buffer): Renamed from buffer.
103923         (re_allocated): Renamed from allocated.
103924         (re_used): Renamed from used.
103925         (re_syntax): Renamed from syntax.
103926         (re_fastmap): Renamed from fastmap.
103927         (re_translate): Renamed from translate.
103928         (re_can_be_null): Renamed from can_be_null.
103929         (re_regs_allocated): Renamed from regs_allocated.
103930         (re_fastmap_accurate): Renamed from fastmap_accurate.
103931         (re_no_sub): Renamed from no_sub.
103932         (re_not_bol): Renamed from not_bol.
103933         (re_not_eol): Renamed from not_eol.
103934         (re_newline_anchor): Renamed from newline_anchor.
103936         Change the following member names in struct re_registers.
103937         The old names are still supported if !_REGEX_SOURCE.
103938         The new names are always supported, regardless of _REGEX_SOURCE.
103939         (rm_num_regs): Renamed from num_regs.
103940         (rm_start): Renamed from start.
103941         (rm_end): Renamed from end.
103943         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
103944         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
103945         Prepend __ to parameter names.
103947         Undo yesterday's changes.
103949 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103951         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
103952         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
103953         lib/regex.c.
103955 2005-08-24  Jim Meyering  <jim@meyering.net>
103957         Sync from coreutils.
103958         * m4/fcntl-safer.m4: New file.
103960         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
103961         and object files for this module.
103963 2005-08-24  Jim Meyering  <jim@meyering.net>
103965         Sync from coreutils.
103966         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
103968 2005-08-24  Jim Meyering  <jim@meyering.net>
103970         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
103971         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
103973 2005-08-24  Jim Meyering  <jim@meyering.net>
103975         * modules/fcntl-safer: New module.
103976         * modules/fts (Depends-on): Add fcntl-safer.
103977         * MODULES.html.sh (File descriptor based Input/Output):
103978         Add fcntl-safer.
103980 2005-08-24  Bruno Haible  <bruno@clisp.org>
103982         Support for unit test modules.
103983         * modules/README: Mention tests modules.
103984         * modules/TEMPLATE-TESTS: New file.
103985         * gnulib-tool: New options --extract-tests-module, --with-tests and
103986         --tests-base (unused for the moment).
103987         (testsbase, inctests): New variables.
103988         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
103989         (func_verify_module): Exclude TEMPLATE-TESTS.
103990         (func_verify_nontests_module, func_verify_tests_module): New functions.
103991         (func_get_dependencies): Add implicit dependency for tests modules.
103992         (func_get_tests_module): New function.
103993         (func_modules_transitive_closure): When --with-tests was specified,
103994         include the unit tests as well, unless explicitly avoided.
103995         (func_emit_lib_Makefile_am): Ignore the tests modules here.
103996         (func_emit_tests_Makefile_am): New function.
103997         (func_create_testdir): When --with-tests was specified, emit a
103998         tests/ directory.
103999         * MODULES.html.sh (Future developments): Update.
104001 2005-08-24  Bruno Haible  <bruno@clisp.org>
104003         * modules/tls-tests: New file.
104004         * tests/test-tls.c: New file, from GNU gettext.
104006 2005-08-24  Bruno Haible  <bruno@clisp.org>
104008         * modules/lock-tests: New file.
104009         * tests/test-lock.c: New file, from GNU gettext.
104011 2005-08-24  Bruno Haible  <bruno@clisp.org>
104013         * lib/lock.h: Add multiple inclusion guard.
104014         * lib/tls.h: Add multiple inclusion guard.
104016 2005-08-24  Bruno Haible  <bruno@clisp.org>
104018         * gnulib-tool: Add support for the --aux-dir option to
104019         --create-testdir, --create-megatestdir, --test, --megatest.
104020         (func_create_testdir, func_create_megatestdir): Optionally emit a
104021         AC_CONFIG_AUX_DIR directive.
104022         (create-testdir, create-megatestdir, test, megatest): Provide a
104023         default value for $auxdir.
104025 2005-08-24  Bruno Haible  <bruno@clisp.org>
104027         * gnulib-tool (import): Use compound statement instead of subshell
104028         where possible.
104030 2005-08-24  Bruno Haible  <bruno@clisp.org>
104032         * gnulib-tool (import): Change --aux-dir default to "build-aux".
104034 2005-08-24  Bruno Haible  <bruno@clisp.org>
104036         * gnulib-tool (func_version): Update.
104038 2005-08-24  Bruno Haible  <bruno@clisp.org>
104040         * gnulib-tool (func_import, func_create_testdir,
104041         func_create_megatestdir): Quote all autoconf macro arguments.
104043 2005-08-24  Bruno Haible  <bruno@clisp.org>
104045         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
104046         option --force, because --force causes the aclocal.m4 of each
104047         subdirectory to be newer than the corresponding config.h.in.
104049 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104051         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
104052         All contents moved to gl_REGEX.
104053         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
104054         assume that it does.
104056 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104058         * lib/regex.h (REG_NOSYS)
104059         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
104060         Define, since POSIX requires it as of 2001.
104061         (_REG_ENOSYS)
104062         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
104063         New private symbol, used to keep the enum signed in all cases.
104064         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
104065         Youngman in
104066         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
104068         * lib/regex_internal.c (re_string_skip_chars, register_state):
104069         (calc_state_hash):
104070         Remove forward decls; no longer needed now that we use prototypes.
104071         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
104072         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
104073         (clean_state_log_if_needed): Likewise.
104075 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104077         * config/srclist.txt: Add glibc bugs 1231-1233.
104079 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104081         Fix problems reported by Sam Steingold in
104082         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
104083         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
104084         assumed that reg_errcode_t is a signed type, which is not
104085         necessarily true if _XOPEN_SOURCE is not defined.
104086         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
104087         since some compilers warn about it otherwise.
104089 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104091         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
104092         (init_word_char, create_initial_state, duplicate_node_closure):
104093         (fetch_token, peek_token_bracket, build_range_exp):
104094         (build_collating_symbol): Remove forward decls; no longer needed
104095         now that we use prototypes.
104097         * lib/regcomp.c:
104098         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
104099         (re_compile_fastmap_iter, regcomp, regerror, regfree):
104100         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
104101         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
104102         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
104103         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
104104         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
104105         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
104106         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
104107         (build_range_exp, build_collating_symbol, parse_bracket_exp):
104108         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
104109         (build_charclass, build_charclass_op, fetch_number, create_tree):
104110         (create_token_tree, mark_opt_subexp, duplicate_tree):
104111         Use prototypes rather than old-style definitions.
104113         * lib/regex_internal.c:
104114         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
104115         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
104116         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
104117         (re_string_reconstruct, re_string_peek_byte_case):
104118         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
104119         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
104120         (re_node_set_init_copy, re_node_set_add_intersect):
104121         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
104122         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
104123         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
104124         (re_acquire_state, re_acquire_state_context, register_state):
104125         (create_ci_newstate, create_cd_newstate, free_state):
104126         Likewise.
104127         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
104128         re_search_2):
104129         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
104130         (re_search_internal, prune_impossible_nodes):
104131         (acquire_init_state_context, check_matching, static):
104132         (check_halt_node_context, check_halt_state_context, proceed_next_node):
104133         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
104134         (update_regs, sift_states_backward, build_sifted_states):
104135         (clean_state_log_if_needed, merge_state_array):
104136         (update_cur_sifted_state, add_epsilon_src_nodes):
104137         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
104138         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
104139         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
104140         (find_recover_state, check_subexp_matching_top, transit_state_mb):
104141         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
104142         (check_arrival, check_arrival_add_next_nodes):
104143         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
104144         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
104145         (check_node_accept_bytes, check_node_accept, extend_buffers):
104146         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
104147         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
104148         (sift_ctx_init):
104149         Likewise.
104151         * lib/regex_internal.h:
104152         (re_string_allocate, re_string_construct, re_string_reconstruct):
104153         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
104154         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
104155         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
104156         (re_string_context_at, re_string_peek_byte_case):
104157         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
104158         is defined, since we now use prototypes always.
104160         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
104161         C89 or better.  All uses removed.
104163 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104165         * config/srclist.txt: Add glibc bugs 1220-1227.
104167 2005-08-20  Jim Meyering  <jim@meyering.net>
104169         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
104170         of unused local, dfa.
104172 2005-08-20  Bruno Haible  <bruno@clisp.org>
104174         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
104176 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
104178         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
104179         (re_node_set_insert_last, re_dfa_add_node):
104180         Rename local variables to avoid GCC shadowing warnings.
104182 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
104184         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
104185         [defined lint]: Suppress bogus uninitialized-variable warnings.
104187         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
104188         and let the caller return REG_ESPACE if out of space.  This
104189         removes an uninitialied-variable warning with GCC 4.0.1, and also
104190         avoids taking the address of a local variable.  All callers
104191         changed.
104193 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
104195         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
104196         $LIBCSRC/posix/regexec.c.
104197         Add glibc bug 1217 for regcomp.c.
104199 2005-08-19  Jim Meyering  <jim@meyering.net>
104201         * lib/regexec.c (proceed_next_node): Redo local variables to
104202         avoid GCC shadowing warnings.
104204 2005-08-18  Bruno Haible  <bruno@clisp.org>
104206         * lib/strstr.c (strstr): Fix return value in multibyte case.
104207         * lib/strcasestr.c (strcasestr): Likewise.
104209 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
104211         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
104213 2005-08-17  Jim Meyering  <jim@meyering.net>
104215         Make the %s format (seconds since the epoch) work for a negative
104216         number and when used with a zero-padded field width, e.g. %015s.
104218         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
104219         label so that it precedes the code to set `digits'.  Otherwise,
104220         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
104221         print `00-22'.  Now, it prints `-0022', as it should.
104223 2005-08-17  Bruno Haible  <bruno@clisp.org>
104225         * modules/strstr (Files): Add m4/mbrtowc.m4.
104226         (Depends-on): Add mbuiter.
104228 2005-08-17  Bruno Haible  <bruno@clisp.org>
104230         * modules/strcasestr: New file.
104231         * MODULES.html.sh (String handling, based on ANSI C 89): Add
104232         strcasestr.
104234 2005-08-17  Bruno Haible  <bruno@clisp.org>
104236         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
104238 2005-08-17  Bruno Haible  <bruno@clisp.org>
104240         * modules/mbuiter: New file.
104241         * MODULES.html.sh (Extended multibyte and wide character utilities):
104242         Add mbuiter.
104244 2005-08-17  Bruno Haible  <bruno@clisp.org>
104246         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
104247         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
104249 2005-08-17  Bruno Haible  <bruno@clisp.org>
104251         * m4/strcasestr.m4: New file.
104253 2005-08-17  Bruno Haible  <bruno@clisp.org>
104255         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
104256         * lib/strstr.c: Completely rewritten, with multibyte locale support.
104258 2005-08-17  Bruno Haible  <bruno@clisp.org>
104260         * lib/strcasestr.h: New file.
104261         * lib/strcasestr.c: New file.
104263 2005-08-17  Bruno Haible  <bruno@clisp.org>
104265         * lib/strcasecmp.c: Use mbuiter.h.
104267 2005-08-17  Bruno Haible  <bruno@clisp.org>
104269         * lib/mbuiter.h: New file.
104271 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
104273         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
104274         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
104275         and gl_GETOPT are both invoked via different paths (as happens
104276         with GNU tar CVS because it uses both argp and getopt), the former
104277         wins.
104279 2005-08-16  Bruno Haible  <bruno@clisp.org>
104281         * modules/tls: New file.
104282         * MODULES.html.sh (Multithreading): Add tls.
104284 2005-08-16  Bruno Haible  <bruno@clisp.org>
104286         * modules/strnlen1: New file.
104287         * MODULES.html.sh (String handling): Add strnlen1.
104289 2005-08-16  Bruno Haible  <bruno@clisp.org>
104291         * modules/strcase (Files): Add m4/mbrtowc.m4.
104292         (Depends-on): Add strnlen1, mbchar.
104294 2005-08-16  Bruno Haible  <bruno@clisp.org>
104296         * modules/mbiter: New file.
104297         * MODULES.html.sh (Extended multibyte and wide character utilities):
104298         Add mbiter.
104300 2005-08-16  Bruno Haible  <bruno@clisp.org>
104302         * modules/mbfile: New file.
104303         * MODULES.html.sh (Extended multibyte and wide character utilities):
104304         Add mbfile.
104306 2005-08-16  Bruno Haible  <bruno@clisp.org>
104308         * modules/mbchar: New file.
104309         * MODULES.html.sh (Extended multibyte and wide character utilities):
104310         New section.
104312 2005-08-16  Bruno Haible  <bruno@clisp.org>
104314         * m4/tls.m4: New file, from GNU gettext.
104316 2005-08-16  Bruno Haible  <bruno@clisp.org>
104318         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
104319         always.
104320         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
104322 2005-08-16  Bruno Haible  <bruno@clisp.org>
104324         * m4/mbiter.m4: New file.
104326 2005-08-16  Bruno Haible  <bruno@clisp.org>
104328         * m4/mbfile.m4: New file.
104330 2005-08-16  Bruno Haible  <bruno@clisp.org>
104332         * m4/mbchar.m4: New file.
104334 2005-08-16  Bruno Haible  <bruno@clisp.org>
104336         * lib/tls.h: New file, from GNU gettext.
104337         * lib/tls.c: New file, from GNU gettext.
104339 2005-08-16  Bruno Haible  <bruno@clisp.org>
104341         * lib/strnlen1.h: New file.
104342         * lib/strnlen1.c: New file.
104344 2005-08-16  Bruno Haible  <bruno@clisp.org>
104346         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
104347         (mbi_init): Update.
104348         (mbi_avail, mbi_advance): Let the iteration end before the terminating
104349         NUL byte, not after it.
104351 2005-08-16  Bruno Haible  <bruno@clisp.org>
104353         * lib/strcase.h (strcasecmp): Add note in comments.
104354         * lib/strncasecmp.c: Use code from strcasecmp.c.
104355         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
104356         (strcasecmp): Work correctly in multibyte locales.
104358 2005-08-16  Bruno Haible  <bruno@clisp.org>
104360         * lib/mbiter.h: New file.
104362 2005-08-16  Bruno Haible  <bruno@clisp.org>
104364         * lib/mbfile.h: New file.
104366 2005-08-16  Bruno Haible  <bruno@clisp.org>
104368         * lib/mbchar.h: New file.
104369         * lib/mbchar.c: New file.
104371 2005-08-16  Bruno Haible  <bruno@clisp.org>
104373         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
104374         the valid ones. Makes the comparison operations transitive:
104375         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
104376         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
104378 2005-08-15  Simon Josefsson  <jas@extundo.com>
104380         * modules/ssize_t (License): Change to 'unlimited'.
104382         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
104384 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
104386         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
104387         Add comments for each pending glibc patch.
104389 2005-08-15  Bruno Haible  <bruno@clisp.org>
104391         * lib/regex.h (__restrict_arr): Don't define to __restrict if
104392         __cplusplus is defined.
104394 2005-08-14  Jim Meyering  <jim@meyering.net>
104396         Sync from coreutils.
104398         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
104399         Use the hash-table-based cycle-detection code not just when
104400         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
104401         Reported by James Youngman in
104402         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
104403         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
104404         FTS_TIGHT_CYCLE_CHECK.
104405         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
104406         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
104407         once again.
104408         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
104409         * lib/fts.c (fd_safer): Remove decl.
104410         Include fcntl--.h rather than unistd-safer.h
104411         (fts_safe_changedir): Don't call fd_safer; no longer needed
104412         now that we include fcntl--.h.
104414 2005-08-12  Simon Josefsson  <jas@extundo.com>
104416         * modules/getndelim2: Use ssize_t module.
104417         * modules/getnline: Likewise.
104418         * modules/safe-read: Likewise.
104419         * modules/xreadlink: Likewise.
104421         * modules/ssize_t: New file.
104423 2005-08-12  Simon Josefsson  <jas@extundo.com>
104425         * m4/readline.m4: Look for termcap, curses or ncurses if required.
104427 2005-08-12  Simon Josefsson  <jas@extundo.com>
104429         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
104430         ssize_t.
104432 2005-08-12  Simon Josefsson  <jas@extundo.com>
104434         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
104435         readline, getdelim and check_version.
104436         (Support for systems lacking ISO C 99: Sizes of integer types):
104437         Add size_max.
104439 2005-08-12  Bruno Haible  <bruno@clisp.org>
104441         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
104443 2005-08-11  Simon Josefsson  <jas@extundo.com>
104445         * modules/readline: New file.
104447         * modules/strnlen (Files): Add strnlen.h.
104449 2005-08-11  Simon Josefsson  <jas@extundo.com>
104451         * m4/readline.m4: New file.
104453 2005-08-11  Simon Josefsson  <jas@extundo.com>
104455         * lib/readline.h, readline.c: New file.
104457 2005-08-11  Simon Josefsson  <jas@extundo.com>
104459         * doc/gnulib.texi (Initial import, Finishing touches): Mention
104460         gl_AVOID.
104462 2005-08-11  Bruno Haible  <bruno@clisp.org>
104464         * lib/strnlen.h (strnlen): Change parameter name to match comment.
104466 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
104468         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
104470 2005-08-10  Simon Josefsson  <jas@extundo.com>
104472         * tests/test-iconvme.c: New file.
104474 2005-08-10  Simon Josefsson  <jas@extundo.com>
104476         * m4/strnlen.m4: New file.
104478         * m4/strndup.m4: Don't check for strnlen declaration, done in
104479         strnlen.m4.
104481 2005-08-10  Simon Josefsson  <jas@extundo.com>
104483         * lib/strndup.c: Use strnlen.h.
104485         * lib/strnlen.h: New file.
104487 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
104489         * README: Typos.
104491 2005-08-02  Simon Josefsson  <jas@extundo.com>
104493         * modules/readline: New file.
104495 2005-08-02  Simon Josefsson  <jas@extundo.com>
104497         * modules/getdelim: New file.
104499         * modules/getline: Rewrite, don't use getndelim2.
104501 2005-08-02  Simon Josefsson  <jas@extundo.com>
104503         * m4/getline.m4: Separate out getdelim stuff into separate module.
104505         * m4/getdelim.m4: New file.
104507 2005-08-02  Simon Josefsson  <jas@extundo.com>
104509         * lib/getline.h, getline.c: Rewrite.
104511         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
104513 2005-07-31  Bruno Haible  <bruno@clisp.org>
104515         * lib/lock.h (gl_lock_initializer): New macro.
104516         (gl_lock_define_initialized): Use it.
104517         (gl_rwlock_initializer): New macro.
104518         (gl_rwlock_define_initialized): Use it.
104519         (gl_recursive_lock_initializer): New macro.
104520         (gl_recursive_lock_define_initialized): Use it.
104522 2005-07-30  Karl Berry  <karl@gnu.org>
104524         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
104525         Report from Ben Pfaff, regarding getopt.
104527 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
104529         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
104530         normal way.
104531         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
104532         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
104533         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
104534         (gl_GETOPT): Use the new macros.  Most of the implementation
104535         is moved to the new macros.  This is for programs like Emacs
104536         that don't want all the functionality of gl_GETOPT.
104538 2005-07-26  Bruno Haible  <bruno@clisp.org>
104540         * m4/lock.m4: Update from GNU gettext.
104542 2005-07-26  Bruno Haible  <bruno@clisp.org>
104544         * lib/lock.h: Update from GNU gettext.
104545         * lib/lock.c: Update from GNU gettext.
104547 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
104549         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
104550         obsolescent AC_TRY_RUN.  Include the default includes files, for
104551         'exit'.
104553 2005-07-24  Bruno Haible  <bruno@clisp.org>
104555         * modules/visibility: New file.
104556         * MODULES.html.sh (Misc): Add visibility.
104558 2005-07-24  Bruno Haible  <bruno@clisp.org>
104560         * m4/visibility.m4: New file.
104562 2005-07-24  Bruno Haible  <bruno@clisp.org>
104564         * doc/visibility.texi: New file.
104566 2005-07-22  Bruno Haible  <bruno@clisp.org>
104568         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
104569         $(ALLOCA_H), redundant through BUILT_SOURCES.
104570         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
104571         redundant through BUILT_SOURCES.
104572         * modules/byteswap (Makefile.am): Remove explicit dependency on
104573         $(BYTESWAP_H), redundant through BUILT_SOURCES.
104574         * modules/fnmatch (Makefile.am): Remove explicit dependency on
104575         $(FNMATCH_H), redundant through BUILT_SOURCES.
104576         * modules/getopt (Makefile.am): Remove explicit dependency on
104577         $(GETOPT_H), redundant through BUILT_SOURCES.
104578         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
104579         redundant through BUILT_SOURCES.
104580         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
104581         redundant through BUILT_SOURCES.
104582         * modules/stdbool (Makefile.am): Remove explicit dependency on
104583         $(STDBOOL_H), redundant through BUILT_SOURCES.
104584         * modules/stdint (Makefile.am): Remove explicit dependency on
104585         $(STDINT_H), redundant through BUILT_SOURCES.
104586         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
104587         Remove explicit dependency on $(SYSEXITS_H).
104588         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
104590 2005-07-18  Simon Josefsson  <jas@extundo.com>
104592         * lib/check-version.c (check_version): Accept identical versions too.
104594 2005-07-18  Bruno Haible  <bruno@clisp.org>
104596         * modules/lock: New file.
104597         * MODULES.html.sh (Multithreading): New section.
104599 2005-07-18  Bruno Haible  <bruno@clisp.org>
104601         * m4/lock.m4: New file, from GNU gettext.
104603 2005-07-18  Bruno Haible  <bruno@clisp.org>
104605         * lib/lock.h: New file, from GNU gettext.
104606         * lib/lock.c: New file, from GNU gettext.
104608 2005-07-18  Bruno Haible  <bruno@clisp.org>
104610         * lib/lock.h (gl_once_t): New type.
104611         (gl_once_define, gl_once): New macros.
104612         * lib/lock.c (fresh_once): New variable.
104613         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
104614         functions.
104616 2005-07-16  Simon Josefsson  <jas@extundo.com>
104618         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
104619         workaround, suggested by Bruno.
104621 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
104623         * modules/xalloc (Depends-on): Add xalloc-die.
104624         * modules/xvasprintf (Depends-on): Add xalloc-die.
104626 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
104628         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
104629         with a minor change.
104631 2005-07-15  Bruno Haible  <bruno@clisp.org>
104633         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
104634         When using lib/poll.c, define poll as rpl_poll.
104636 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
104638         * modules/argp (Depends-on): Remove unlocked-io.
104640 2005-07-14  Derek Price  <derek@ximbiot.com>
104642         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
104643         for glob symlink bug.
104645 2005-07-14  Bruno Haible  <bruno@clisp.org>
104647         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
104648         Instead, test for *_unlocked function declarations directly.
104650 2005-07-11  Simon Josefsson  <jas@extundo.com>
104652         * modules/size_max: New file.
104654         * modules/xsize: Depend on size_max module for size_max.m4.
104656 2005-07-11  Simon Josefsson  <jas@extundo.com>
104658         * lib/size_max.h: New file.
104660 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
104662         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
104663         copyright symbol and the year.
104664         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
104665         (version_etc_va): Use parameterized copyright notice.
104666         Reword to conform to the current GNU coding standards.
104668 2005-07-11  Karl Berry  <karl@gnu.org>
104670         * doc/gnulib.texi (Quoting): new node.
104671         (Initial import): more info, from Patrice.
104673 2005-07-11  Bruno Haible  <bruno@clisp.org>
104675         * gnulib-tool (func_usage): Document option --avoid.
104676         (Command line options): Handle --avoid.
104677         (func_acceptable): New function.
104678         (func_modules_transitive_closure): Use it.
104680 2005-07-11  Bruno Haible  <bruno@clisp.org>
104682         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
104683         Reported by Jim Meyering.
104685 2005-07-10  Bruno Haible  <bruno@clisp.org>
104687         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
104688         Needed when size_t is smaller than 'unsigned int'.
104689         Reported by Paul Eggert.
104691 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
104693         * modules/argp (Depends-on): Add unlocked-io
104695 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
104697         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
104698         block of defines.
104700 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
104702         * config/srclist.txt: Comment out regcomp.c, since we have a porting
104703         fix now.
104705 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
104706         and Paul Eggert  <eggert@cs.ucla.edu>
104708         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
104709         in wint_t, not wchar_t.  Remove now-unnecessary cast.
104711 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104713         * modules/regex (Files): Add lib/regex_internal.c,
104714         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
104715         (Depends-on): Add extensions.
104716         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
104718 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104720         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
104721         pathconf.
104722         * m4/same.m4 (gl_SAME): Likewise.
104723         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
104725         * m4/regex.m4: Adjust to new libc regex implementation.
104726         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
104727         all the .c and .h parts of (the new) regex.
104728         Quote the m4 stuff better.
104729         Check for RE_ICASE bug of old gnulib.
104730         Check for REG_STARTEND of recent libc.
104731         Rename local variables from jm_* to gl_*.
104732         Quote operand of "test -f".
104733         Say "recent enough" version of libc, not "version 2".
104734         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
104735         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
104736         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
104737         Remove check for btowc, isascii.
104738         Require AM_LANGINFO_CODESET.
104740 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104742         * lib/regex.c, regex.h: Sync from libc.
104743         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
104744         * lib/regexec.c:
104745         New files, synced from libc, except that regex_internal.h
104746         currently has a small porting fix.
104748 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104750         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
104751         regex_internal.c, regexec.c.
104752         Add regex_internal.h too, but as a comment, since the libc version
104753         is currently broken in gnulib mode.
104755 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
104757         Support programs like Emacs that use gnulib but not gettext.
104758         * MODULES.html.sh (Internationalization functions): Add gettext-h.
104759         * modules/gettext-h: New file.
104760         * modules/gettext (Files): Remove lib/gettext.h.
104761         (Depends-on): Add gettext-h.
104762         (Makefile.am): Remove lib_SOURCES.
104763         * modules/argmatch, modules/c-stack, modules/closeout:
104764         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
104765         * modules/execute, modules/file-type, modules/getaddrinfo:
104766         * modules/getopt, modules/human, modules/javacomp:
104767         * modules/javaexec, modules/mkdir-p, modules/obstack:
104768         * modules/openat, modules/pagealign_alloc, modules/pipe:
104769         * modules/quotearg, modules/regex, modules/rpmatch:
104770         * modules/unicodeio, modules/userspec, modules/version-etc:
104771         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
104772         * modules/xsetenv:
104773         Depend on gettext-h, not gettext.
104775 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
104777         * gnulib-tool (func_import): Add support for 'public domain' license.
104778         * modules/alloca, modules/atexit, modules/memmove:
104779         Now public domain, not GPL.
104780         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
104781         * modules/realloc, modules/strerror, modules/strtod:
104782         Now LGPL, not GPL.
104784 2005-07-05  Bruno Haible  <bruno@clisp.org>
104786         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
104787         autoconf CVS. Needed for mingw.
104789 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104791         Remove the dependency of the strftime module on the tzset module.
104792         * modules/strftime (Depends-on): Remove dependency on tzset.
104794 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104796         Remove the dependency of the strftime module on the tzset module.
104797         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
104798         gl_FUNC_TZSET_CLOBBER.
104800 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104802         Remove the dependency of the strftime module on the tzset module.
104803         * lib/strftime.c (my_strftime)
104804         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
104805         Copy the input structure, to work around some of the bug with
104806         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
104807         Solaris releases, you should also use the tzset module, but we won't
104808         require it as a dependency any more since we don't want LGPLed code
104809         to depend on GPLed code.
104811 2005-07-02  Jim Meyering  <jim@meyering.net>
104813         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
104814         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
104815         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
104816         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
104818 2005-07-02  Jim Meyering  <jim@meyering.net>
104820         * lib/backupfile.c (backup_args): Change a `0' to NULL.
104822 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
104824         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
104825         declares only 'struct timespec;' (!).
104827 2005-07-01  Jim Meyering  <jim@meyering.net>
104829         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
104830         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
104831         * lib/save-cwd.c, tempname.c:
104832         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
104833         and don't include <sys/file.h>).
104835 2005-06-29  Jim Meyering  <jim@meyering.net>
104837         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
104838         type name.  Use the variable name instead.
104839         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
104840         Likewise.
104842 2005-06-28  Simon Josefsson  <jas@extundo.com>
104844         * modules/check-version (Files): Add check-version.m4.
104846 2005-06-28  Simon Josefsson  <jas@extundo.com>
104848         * m4/check-version.m4: New file, suggested by Jim Meyering
104849         <jim@meyering.net>.
104851 2005-06-28  Simon Josefsson  <jas@extundo.com>
104853         * lib/check-version.h, lib/check-version.c: New files.
104855 2005-06-28  Simon Josefsson  <jas@extundo.com>
104857         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
104858         collision with global variable.  Better indentation.  Don't
104859         increment buffer pointer beyond buffer end.  Based on comments
104860         from Paul Eggert <eggert@cs.ucla.edu>.
104862         * lib/base64.h: Indent.
104864 2005-06-28  Simon Josefsson  <jas@extundo.com>
104866         * doc/gnulib.texi (Library version handling): New section.
104868 2005-06-28  Jim Meyering  <jim@meyering.net>
104870         * check-module (find_included_lib_files): Hard-code another
104871         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
104872         but modules/fts-lgpl (correctly) does not list those files.
104874         * modules/canonicalize (Files): Add lib/pathmax.h.
104876 2005-06-25  Simon Josefsson  <jas@extundo.com>
104878         * modules/check-version: New file.
104880 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
104882         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
104883         initializer of struct addrinfo, as an indication that we don't
104884         care how many members the structure has.
104886 2005-06-24  Derek Price  <derek@ximbiot.com>
104887         and Bruno Haible  <bruno@clisp.org>
104889         Remove stat module & update lstat.
104890         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
104891         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
104892         * m4/stat.m4: Remove this file.
104894 2005-06-24  Derek Price  <derek@ximbiot.com>
104895         and Bruno Haible  <bruno@clisp.org>
104897         Remove stat module & update lstat.
104898         * lib/stat.c: Remove this file...
104899         (slash_aware_lstat): ...moving this content and its support...
104900         * lib/lstat.c (rpl_lstat): ...into here.
104901         * lib/lstat.h: New file.
104903 2005-06-24  Derek Price  <derek@ximbiot.com>
104904         and Bruno Haible  <bruno@clisp.org>
104906         Remove stat module & update lstat.
104907         * config/srclist.txt (libc sources): Remove stat.
104909 2005-06-24  Derek Price  <derek@ximbiot.com>
104910         and Bruno Haible  <bruno@clisp.org>
104912         Remove stat module & update lstat.
104913         * MODULES.html.sh (stat): Remove.
104914         * MODULES.html: Regenerated.
104915         * modules/lstat (Description): Correct function name.
104916         (Files): Add "lstat.h".
104917         (Depends-on): Remove stat, add xalloc, stat-macros.
104918         * modules/stat: Remove this file.
104919         (Include): Add "lstat.h", remove <sys/stat.h>.
104921 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
104923         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
104924         (ranged_convert): Don't save conversion in a temporary struct.
104925         This causes a warning with GCC 4.0.0, and anyway in the typical
104926         case it's not worth the extra 100 bytes or so of code.
104927         (ranged_convert, __mktime_internal): When calling a function via a
104928         pointer P, use P () rather than (*P) (), as we now assume C89 or
104929         better.
104931 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
104933         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
104934         "who -r" failed to give output.  Problem reported by Tim Waugh.
104936         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
104937         (xcalloc): Use it to avoid needless tests.
104938         Problem reported by Jim Meyering.
104940 2005-06-20  Derek Price  <derek@ximbiot.com>
104942         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
104943         unnecessary for Autoconfs > 2.59c.
104945 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
104947         * lib/argp.h (__option_is_short): Check upper limit of
104948         __key. Isprint() requires its argument to have the value
104949         of an unsigned char or EOF.
104951 2005-06-16  Jim Meyering  <jim@meyering.net>
104953         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
104954         when either N or S is zero.
104956 2005-06-16  Derek Price  <derek@ximbiot.com>
104958         * m4/bison.m4: Declare YACC & YFLAGS precious.
104960 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
104962         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
104963         multibyte string or pattern, fall back on unibyte matching.
104964         Problem reported by James Youngman.
104966 2005-06-08  Bruno Haible  <bruno@clisp.org>
104968         * modules/csharpcomp: New file.
104969         * MODULES.html.sh (C#): Add csharpcomp.
104971 2005-06-08  Bruno Haible  <bruno@clisp.org>
104973         * m4/csharpcomp.m4: New file, from GNU gettext.
104975 2005-06-08  Bruno Haible  <bruno@clisp.org>
104977         * lib/csharpcomp.h: New file, from GNU gettext.
104978         * lib/csharpcomp.c: New file, from GNU gettext.
104979         * lib/csharpcomp.sh.in: New file, from GNU gettext.
104981 2005-06-08  Bruno Haible  <bruno@clisp.org>
104983         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
104984         warning on mingw.
104986 2005-06-07  Derek Price  <derek@ximbiot.com>
104988         Sync from CVS.
104989         * lib/glob_.h: Indent nested #ifdef.
104991 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
104993         Sync from coreutils.
104994         Use "file name" when talking about file names, instead of "filename"
104995         or "path", as per the GNU coding standards.
104996         * lib/mkdir-p.c: Renamed from makepath.c.
104997         (make_dir_parents): Renamed from make_path.  All callers changed.
104998         * lib/mkdir-p.h: Likewise.  All includers changed.
104999         * lib/filenamecat.c: Renamed from path-concat.c.
105000         (file_name_concat): Renamed from path_concat.  All callers changed.
105001         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
105002         * lib/filenamecat.h: Likewise.  All includers changed.
105003         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
105004         in comments or local variable names.
105005         * lib/basename.c: Likewise.
105006         * lib/canonicalize.c, canonicalize.h: Likewise.
105007         * lib/dirname.c, dirname.h: Likewise.
105008         * lib/euidaccess.c: Likewise.
105009         * lib/exclude.c: Likewise
105010         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
105011         * lib/fsusage.c, fsuage.h: Likewise.
105012         * lib/fts.c, fts_.h: Likewise.
105013         * lib/getcwd.c: Likewise.
105014         * lib/getloadavg.c: Likewise.
105015         * lib/mkstemp.c: Likewise.
105016         * lib/mountlist.c, mountlist.h: Likewise.
105017         * lib/openat.c, openat.h: Likewise.
105018         * lib/readlink-stub.c: Likewise.
105019         * lib/readutmp.c, readutmp.h: Likewise.
105020         * lib/rename.c: Likewise.
105021         * lib/rmdir.c: Likewise.
105022         * lib/same.c: Likewise.
105023         * lib/savedir.c: Likewise.
105024         * lib/stripslash.c: Likewise.
105025         * lib/tempname.c: Likewise.
105026         * lib/xreadlink.c: Likewise.
105027         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
105028         All uses changed.
105029         * lib/exclude.h: Likewise.
105031         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
105032         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
105033         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
105034         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
105035         * lib/pathmax.h: Include <limits.h> unconditionally, since other
105036         files have been getting away with it for years (MORE/BSD 4.3
105037         is extinct now).
105038         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
105039         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
105041         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
105042         Define to 256, not 255, as per modern POSIX.
105044 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
105046         Sync from coreutils.
105047         Use "file name" when talking about file names, instead of "filename"
105048         or "path", as per the GNU coding standards.
105049         * MODULES.html.sh: mkdir-p renamed from makepath.
105050         filenamecat renamed from path-concat.
105051         * modules/filenamecat: Renamed from modules/path-concat.
105052         (Files): filenamecat.h and filenamecat.c renamed from
105053         path-concat.h and path-concat.c.
105054         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
105055         (Include): filenamecat.h, not path-concat.h.
105056         * modules/mkdir-p: Renamed from modules/makepath.
105057         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
105058         makepath.c.
105059         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
105060         (Include): mkdir-p.h, not makepath.h.
105062 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
105064         Sync from coreutils.
105065         * m4/mkdir-p.m4: Renamed from makepath.m4.
105066         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
105067         Rename files from makepath.c to mkdir-p.c, and from
105068         makepath.h to mkdir-p.h.
105069         * m4/filenamecat.m4: Renamed from path-concat.m4.
105070         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
105071         Rename files from path-concat.c to filenamecat.c,
105072         and from path-concat.h to filenamecat.h.
105073         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
105074         "file name" in local variables or comments.
105075         * m4/rename.m4: Likewise.
105077 2005-06-01  Bruno Haible  <bruno@clisp.org>
105079         * modules/csharpexec: New file.
105080         * MODULES.html.sh (C#): New section.
105082 2005-06-01  Bruno Haible  <bruno@clisp.org>
105084         * m4/csharp.m4: New file, from GNU gettext.
105085         * m4/csharpexec.m4: New file, from GNU gettext.
105087 2005-06-01  Bruno Haible  <bruno@clisp.org>
105089         * lib/csharpexec.h: New file, from GNU gettext.
105090         * lib/csharpexec.c: New file, from GNU gettext.
105091         * lib/csharpexec.sh.in: New file, from GNU gettext.
105093 2005-05-31  Derek Price  <derek@ximbiot.com>
105094             Paul Eggert  <eggert@cs.ucla.edu>
105096         Sync from cvs.
105097         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
105099 2005-05-31  Derek Price  <derek@ximbiot.com>
105100             Paul Eggert  <eggert@cs.ucla.edu>
105102         Sync from cvs.
105103         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
105105 2005-05-29  Derek Price  <derek@ximbiot.com>
105107         * config/srclist.txt (glob_.h, glob.c): Add these files.
105109 2005-05-29  Derek Price  <derek@ximbiot.com>
105111         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
105112         * modules/glob: New file.
105113         * modules/getlogin_r: Add link to POSIX spec in description.
105115 2005-05-29  Derek Price  <derek@ximbiot.com>
105116             Paul Eggert  <eggert@cs.ucla.edu>
105118         * m4/glob.m4: New file.
105120 2005-05-29  Derek Price  <derek@ximbiot.com>
105121             Paul Eggert  <eggert@cs.ucla.edu>
105123         * lib/glob_.h, lib/glob.c: New files.
105125 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
105127         * modules/fts (Files): Remove m4/inttypes-pri.m4.
105128         * modules/fts-lgpl (Depends-on): Remove gettext.
105130 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
105132         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
105133         and don't require gt_INTTYPES_PRI.
105135 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
105137         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
105139         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
105140         the configuration hassle isn't worth it.
105141         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
105142         (LONGEST_MODIFIER, PRIuMAX): Remove.
105144 2005-05-27  Bruno Haible  <bruno@clisp.org>
105146         * lib/getlogin_r.h: Remove second include of <stddef.h>.
105148 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
105150         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
105151         _POSIX_PTHREAD_SEMANTICS for Solaris.
105153 2005-05-25  Derek Price  <derek@ximbiot.com>
105155         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
105157 2005-05-25  Derek Price  <derek@ximbiot.com>
105158             Paul Eggert  <eggert@cs.ucla.edu>
105160         * modules/getlogin_r, m4/getlogin_r.m4: New files.
105161         * lib/getlogin_r.c, getlogin_r.h: New files.
105163 2005-05-25  Bruno Haible  <bruno@clisp.org>
105164             Derek Price  <derek@ximbiot.com>
105166         * lib/getlogin_r.h: Simplify API documentation.
105168 2005-05-23  Derek Price  <derek@ximbiot.com>
105170         * modules/minmax (Files): Add m4/minmax.m4.
105171         (configure.ac): Add gl_MINMAX.
105173 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
105175         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
105176         so that unistd-safer.h (GPL'ed code) need not be included.
105178 2005-05-22  Bruno Haible  <bruno@clisp.org>
105180         * m4/minmax.m4: New file.
105181         Based on a patch by Derek Price <derek@ximbiot.com>.
105183 2005-05-22  Bruno Haible  <bruno@clisp.org>
105185         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
105186         (INT64_MIN): Fix definition.
105187         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
105189         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
105190         NEED_SIGNED_INT_TYPES.
105192         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
105193         HAVE_SYSTEM_INTTYPES.
105195 2005-05-22  Bruno Haible  <bruno@clisp.org>
105197         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
105198         Also include <sys/param.h> if it defines MIN, MAX.
105199         Based on a patch by Derek Price <derek@ximbiot.com>.
105201 2005-05-21  Jim Meyering  <jim@meyering.net>
105203         * modules/fts (Files): Add m4/inttypes-pri.m4.
105204         (Depends-on): Add lstat and remove gettext.  Alphabetize.
105206 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
105208         New fts module.
105209         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
105210         (setup_dir, free_dir): New functions.
105211         (enter_dir, leave_dir): Define trivial
105212         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
105213         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
105214         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
105215         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
105216         Move to fts-cycle.c.
105217         (fts_open): Use setup_dir.
105218         (fts_close): Use free_dir.
105219         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
105220         This adds a label and some gotos, but the alternatives were messier.
105221         Check for memory allocation failure when entering a dir.
105222         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
105223         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
105224         (FTS): New member fts_cycle, that is a union that contains the
105225         old active_dir_ht and cycle_state.  All uses changed to mention
105226         fts_cycle.ht and fts_cycle.state.
105227         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
105228         fts.c, with the following changes:
105229         (setup_dir, free_dir): New functions.
105230         (enter_dir): Now returns bool.  Return true if successful, false
105231         if memory exhausted.  All callers changed.
105232         Do not bother partly cleaning up on
105233         memory allocation failure; that is free_dir's job.
105234         However, free ad if hash_insert fails, to avoid memory leak.
105235         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
105236         fts->fts_options to see which union member to use.
105238 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
105240         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
105241         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
105243 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
105245         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
105247 2005-05-20  Jim Meyering  <jim@meyering.net>
105249         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
105250         Now a macro, to pacify GCC.
105252 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
105254         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
105255         of -1.
105257 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
105259         * lib/chown.c (rpl_chown): Return -1 on failure.
105261 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
105263         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
105264         Don't check for stddef.h.
105265         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
105266         don't use its results.
105267         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
105268         since we include them unconditionally.  Don't require
105269         AM_STDBOOL_H, since stdbool is a prerequisite.
105270         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
105271         since we assume C89 or better.
105272         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
105273         as we don't use their results.
105274         Don't check for fchdir, memmove, memset, strrchr, as we use
105275         them unconditionally.
105276         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
105277         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
105279 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
105281         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
105282         Include <stddef.h> unconditionally, since we assume C89 now.
105283         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
105284         * lib/fts.c: Include fts_.h first, to check interface.
105285         Do not include intprops.h; no longer needed.
105286         Include cycle-check.h and hash.h, since fts_.h no longer does.
105287         Remove unnecessary casts of closedir to void.
105288         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
105289         decide whether to decrement nlinks.
105290         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
105291         (FTS): Use struct hash_table * instead of Hash_table, so that
105292         we no longer need to include hash.h here.
105294 2005-05-18  Jim Meyering  <jim@meyering.net>
105296         * modules/dirfd (License): Change to LGPL.  Most of the code
105297         is already in the public domain.
105299 2005-05-18  Jim Meyering  <jim@meyering.net>
105301         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
105302         Reported by Yoann Vandoorselaere.
105304 2005-05-17  Jim Meyering  <jim@meyering.net>
105306         * m4/fts.m4: New file, from coreutils.
105308 2005-05-17  Jim Meyering  <jim@meyering.net>
105310         * lib/fts.c, lib/fts_.h: New files, from coreutils.
105312 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
105314         Sync from coreutils.
105315         * m4/unlinkdir.m4: New file.
105317 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
105319         Sync from coreutils.
105320         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
105321         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
105322         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
105323         White space changes only.
105324         * lib/makepath.c (make_path): Port to hosts where leading "//" is
105325         special.
105326         * lib/yesno.c: Include getline.h, not ctype.h.
105327         (yesno): Don't remove leading white space; POSIX doesn't allow it.
105328         Use getline to remove arbitrary restriction on response length.
105330 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
105332         * config/srclist-update: Spell out "Street" in FSF postal
105333         mail address; this is the style the FSF seems to prefer.
105335         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
105336         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
105337         this updates FSF postal mail address.
105339         Sync from coreutils.
105340         * modules/unlinkdir: New file.
105341         * modules/yesno (Depends-on): Add getline.
105342         * MODULES.html.sh (File system functions): Add unlinkdir.
105344 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
105346         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
105347         lib/strsep.h:
105348         Change the initial comment to refer to GPL, not LGPL.
105349         gnulib-tool will change it to LGPL as needed.
105351         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
105352         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
105353         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
105354         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
105355         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
105356         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
105357         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
105358         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
105359         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
105360         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
105361         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
105362         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
105363         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
105364         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
105365         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
105366         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
105367         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
105368         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
105369         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
105370         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
105371         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
105372         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
105373         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
105374         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
105375         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
105376         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
105377         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
105378         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
105379         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
105380         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
105381         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
105382         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
105383         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
105384         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
105385         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
105386         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
105387         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
105388         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
105389         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
105390         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
105391         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
105392         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
105393         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
105394         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
105395         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
105396         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
105397         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
105398         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
105399         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
105400         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
105401         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
105402         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
105403         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
105404         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
105405         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
105406         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
105407         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
105408         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
105409         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
105410         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
105411         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
105412         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
105413         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
105414         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
105415         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
105416         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
105417         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
105418         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
105419         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
105420         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
105421         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
105422         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
105423         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
105424         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
105425         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
105426         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
105427         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
105428         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
105429         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
105430         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
105431         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
105432         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
105433         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
105434         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
105435         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
105436         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
105437         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
105438         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
105439         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
105440         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
105441         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
105442         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
105443         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
105444         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
105445         lib/yesno.c, lib/yesno.h:
105446         Update FSF postal mail address.
105448 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
105450         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
105451         tests/test-memmem.c, tests/test-stpncpy.c:
105452         Update FSF postal mail address.
105454 2005-05-13  Bruno Haible  <bruno@clisp.org>
105456         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
105457         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
105458         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
105459         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
105460         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
105461         Add support for 64-bit integers in the MSVC compiler.
105463 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105465         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
105467 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
105469         * gnulib-tool (func_import): Sort and uniquify recommended includes.
105471 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
105473         * doc/getdate.texi (General date syntax): Don't say that date
105474         date --iso-8601=ns generates acceptable dates; it doesn't yet.
105475         Problem reported by Nic Ferrier.
105477 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105479         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
105480         specified in ai_socktype. Fix invalid ai_protocol
105481         check. ai_protocol is usually set to 0 or depending on
105482         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
105483         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
105484         ai_socktype / ai_protocol in the returned addrinfo structure.
105486 2005-05-10  Simon Josefsson  <jas@extundo.com>
105488         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
105489         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
105491 2005-05-10  Karl Berry  <karl@gnu.org>
105493         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
105494         (from http://www.gnu.org/licenses).
105495         * doc/COPYING.LIB: also rename to COPYING.LESSER.
105496         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
105497         fdl.texi suffices.
105499 2005-05-10  Karl Berry  <karl@gnu.org>
105501         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
105502         (COPYING.DOC): remove.
105504         * config/srclist-update: new FSF address.
105506 2005-05-10  Derek Price  <derek@ximbiot.com>
105508         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
105509         possible.
105511 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105512             Bruno Haible  <bruno@clisp.org>
105514         * modules/inet_ntop: New file.
105515         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
105516         inet_ntop.
105518 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105519             Bruno Haible  <bruno@clisp.org>
105521         * m4/inet_ntop.m4: New file.
105523 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105524             Bruno Haible  <bruno@clisp.org>
105526         * lib/inet_ntop.h: New file.
105527         * lib/inet_ntop.c: New file, from glibc with modifications.
105529 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
105531         * modules/time_r (License): Change to LGPL.
105532         * modules/extensions (License): Change to LGPL.  Actually,
105533         the license is more permissive than that, but currently gnulib-tool
105534         doesn't know how to handle more-permissive licenses.
105536         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
105537         Problem reported by Dave Love.
105539 2005-05-08  Jim Meyering  <jim@meyering.net>
105541         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
105542         blank.
105544 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
105546         * modules/argmatch (Depends-on): Add stdbool.
105547         * modules/backupfile (Depends-on): Likewise.
105548         * modules/chdir-long (Depends-on): Likewise.
105549         * modules/closeout (Depends-on): Likewise.
105550         * modules/cycle-check (Depends-on): Likewise.
105551         * modules/dirname (Depends-on): Likewise.
105552         * modules/fnmatch (Depends-on): Likewise.
105553         * modules/fsusage (Depends-on): Likewise.
105554         * modules/fwriteerror (Depends-on): Likewise.
105555         * modules/getcwd (Depends-on): Likewise.
105556         * modules/getloadavg (Depends-on): Likewise.
105557         * modules/hard-locale (Depends-on): Likewise.
105558         * modules/makepath (Depends-on): Likewise.
105559         * modules/mountlist (Depends-on): Likewise.
105560         * modules/nanosleep (Depends-on): Likewise.
105561         * modules/posixtm (Depends-on): Likewise.
105562         * modules/quotearg (Depends-on): Likewise.
105563         * modules/readtokens (Depends-on): Likewise.
105564         * modules/readtokens0 (Depends-on): Likewise.
105565         * modules/readutmp (Depends-on): Likewise.
105566         * modules/save-cwd (Depends-on): Likewise.
105567         * modules/strftime (Depends-on): Likewise.
105568         * modules/userspec (Depends-on): Likewise.
105569         * modules/utimecmp (Depends-on): Likewise.
105570         * modules/xgetcwd (Depends-on): Likewise.
105571         * modules/xnanosleep (Depends-on): Likewise.
105572         * modules/xstrtod (Depends-on): Likewise.
105573         * modules/yesno (Depends-on): Likewise.
105575 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
105577         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
105578         needless checks.
105580 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105582         Merge from coreutils.  Among other things,
105583         add bulletproofing for cases where stdin, stdout, or stderr are closed.
105584         * lib/fd-safer.c: New file.
105585         * lib/fcntl-safer.h, open-safer.c: Remove.
105586         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
105587         * lib/dup-safer.c: Include unistd-safer.h first.
105588         Don't include errno.h.
105589         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
105590         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
105591         * lib/file-type.c: Rely on file-type.h change.
105592         * lib/getloadavg.c: Include unistd-safer.h.
105593         (getloadavg): Use safer open.
105594         * lib/getusershell.c: Include "stdio-safer.h".
105595         (getusershell): Use safer fopen.
105596         * lib/long-options.c (long_options): Use NULL rather than 0.
105597         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
105598         'free'.
105599         * lib/modechange.c: Likewise.
105600         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
105601         (MODE_DONE): New constant.
105602         (struct mode_change): Remove 'next' member.
105603         (make_node_op_equals): New function; like the old one of the
105604         same name, except it allocates an array.
105605         (mode_compile, mode_create_from_ref): Use it.
105606         (mode_compile): Allocate result as an array, not a linked list.
105607         Parse octal string ourself, so that we catch mistakes like "+0".
105608         (mode_adjust): Arg is an array, not a linked list.
105609         * lib/modechange.c: Include stat-macros.h, xalloc.h.
105610         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
105611         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
105612         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
105613         Remove.  This is now stat-macros.h's job.
105614         (talloc): Remove.  All callers replaced by xalloc, so that
105615         our invokers don't have to worry about reporting memory failures.
105616         (make_node_op_equals): Remove.
105617         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
105618         New constants.
105619         (struct mode_change): Moved here from modechange.h.
105620         (mode_append_entry): Remove.
105621         (mode_compile): Remove MASKED_OPS arg, since it encouraged
105622         apps to have incorrect behavior.  Use simpler algorithm for head
105623         and tail.  Don't futz with umask; that's now the job of mode_adjust.
105624         Detect more invalid usages rather than having somewhat-random behavior.
105625         Don't insert an "a=" action, as that leads to incorrect behavior.
105626         (mode_compile, mode_create_from_ref): Return NULL on error instead
105627         of an enum, since now there's only one way to have an error.  All
105628         callers changed.
105629         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
105630         at the correct time.  Simplify calculation of "+u" and its ilk.
105631         Don't mishandle "+X".
105632         (mode_free): Remove "register" and localize decls.
105633         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
105634         (struct mode_change): Move to modechange.c; callers don't
105635         need to see this stuff.
105636         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
105637         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
105638         (mode_change, mode_adjust): Reflect the new signatures noted above.
105639         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
105640         that might redefine system include files.
105641         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
105642         (my_usleep): Use NULL rather than (void *) 0.
105643         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
105644         Use siginterrupt to specify that system calls should be interrupted.
105645         (rpl_nanosleep): Move initialization of suspended closer to call of
105646         my_usleep.
105647         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
105648         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
105649         (desirable_utmp_entry): New function.
105650         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
105651         using x2nrealloc, to simplify logic.
105652         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
105653         size calculation.  Do not assume utmp file is a regular file.
105654         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
105655         (READ_UTMP_CHECK_PIDS): New constant.
105656         * lib/save-cwd.c: Include unistd-safer.h.
105657         (save_cwd): Use fd_safer.
105658         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
105659         [!_LIBC] Include "stat-macros.h" instead.
105660         * lib/unistd-safer.h (fd_safer): New decl.
105662 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105664         * modules/getloadavg (Depends-on): Add unistd-safer.
105665         * modules/getusershell (Depends-on): Add stdio-safer.
105666         * modules/lstat (Depends-on): Remove xalloc.
105667         * modules/mkstemp (Depends-on): Add stat-macros.
105668         * modules/modechange (Depends-on): Remove xstrtol.
105669         Add stat-macros, xalloc.
105670         * modules/save-cwd (Depends-on): Add unistd-safer.
105671         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
105672         * modules/unistd-safer (Files): Add lib/fd-safer.c
105673         (Makefile.am): Remove lib_SOURCES.
105675         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
105676         Remove fcntl-safer; unistd-safer supersedes it.
105678 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105680         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
105681         AC_HEADER_STAT.
105682         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
105683         (gl_PREREQ_CHOWN): Remove.
105684         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
105685         it.  Don't require AC_HEADER_STAT.
105686         (gl_PREREQ_LSTAT): Remove.
105687         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
105688         Don't require AC_HEADER_STAT.
105689         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
105690         (gl_PREREQ_RMDIR): Remove.
105691         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
105692         mention stat-macros.h or AC_HEADER_STAT, since we'll make
105693         the stat-macros module a prerequisite.
105694         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
105695         * m4/filemode.m4 (gl_FILEMODE): Likewise.
105696         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
105697         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
105698         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
105699         variable names.
105700         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
105701         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
105702         variable prefixes.
105703         * m4/fcntl-safer.m4: Remove.
105704         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
105705         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
105706         Invoke gl_PREREQ_FD_SAFER.
105707         (gl_PREREQ_FD_SAFER): New macro.
105708         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
105709         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
105710         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
105711         Remove duplicate call to AC_LIBOBJ(readutmp).
105712         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
105714         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
105715         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
105717 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105719         * MODULES.html.sh (Misc): Add byteswap.
105721 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105723         * modules/getcwd (Depends-on): Add extensions.
105724         * modules/openat (Depends-on): Likewise.
105726 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105728         * modules/byteswap: New file.
105730 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105732         * m4/byteswap.m4: New file.
105734 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105736         * lib/byteswap_.h: New file.
105738 2005-04-25  Karl Berry  <karl@gnu.org>
105740         * m4/gettext.m4: Update from GNU gettext 0.14.4.
105742 2005-04-25  Albert Chin  <china@thewrittenword.com>
105744         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
105745         Toolkit C bug.
105747 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
105749         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
105750         (func_ln_if_changed): Remove forcibly for no error message
105751         in case file does not exist.
105753 2005-04-19  Simon Josefsson  <jas@extundo.com>
105755         * gnulib-tool (Options): Make --symlink mean --symbolic.
105757 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
105759         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
105761 2005-04-16  Simon Josefsson  <jas@extundo.com>
105763         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
105765 2005-04-15  Simon Josefsson  <jas@extundo.com>
105767         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
105769 2005-04-15  Simon Josefsson  <jas@extundo.com>
105771         * gnulib-tool: Rename --symlink to --symbolic.
105773 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
105775         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
105776         symbolic links to files instead of copying/moving.  Add --aux-dir,
105777         specifying directory relative --dir where auxiliary build tools
105778         are placed.
105780 2005-04-14  Bruno Haible  <bruno@clisp.org>
105782         * modules/allocsa (License): Change to LGPL.
105783         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
105785 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
105787         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
105788         that "UTC +1 second" continues to work.  Problem reported
105789         by Dmitry V. Levin.
105790         (relunit_snumber): New rule.
105791         (relunit): Use it.
105793 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
105795         * lib/getdate.y (universal_time_zone_table): New constant.
105796         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
105797         universal_time_zone_table.
105798         (lookup_zone): Prefer universal_time_zone_table to
105799         local_time_zone_table, so that "GMT" time stamps are allowed in
105800         London during the summer.  Problem reported by Ian Abbott.
105802 2005-04-12  Jim Meyering  <jim@meyering.net>
105804         * lib/human.c (humblock): Set *options even when returning due to
105805         xstrtoumax conversion failure.  Thanks to a used-uninitialized
105806         warning from gcc-4.
105808 2005-04-09  Jim Meyering  <jim@meyering.net>
105810         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
105811         -Wuninitialized: initialize tm0.tm_year.
105813 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
105815         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
105816         count, since there's no maximum.  All uses changed.
105817         Add member dsts_seen.
105818         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
105819         not being INT_MAX.
105820         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
105821         Use pc_rels_seen to decide whether a date is absolute.
105823         * lib/getdate.y (number): Don't overwrite year.
105824         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
105825         check.
105827 2005-04-02  Simon Josefsson  <jas@extundo.com>
105829         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
105830         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
105832 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
105834         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
105835         where no absolute path name can be longer than PATH_MAX.
105837 2005-03-27  Jim Meyering  <jim@meyering.net>
105839         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
105841 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
105843         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
105844         "one's complement" -> "ones' complement" in comment, as per Knuth.
105845         "value of type" -> "type or expression" in comment.
105846         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
105848 2005-03-26  Jim Meyering  <jim@meyering.net>
105850         Comment nits.
105851         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
105852         Correct typos: s/or/of/.
105854 2005-03-26  Jim Meyering  <jim@meyering.net>
105856         * modules/check-include-files: Move to ../ and rename to...
105857         * check-module: ...this.
105859 2005-03-25  Jim Meyering  <jim@meyering.net>
105861         * modules/xvasprintf (Files): Add xalloc.h.
105863 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
105865         * modules/gettext (Files): config/config.rpath ->
105866         build-aux/config.rpath
105867         * modules/iconv (Files): Likewise.
105868         Problem reported by Oskar Liljeblad.
105870 2005-03-23  Jim Meyering  <jim@meyering.net>
105872         * modules/check-include-files: New script to check for
105873         missing dependencies, multiple includes, etc.
105875         * modules/c-strtold (Depends-on): Add xalloc.
105876         * modules/c-strtod (Depends-on): Add xalloc.
105877         * modules/hash (Depends-on): Add xalloc.
105878         (Files): Remove lib/xalloc.h.
105880         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
105881         * modules/userspec (Files): Add lib/inttostr.h.
105883 2005-03-23  Jim Meyering  <jim@meyering.net>
105885         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
105887 2005-03-22  Jim Meyering  <jim@meyering.net>
105889         * modules/stat-macros: New module.
105890         * modules/canonicalize, modules/euidaccess, modules/file-type,
105891         * modules/filemode, modules/lchown, modules/makepath,
105892         * modules/rmdir, modules/stat: Depend on new stat-macros module
105893         rather than listing lib/stat-macros.h manually.
105894         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
105896 2005-03-22  Jim Meyering  <jim@meyering.net>
105898         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
105900 2005-03-22  Bruno Haible  <bruno@clisp.org>
105902         * config/srclist.txt: Replace target directory 'config' with
105903         'build-aux'.
105904         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
105905         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
105906         ../build-aux/.
105908 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
105910         * modules/chdir-long (Depends-on): Add mempcpy.
105912         * modules/acl, modules/backupfile, modules/c-strtod,
105913         modules/c-strtold, modules/canon-host, modules/canonicalize,
105914         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
105915         modules/exclude, modules/exitfail, modules/file-type,
105916         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
105917         modules/getdate, modules/getline, modules/getpagesize,
105918         modules/getpass, modules/getugroups, modules/group-member,
105919         modules/hard-locale, modules/hash, modules/human, modules/idcache,
105920         modules/inttostr, modules/long-options, modules/makepath,
105921         modules/md5, modules/memcasecmp, modules/memcoll,
105922         modules/modechange, modules/mountlist, modules/path-concat,
105923         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
105924         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
105925         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
105926         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
105927         modules/strftime, modules/strndup, modules/strverscmp,
105928         modules/timespec, modules/unlocked-io, modules/userspec,
105929         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
105930         modules/yesno:
105931         Remove lib_SOURCES line from Makefile.am section, as this is now
105932         done automatically by the corresponding Autoconf macro.
105934 2005-03-21  Jim Meyering  <jim@meyering.net>
105936         Changes imported from coreutils.
105938         * lib/cycle-check.c: Don't include xalloc.h.
105940         * lib/path-concat.c: Don't include assert.h.
105941         (path_concat): Remove assertion that would have triggered
105942         for ABASE starting with more than one slash.
105943         Reported by Andreas Schwab.
105945         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
105946         properly when ABASE is an absolute file name.
105947         Correct the description of this function.
105948         Include <assert.h>.
105949         Add an assertion and a test driver.
105950         This fixes a bug introduced on 2004-07-02.
105951         Andreas Schwab reported the resulting failure of cp --parents:
105952         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
105954 2005-03-21  Jim Meyering  <jim@meyering.net>
105956         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
105957         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
105959 2005-03-21  Jim Meyering  <jim@meyering.net>
105960         and  Paul Eggert  <eggert@cs.ucla.edu>
105962         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
105963         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
105964         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
105965         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
105966         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
105967         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
105968         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
105969         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
105970         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
105971         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
105972         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
105973         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
105974         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
105975         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
105976         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
105977         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
105978         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
105979         for these modules.
105981 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
105983         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
105984         (which shouldn't happen), generate nothing instead of returning 0
105985         immediately, so that nstrftime (NULL, ...) doesn't return 0.
105987 2005-03-16  Bruno Haible  <bruno@clisp.org>
105989         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
105990         HAVE_LONGLONG_64BIT.
105992 2005-03-16  Bruno Haible  <bruno@clisp.org>
105994         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
105995         HAVE_LONGLONG_64BIT.
105997 2005-03-16  Bruno Haible  <bruno@clisp.org>
105999         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
106000         HAVE_LONGLONG_64BIT.
106002 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
106004         * lib/strftime.c (my_strftime): Prepend space to format so that we can
106005         reliably distinguish strftime failure from empty output on POSIX
106006         hosts.
106008 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
106010         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
106011         (iconv_string): Don't guess a size-zero buffer, as that might cause
106012         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
106013         result would be 'too large', where 'too large' is (heuristically)
106014         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
106015         overflow concerns.  This will prevent some unwanted malloc failures
106016         when the inputs are very large.
106018 2005-03-15  Karl Berry  <karl@gnu.org>
106020         * config/srclist.txt (config.rpath): from gettext.
106021         * config/config.rpath: update.
106023 2005-03-15  Bruno Haible  <bruno@clisp.org>
106025         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
106026         to 'negate'.
106028         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
106029         variable.
106031         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
106032         results.
106034 2005-03-14  Simon Josefsson  <jas@extundo.com>
106036         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
106037         <fx@gnu.org>.
106039 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
106041         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
106042         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
106043         intprops.h.
106044         * lib/strtol.c: Likewise.
106046 2005-03-14  Jim Meyering  <jim@meyering.net>
106048         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
106049         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
106050         to be nonzero so that we (and caller) can detect the difference
106051         between a valid zero-length expansion and an error return, even
106052         when the underlying strftime fails before writing anything into
106053         that location.
106055 2005-03-14  Bruno Haible  <bruno@clisp.org>
106057         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
106058         Update from GNU gettext 0.14.3.
106060 2005-03-10  Jim Meyering  <jim@meyering.net>
106062         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
106064 2005-03-10  Jim Meyering  <jim@meyering.net>
106066         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
106067         so that this module works on systems without fchdir.
106069 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
106071         Factor int-properties macros into a single file, except for
106072         glibc-related files.
106073         * lib/intprops.h: New file.
106074         * lib/getloadavg.c: Include it instead of limits.h.
106075         (INT_STRLEN_BOUND): Remove.
106076         * lib/human.c: Include intprops.h.
106077         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
106078         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
106079         302/1000.
106080         * lib/inttostr.h: Include intprops.h instead of limits.h.
106081         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
106082         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
106083         for consistency with intprops.h.
106084         (time_t_is_integer, twos_complement_arithmetic): Use them.
106085         * lib/sig2str.h: Include <signal.h>, intprops.h.
106086         (INT_STRLEN_BOUND): Remove.
106087         * lib/strftime.c (TYPE_SIGNED): Remove.
106088         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
106089         * lib/strtol.c: Adjust comments to match intprops.h.
106090         * lib/userspec.c: Include intprops.h.
106091         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
106092         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
106093         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
106094         instead of rolling our own expressions.
106095         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
106097         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
106098         instead of int.
106099         (my_strftime): Do not mishandle years close to INT_MAX, by doing
106100         the right thing even if adding 1900 would overflow.  Similarly
106101         for tm_mon + 1 and tm_yday + 1.
106102         Make %Y always equivalent to %C%y, and similarly for %G and %g.
106103         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
106104         (DO_SIGNED_NUMBER): New macro.
106105         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
106107 2005-03-07  Bruno Haible  <bruno@clisp.org>
106109         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
106111 2005-03-07  Bruno Haible  <bruno@clisp.org>
106113         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
106115 2005-03-04  Derek R. Price  <derek@ximbiot.com>
106117         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
106118         (func_import): Only replace files via --import when they have actually
106119         changed.
106121 2005-03-03  Derek R. Price  <derek@ximbiot.com>
106123         * m4/mmap-anon.m4: New file.
106124         * m4/pagealign_alloc.m4: New file.
106126 2005-03-03  Derek R. Price  <derek@ximbiot.com>
106127             Bruno Haible  <bruno@clisp.org>
106129         * modules/pagealign_alloc: New file.
106130         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
106132 2005-03-03  Derek R. Price  <derek@ximbiot.com>
106133             Bruno Haible  <bruno@clisp.org>
106135         * lib/pagealign_alloc.h: New file.
106136         * lib/pagealign_alloc.c: New file.
106138 2005-03-03  Bruno Haible  <bruno@clisp.org>
106140         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
106141         Use an all-permissive copyright notice, recommended by RMS.
106143 2005-03-02  Bruno Haible  <bruno@clisp.org>
106145         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
106146         of AIX, the replacement has to be done only after <string.h> is
106147         included, therefore not in config.h. stpncpy.h does the replacement,
106148         and stpncpy.c uses it.
106150 2005-03-02  Bruno Haible  <bruno@clisp.org>
106152         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
106153         stpncpy.c uses it.
106155 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
106157         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
106158         The workaround isn't strictly needed for POSIX conformance, and
106159         it's too much of a pain to configure and maintain.  We'll ask
106160         people to fix their kernels instead.
106161         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
106162         (NANOSLEEP_BUG_WORKAROUND): Remove.
106163         (xnanosleep): Remove the workaround.
106165 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
106167         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
106168         Reported by Derek Price.
106169         (Include): Add "timespec.h".
106171         * modules/xnanosleep (Depends-on): Remove gethrxtime.
106173 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
106175         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
106176         to detect nanosleep bug.
106178 2005-03-01  Bruno Haible  <bruno@clisp.org>
106180         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
106182 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
106184         * modules/gethrxtime: New file.
106185         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
106186         (Depends-on): Add gethrxtime.
106187         (configure.ac): Add gl_XNANOSLEEP.
106188         (Makefile.am): Remove lib_SOURCES line.
106190 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
106192         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
106193         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
106195 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
106197         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
106198         * lib/timespec.h (gettime): Return void, since it always
106199         succeeds now.  All uses changed.
106200         * lib/gettime.c (gettime): Likewise.
106201         [HAVE_NANOTIME]: Prefer nanotime.
106202         Assume gettimeofday succeeds, as POSIX requires.
106203         Assime time () succeeds, since other code already does.
106204         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
106205         (timespec_subtract): Remove.
106206         (NANOSLEEP_BUG_WORKAROUND): New constant.
106207         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
106208         things considerably.  Use it only on GNU/Linux hosts, since the
106209         workaround shouldn't be needed elsewhere.
106211 2005-02-24  Bruno Haible  <bruno@clisp.org>
106213         * modules/gettext (Files): Add m4/glibc2.m4.
106215 2005-02-24  Bruno Haible  <bruno@clisp.org>
106217         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
106218         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
106219         * m4/progtest.m4:
106220         Update from GNU gettext 0.14.2.
106221         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
106223 2005-02-24  Bruno Haible  <bruno@clisp.org>
106225         * lib/localcharset.c: Update from GNU gettext 0.14.2.
106226         * lib/config.charset: Update from GNU gettext 0.14.2.
106228 2005-02-24  Bruno Haible  <bruno@clisp.org>
106230         * lib/gettext.h: Update from GNU gettext 0.14.2.
106232 2005-02-23  Simon Josefsson  <jas@extundo.com>
106234         * m4/iconvme.m4: New file.
106236 2005-02-23  Jim Meyering  <jim@meyering.net>
106238         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
106239         change.
106240         Thanks to Bruno Haible for catching it.
106242 2005-02-22  Simon Josefsson  <jas@extundo.com>
106244         * modules/iconvme: New file.
106246         * MODULES.html.sh: Add iconvme.
106248 2005-02-22  Simon Josefsson  <jas@extundo.com>
106250         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
106252 2005-02-22  Simon Josefsson  <jas@extundo.com>
106254         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
106256 2005-02-22  Jim Meyering  <jim@meyering.net>
106258         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
106259         s/ifndef/ifdef/.
106261 2005-02-20  Neil Conway  <neilc@samurai.com>
106263         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
106264         returned by OSX/Darwin if the specified buffer is not large
106265         enough for the hostname.
106267 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106269         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
106270         pass it to _help, otherwise the latter coredumps trying to
106271         dereference state.root_argp.
106273 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
106275         * modules/chdir-long (Depends-on): Add memrchr.
106276         * modules/memrchr (Files): Add lib/memrchr.h.
106277         (Include): "memrchr.h".
106279 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
106281         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
106283 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
106285         * lib/memrchr.h: New file.
106286         * lib/chdir-long.c: Include it.
106287         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
106288         Don't bother including stddef.h.
106290 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
106292         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
106293         inclusion.
106294         Include <sys/types.h>, for dev_t.
106295         (ME_DUMMY, ME_REMOTE): Move from here....
106296         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
106297         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
106298         Dmitry V. Levin.
106299         Include mountlist.h first, to test the interface.
106301 2005-01-29  Bruno Haible  <bruno@clisp.org>
106303         * lib/progname.c (program_name): Initialize.
106304         Needed when linking statically on MacOS X.
106306 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
106308         Sync from coreutils.
106309         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
106310         (Depends-on): Add c-strtod.
106311         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
106313 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
106315         Sync from coreutils.
106316         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
106318         Remove files that are specific to coreutils.
106319         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
106321 2005-01-28  Bruno Haible  <bruno@clisp.org>
106323         * modules/javacomp: New file.
106324         * MODULES.html.sh (Java): Add javacomp.
106326 2005-01-28  Bruno Haible  <bruno@clisp.org>
106328         * m4/javacomp.m4: New file, from GNU gettext.
106330 2005-01-28  Bruno Haible  <bruno@clisp.org>
106332         * lib/javacomp.sh.in: New file, from GNU gettext.
106333         * lib/javacomp.h: New file, from GNU gettext.
106334         * lib/javacomp.c: New file, from GNU gettext.
106336 2005-01-26  Simon Josefsson  <jas@extundo.com>
106338         * lib/gai_strerror.c: Use GPL in header.
106340 2005-01-26  Bruno Haible  <bruno@clisp.org>
106342         * modules/javaexec: New file.
106343         * MODULES.html.sh (Java): Add javaexec.
106345 2005-01-26  Bruno Haible  <bruno@clisp.org>
106347         * m4/javaexec.m4: New file, from GNU gettext.
106349 2005-01-26  Bruno Haible  <bruno@clisp.org>
106351         * lib/javaexec.sh.in: New file, from GNU gettext.
106352         * lib/javaexec.h: New file, from GNU gettext.
106353         * lib/javaexec.c: New file, from GNU gettext.
106355 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106357         * modules/lchown (Depends-on): Remove lchown.h
106359 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106361         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
106362         must be defined if the header file was not found, in order
106363         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
106365 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106367         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
106368         initializers for struct pentry_state.
106369         (__argp_error): Check return value of __asprintf
106370         (__argp_failure): Translate error message
106372         * lib/argp-parse.c: Removed braces around the expansion of N_()
106374 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
106376         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
106377         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
106378         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
106379         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
106380         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
106381         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
106382         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
106383         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
106384         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
106385         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
106386         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
106387         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
106388         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
106389         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
106390         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
106391         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
106392         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
106393         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
106394         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
106395         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
106396         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
106397         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
106398         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
106399         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
106400         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
106401         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
106402         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
106403         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
106404         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
106405         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
106406         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
106407         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
106408         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
106409         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
106410         xstrtol.m4, xstrtoumax.m4, yesno.m4:
106411         Use an all-permissive copyright notice, recommended by RMS.
106413 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
106415         * modules/chdir-long (Depends-on): Remove mempcpy.
106417 2005-01-21  Jim Meyering  <jim@meyering.net>
106419         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
106420         same value as for Solaris 9.
106422         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
106423         component length.  This included changing the parameter to be
106424         of type `char *' rather than `char const *'.
106425         * lib/chdir-long.h (chdir_long): Update prototype.
106427         * lib/openat.c (fdopendir, fstatat): New functions.
106428         * lib/openat.h: Include headers required for use of DIR and struct
106429         stat.
106430         [AT_SYMLINK_NOFOLLOW]: Define.
106431         (fdopendir, fstatat): Add prototypes.
106433 2005-01-21  Bruno Haible  <bruno@clisp.org>
106435         * modules/classpath: New file.
106436         * MODULES.html.sh (Java): Add classpath.
106438 2005-01-21  Bruno Haible  <bruno@clisp.org>
106440         * lib/classpath.h: New file, from GNU gettext.
106441         * lib/classpath.c: New file, from GNU gettext.
106443 2005-01-20  Simon Josefsson  <jas@extundo.com>
106445         * modules/version-etc-fsf: New file.
106447 2005-01-20  Simon Josefsson  <jas@extundo.com>
106449         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
106450         * lib/version-etc.c: Remove version_etc_copyright.
106451         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
106452         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
106454 2005-01-20  Simon Josefsson  <jas@extundo.com>
106456         * lib/base64.h (isbase64): Add.
106458         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
106459         using a unsigned prototype, don't inline.
106460         (base64_decode): Use it.
106462 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106464         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
106465         it.
106467 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106469         * lib/save-cwd.c (save_cwd): Remove code to support the case
106470         where fchdir is missing or flaky.
106472 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106474         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
106476 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
106478         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
106479         AC_LIBSOURCES now does this.
106480         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
106481         with new ullong_max module.
106483 2005-01-19  Bruno Haible  <bruno@clisp.org>
106485         * modules/sh-quote: New file.
106486         * MODULES.html.sh (Executing programs): Add sh-quote.
106488 2005-01-19  Bruno Haible  <bruno@clisp.org>
106490         * lib/sh-quote.h: New file, from GNU gettext.
106491         * lib/sh-quote.c: New file, from GNU gettext.
106493 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106495         Merge from coreutils.
106496         * m4/ullong_max.m4: New file.
106497         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
106498         (gl_MACROS): Assume localeconv exists.
106500 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106502         Merge changes from coreutils, as described below in several
106503         changelogs dated today.
106505         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
106506         (O_DIRECTORY): Remove; not needed here, since "." must be
106507         a directory.  All uses removed.
106508         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
106509         universal on Suns, and we also need to test for IRIX.
106510         Revamp code to use 'if' rather than '#if'.
106511         Avoid unnecessary comparison of cwd->desc to 0.
106513         * lib/utimens.c (futimens): Robustify the previous patch, by checking
106514         for known valid error numbers rather than observed invalid ones.
106516 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106518         * modules/ullong_max: New file.
106520         * modules/chdir-long, modules/openat: New files.
106521         * modules/save-cwd (Depends-on): Depend on chdir-long.
106522         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
106524 2005-01-18  Jim Meyering  <jim@meyering.net>
106526         Merge from coreutils.
106527         * m4/chdir-long.m4, m4/openat.m4: New files.
106528         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
106529         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
106530         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
106531         is sane and DOES follow symlinks.  Besides, testing 20 different
106532         systems found no broken chown implementations.
106533         Prompted by a change in rsync's copy of this macro.
106534         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
106536         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
106538         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
106539         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
106540         NULL-means-set-to-current-time semantics.
106541         Remove temporary file immediately, rather than waiting
106542         for configure's at-exit trap code to do it.
106544 2005-01-18  Jim Meyering  <jim@meyering.net>
106546         * lib/version-etc.c (version_etc_copyright): Update copyright date.
106548         * lib/utimens.c (futimens): Account for the fact that futimes
106549         can also fail with errno == ENOSYS or errno == ENOENT.
106550         Patch from Dmitry V. Levin.
106552         Change the name of the robust chdir function from chdir to chdir_long.
106553         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
106554         (restore_cwd): Use chdir_long, not chdir.
106555         * lib/chdir-long.c: Renamed from chdir.c.
106556         * lib/chdir-long.h: Renamed from chdir.h.
106557         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
106558         Hurd.
106560 2005-01-18  Bruno Haible  <bruno@clisp.org>
106562         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
106563         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
106564         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
106565         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
106566         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
106567         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
106568         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
106569         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
106570         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
106571         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
106572         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
106573         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
106574         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
106575         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
106576         Use an all-permissive copyright notice, recommended by RMS.
106578 2005-01-18  Bob Proulx  <bob@proulx.com>
106580         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
106581         simplify offsetof() macro construct to avoid compile failure with
106582         native HP-UX 11.0 ANSI C compiler.
106584 2005-01-17  Bruno Haible  <bruno@clisp.org>
106586         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
106587         redundant because stpncpy.m4 takes care of it.
106589 2005-01-17  Bruno Haible  <bruno@clisp.org>
106591         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
106593 2005-01-17  Bruno Haible  <bruno@clisp.org>
106595         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
106596         used.
106598 2005-01-17  Bruno Haible  <bruno@clisp.org>
106600         * lib/fwriteerror.h (fwriteerror): Change specification to include
106601         fclose.
106602         * lib/fwriteerror.c: Include <stdbool.h>.
106603         (fwriteerror): At the end, close the file stream. Record whether
106604         stdout was already closed.
106606 2005-01-17  Bruno Haible  <bruno@clisp.org>
106608         * lib/execute.c (environ): Declare if needed.
106609         * lib/pipe.c (environ): Likewise.
106610         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
106612 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106614         * modules/argp: Depend on vsnprintf
106616 2005-01-10  Jim Meyering  <jim@meyering.net>
106618         * modules/closeout (Depends-on): Add atexit.
106620 2005-01-06  Bruno Haible  <bruno@clisp.org>
106622         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
106624 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
106626         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
106627         definitions to be after all include files, to avoid collisions.
106628         Problem reported by Bob Proulx.
106630 2005-01-04  Jim Meyering  <jim@meyering.net>
106632         Changes imported from coreutils.
106633         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
106634         as the mkstemp template, use a temporary directory and an
106635         8.3-friendly template to avoid trouble on systems like DJGPP.
106636         Reported by Juan M. Guerrero via Stepan Kasal.
106637         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
106638         close. Remove the temporary directory right away, rather than waiting
106639         for configure's at-exit trap code to do it.
106640         Suggestion from Stepan Kasal.
106642 2005-01-01  Simon Josefsson  <jas@extundo.com>
106644         * gnulib-tool: Print #include directives when --import'ing.
106646 2004-12-28  Simon Josefsson  <jas@extundo.com>
106648         * tests/test-base64.c: Include required header files.  Remove
106649         unused variables.
106651 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
106653         * modules/error (Depends-on): Remove gettext.
106655 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
106657         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
106658         not needed.  This removes a dependency on the gettext module.
106659         [defined _LIBC]: Do not include <libintl.h>; not needed.
106661 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
106663         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
106664         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
106666 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
106668         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
106669         HAVE_DECL_STRTOLD.
106671 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106673         * modules/getdate (Depends-on): Remove alloca-opt.
106675 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106677         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
106679 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106681         * lib/argp-parse.c: Include <stddef.h>.
106682         (alignof, alignto): New macros.
106683         (parser_init): Don't assume that void * is aligned sufficiently
106684         for struct option.
106686         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
106687         need to extend the stack.
106688         (YYINITDEPTH): New macro, so that the initial stack isn't overly
106689         large.
106691 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106693         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
106695 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
106697         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
106698         (2004-10-24) change.  Apparently this was a false alarm.
106700         * modules/getdate: Depend on alloca-opt, not alloca.
106702 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
106704         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
106705         Remove now-obsolete comment about AIX.
106706         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
106707         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
106708         (YYMAXDEPTH): New macro.
106710 2004-12-18  Simon Josefsson  <jas@extundo.com>
106712         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
106714 2004-12-18  Bruno Haible  <bruno@clisp.org>
106716         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
106718 2004-12-18  Bruno Haible  <bruno@clisp.org>
106720         * lib/fatal-signal.c (fatal_signals): Make non-const.
106721         (init_fatal_signals): New function.
106722         (uninstall_handlers, install_handlers): Ignore signals that were set to
106723         SIG_IGN.
106724         (at_fatal_signal): Call init_fatal_signals.
106725         (init_fatal_signal_set): Likewise. Ignore signals that were set to
106726         SIG_IGN.
106727         Reported by Paul Eggert.
106729 2004-12-18  Bruno Haible  <bruno@clisp.org>
106731         * doc/alloca.texi: New file.
106732         * doc/alloca-opt.texi: New file.
106734 2004-12-17  Jim Meyering  <jim@meyering.net>
106736         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
106737         Otherwise, install-sh could exit with improper exit status when
106738         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
106740 2004-12-16  Simon Josefsson  <jas@extundo.com>
106742         * tests/test-base64.c: Add license.
106744 2004-12-15  Stepan Kasal  <address@hidden>
106746         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
106748 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
106750         * modules/getcwd (Files): Add m4/d-ino.m4.
106751         Suggested by Mark D. Baushke.
106753 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
106755         * lib/getdate.y (textint): New member "negative".
106756         (time_zone_hhmm): New function.
106757         Expect 14 shift-reduce conflicts, not 13.
106758         (o_colon_minutes): New rule.
106759         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
106760         (yylex): Set the "negative" member of signed numbers.
106762 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
106764         * doc/getdate.texi (Time of day items, Time zone items):
106765         Describe new formats +00:00, UTC+00:00.
106767 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
106769         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
106770         spurious "-l"s.  Problem reported by Stepan Kasal.
106772 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
106774         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
106775         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
106777 2004-12-04  Simon Josefsson  <jas@extundo.com>
106779         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
106780         Vandoorselaere <yoann@prelude-ids.org>.
106782 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106784         Changes imported from coreutils.
106785         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
106786         exist.
106787         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
106789 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106791         Changes imported from coreutils.
106792         * lib/hard-locale.c: Assume <locale.h> exists.
106793         Include "strdup.h".
106794         (GLIBC_VERSION): New macro.
106795         (hard_locale): Assume setlocale exists.
106796         Rewrite to avoid #ifdef.
106797         Use strdup rather than malloc + strcpy.
106798         * lib/human.c: Assume <locale.h> exists.
106799         (human_readable): Assume localeconv exists.
106801 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106803         * modules/hard-locale (Depends-on): Add strdup.
106805 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
106807         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
106808         convert T2, not T.  (Imported from libc.)
106810 2004-11-30  Simon Josefsson  <jas@extundo.com>
106812         * modules/restrict (License): Change to LGPL.
106814 2004-11-30  Simon Josefsson  <jas@extundo.com>
106816         * m4/restrict.m4: Add copyright and copying conditions.
106818 2004-11-30  Simon Josefsson  <jas@extundo.com>
106820         * m4/base64.m4: New file.
106822 2004-11-30  Simon Josefsson  <jas@extundo.com>
106824         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
106825         base64.
106827         * tests/test-base64.c: New file.
106829         * modules/base64: New file.
106831 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
106833         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
106834         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
106836         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
106838 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
106840         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
106841         (__getcwd.c): Don't restore errno; glibc doesn't.
106842         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
106843         first, falling back to our code only if its results look suspicious.
106844         Ensure that the resulting buffer is only as large as necessary.
106846         * lib/readutmp.c: Include readutmp.h first.
106847         Include <errno.h>, since readutmp.h no longer does that.
106848         * lib/readutmp.h: Don't include <errno.h>,
106849         <sys/param.h>, <time.h>; not needed to establish interface.
106850         (errno): Remove decl.
106851         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
106852         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
106853         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
106855 2004-11-28  Simon Josefsson  <jas@extundo.com>
106857         * lib/base64.h, base64.c: New file.
106859 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
106861         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
106863 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
106865         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
106866         (Depends-on): Remove pathmax, same.  Add mempcpy.
106867         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
106868         (Makefile.am): Append getcwd.h to lib_SOURCES.
106869         (Include): Add getcwd.h.
106870         (Maintainer): Change from Jim Meyering to "all, glibc",
106871         since getdate now uses intended-for-glibc code.
106872         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
106873         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
106875 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
106877         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
106878         HP's ANSI C compiler.
106879         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
106880         Declaring int functions causes warnings on some modern systems and
106881         shouldn't be needed to compile on ancient ones.
106882         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
106883         defined.
106885         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
106886         with the following changes.
106887         (__set_errno): Parenthesize properly.
106888         Include <stdbool.h>.
106889         (MIN, MAX, MATCHING_INO): New macros.
106890         (__getcwd): Define with prototype, not K&R form.
106891         Use heuristics to allocate default buffer on stack if possible.
106892         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
106893         behavior, and to avoid the PATH_MAX limit when computing
106894         ../../../../...
106895         Use MATCHING_INO to compare inode number to file.
106896         Check for arithmetic overflow in size calculations.
106897         Fix bug in reallocation of dot array that caused getcwd to fail
106898         on directories nested deeper than 75.
106899         Be more careful about saving errno on error.
106900         Do not use realloc; use only free+malloc, as this is a bit
106901         more flexible and avoids a needless copy operation.
106902         Do not inspect st_dev and st_ino for symbolic links; POSIX
106903         doesn't specify the latter.
106904         Check for closedir errors.
106905         Avoid needless casts.
106906         Use "#ifdef weak_alias" around weak_alias, to be like other
106907         glibc code.
106908         The following changes to getcwd.c have effect only when used in
106909         gnulib; they have no effect inside glibc proper.
106910         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
106911         as alloca isn't used.
106912         (alloca, __alloca): Likewise.
106913         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
106914         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
106915         unconditionally, as gnulib assumes C89 or better.
106916         Do not include <sys/param.h>.
106917         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
106918         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
106919         better.
106920         (NULL) [!defined NULL]: Remove; we assume C89 or better.
106921         Include <dirent.h> in a way that is compatible with modern Autoconf.
106922         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
106923         New macros, if not already defined.
106924         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
106925         Use "_LIBC", not "defined _LIBC", for consistency.
106926         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
106927         a mempcpy module.
106928         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
106929         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
106930         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
106931         credit only to Jim Meyering and adjust the copyright dates.
106932         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
106933         <stdlib.h>, <unistd.h>, "pathmax.h".
106934         Instead, include "xgetcwd.h" (first) and "getcwd.h".
106935         (INITIAL_BUFFER_SIZE): Remove.
106936         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
106938 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
106940         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
106941         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
106942         Use the _ONCE methods, for efficiency.
106943         Check for fcntl.h.  In test program, include <errno.h>
106944         and <fcntl.h> if available.  Remove old K&R cruft from
106945         test program.  Check for common errors in GNU/Linux,
106946         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
106947         don't do AC_LIBOBJ, as that's getcwd.m4's job.
106948         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
106949         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
106950         name accordingly.
106951         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
106952         accommodate new getcwd.c.
106953         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
106954         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
106955         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
106956         that's all we need now.
106958 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106960         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
106961         argp-parse.c depends on getopt internals, that means we should
106962         always use our getopt, to be on the safe side.
106963         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
106964         order not to spoil the result of an eventual previous invocation
106965         of gl_GETOPT_SUBSTITUTE.
106967 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106969         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
106970         redefinition warnings. To avoid them, include the defines
106971         in `#if !defined __need_getopt ... #endif'. The only place
106972         where __getopt_argv_const is used is in definitions
106973         of getopt_long and getopt_long_only below, which are as well
106974         protected by `#ifndef __need_getopt'.
106975         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
106976         __need_getopt after including <stdio.h> and <unistd.h> These
106977         headers might have defined it.
106979 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
106981         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
106983 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
106985         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
106986         (futimens): New function, which uses futimes if available.
106987         (futimens, utimens): Support timespec==NULL, with same semantics
106988         as utime and utimens.
106989         * lib/utimens.h (futimens): New decl.
106991 2004-11-23  Jim Meyering  <jim@meyering.net>
106993         * lib/getopt_.h: Remove trailing blanks.
106995 2004-11-23  Jim Meyering  <jim@meyering.net>
106997         * lib/__fpending.c: Add comment.
106999 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
107001         * modules/canonicalize (Depends-on): Add xreadlink.
107002         Problem reported by James Youngman.
107004 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
107006         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
107007         New macros.
107008         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
107009         optopt): Use them instead of invoking ## directly; otherwise, the
107010         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
107012 2004-11-19  Bruno Haible  <bruno@clisp.org>
107014         * lib/strtok_r.c: Move comments from here...
107015         * lib/strtok_r.h: ... to here.
107017 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
107019         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
107020         implementations that mishandle size_t overflow.
107022 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
107024         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
107025         might fail.  Problem reported by Yoann Vandoorselaere.
107026         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
107027         implementations that mishandle size_t overflow.
107029 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107031         * modules/canon-host (Depends-on): Add strdup.
107033 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107035         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
107037 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107039         * lib/canon-host.c: Include "strdup.h".
107040         (canon_host): Use getaddrinfo if available, so that IPv6 works.
107041         Use strdup instead of malloc/strcpy to duplicate strings.
107043         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
107044         (human_space_before_unit): New constant.
107045         * lib/human.c (human_readable): Support it.
107047         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
107048         (xgetcwd): Set errno correctly when failing.
107049         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
107050         the failure is actually due to a PATH_MAX problem.
107052         Further getopt changes to make it more likely that glibc will
107053         buy the changes back.
107054         * lib/getopt.c (POSIXLY_CORRECT): New constant.
107055         (getopt): Use it, so to preserve glibc semantic
107056         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
107057         when compiling for libc.
107058         * lib/getopt_.h (__getopt_argv_const): Bring it back.
107059         (getopt_long, getopt_long_only): Use it.
107061         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
107062         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
107063         (getopt): Argv is now char * const *, as per standard.
107064         (_getopt_internal_r, _getopt_internal): Argv is now char **,
107065         not char *__getopt_argv_const *.
107066         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
107067         _getopt_long_only_r): Likewise.
107068         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
107069         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
107070         _getopt_long_r, _getopt_long_only_r): Likewise.
107071         * lib/getopt_.h (__getopt_argv_const): Remove.
107072         (getopt): Argv is now char * const *, as per standard.
107074         * lib/getdate.y (tORDINAL): New token.
107075         (day, relunit): Allow it for relative times.
107076         (relative_time_table): Use tORDINAL for ordinals.
107078 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107080         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
107081         Document that "second" isn't allowed as an ordinal number.
107083 2004-11-16  Jim Meyering  <jim@meyering.net>
107085         * modules/closeout (Depends-on): Add fpending.
107087 2004-11-15  Jim Meyering  <jim@meyering.net>
107089         * lib/closeout.c: Include "__fpending.h" once again.
107090         Include <stdbool.h>.
107091         (close_stdout): Don't fail just because stdout was closed initially,
107092         since some programs don't write to stdout in the normal course of
107093         operation (other than --version and --help), and we don't want this
107094         function to make e.g. `touch file >&-' fail.
107095         But do fail if it was closed and someone has tried to write to it.
107096         E.g., `printf foo >&-' must fail.
107098 2004-11-13  Jim Meyering  <jim@meyering.net>
107100         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
107102 2004-11-12  Simon Josefsson  <jas@extundo.com>
107104         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
107105         small doc fix is still pending.
107107 2004-11-11  Simon Josefsson  <jas@extundo.com>
107109         * modules/strtok_r: New file.
107111         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
107112         strtok_r.
107114 2004-11-11  Simon Josefsson  <jas@extundo.com>
107116         * m4/strtok_r.m4: New file.
107118         * m4/getopt.m4: Replace opterr.
107120 2004-11-11  Simon Josefsson  <jas@extundo.com>
107122         * lib/strtok_r.h, strtok_r.c: New file.
107124 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
107126         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
107127         of replacing opterr, getopt, etc.  This should handle the
107128         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
107130 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
107132         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
107133         we can stop lying to compilers about the constness of argv when we
107134         are compiled outside glibc.
107135         (getopt, getopt_long, getopt_long_only): Use it.
107136         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
107137         _getopt_internal, getopt): Likewise.
107138         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
107139         _getopt_long_only_r): Likewise.
107140         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
107141         _getopt_long_r, _getopt_long_only_r): Likewise.
107143         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
107144         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
107145         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
107146         the other external symbols.
107147         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
107148         declaration, since the above renaming now works around collisions.
107150 2004-11-11  Jim Meyering  <jim@meyering.net>
107152         * lib/linebreak.c: Remove trailing blanks.
107153         * lib/alloca_.h: Likewise.
107154         * lib/acosl.c: Likewise.
107155         * lib/euidaccess.c: Likewise.
107156         * lib/allocsa.h: Likewise.
107158 2004-11-10  Simon Josefsson  <jas@extundo.com>
107160         * m4/getaddrinfo.m4: New file.
107162 2004-11-10  Simon Josefsson  <jas@extundo.com>
107164         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
107166 2004-11-10  Simon Josefsson  <jas@extundo.com>
107168         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
107169         getaddrinfo.
107171         * modules/getaddrinfo: New file.
107173 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
107175         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
107177 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
107179         * lib/mktime.c (SHR): New macro, which is a portable
107180         substitute for >> that should work even on Crays.
107181         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
107182         Problem reported by Mark D. Baushke in
107183         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
107184         * lib/getdate.y (SHR): Likewise.
107185         (tm_diff): Use it.
107186         * lib/strftime.c (SHR): Likewise.
107187         (tm_diff): Use it.
107188         * lib/quotearg.c (struct quoting_options): Use unsigned int for
107189         quote_these_too, so that right shifts are well defined.  All uses
107190         changed.
107192 2004-11-10  Jim Meyering  <jim@meyering.net>
107194         Ensure that no close failure goes unreported.
107195         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
107196         return early when it seems there's nothing to flush.
107197         Don't include __fpending.h.
107199 2004-11-10  Jim Meyering  <jim@meyering.net>
107201         * modules/closeout (Depends-on): Remove fpending.
107203 2004-11-10  Jim Meyering  <jim@meyering.net>
107205         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
107207 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
107209         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
107210         gl_FUNC_STRFTIME.
107211         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
107212         and AC_REQUIRE when possible, to avoid duplicate checks.
107213         Check for <wchar.h>.
107215 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
107217         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
107219 2004-11-09  Bruno Haible  <bruno@clisp.org>
107221         * m4/sockpfaf.m4: New file.
107223 2004-11-05  Bruno Haible  <bruno@clisp.org>
107225         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
107226         Reported by Mark D. Baushke <mdb@cvshome.org>.
107228 2004-11-04  Bruno Haible  <bruno@clisp.org>
107230         2004-09-11  Bruno Haible  <bruno@clisp.org>
107231                 * allocsa.valgrind: New file.
107232         2004-02-06  Bruno Haible  <bruno@clisp.org>
107233                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
107234                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
107235                 Reported by Christopher Seip <chris.seip@hp.com>.
107237 2004-11-04  Bruno Haible  <bruno@clisp.org>
107239         * modules/allocsa (Files): Add lib/allocsa.valgrind.
107240         (Makefile.am): Distribute it.
107242 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
107244         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
107245         with errno == ERANGE if the buffer is too small.
107246         Problem reported by Mark D. Baushke.
107248 2004-11-03  Albert Chin  <china@thewrittenword.com>
107249             Paul Eggert  <eggert@cs.ucla.edu>
107251         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
107252         equivalent, substitute $ac_type for equivalent type rather than
107253         blindly using uint32_t *always* which won't work if uint32_t is not
107254         available.  Define _UINT32_T to work around typedef of uint32_t if
107255         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
107256         2.5.1.
107258 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
107260         * m4/jm-macros.m4: Sync from coreutils.
107261         (gl_MACROS): Check for mbrlen, for pathchk.
107262         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
107264 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
107266         * lib/xreadlink.c (MAXSIZE): New macro.
107267         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
107268         size does not exceed MAXSIZE.  Avoid cast.
107269         As suggested by Mark D. Baushke in
107270         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
107271         if readlink fails with buffer size just under MAXSIZE, try again
107272         with MAXSIZE.
107274 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
107276         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
107278 2004-11-02  Derek R. Price  <derek@ximbiot.com>
107279         and  Paul Eggert  <eggert@cs.ucla.edu>
107281         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
107282         (get_date): Overparenthesize to avoid GCC warning.
107284 2004-11-02  Bruno Haible  <bruno@clisp.org>
107286         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
107287         returns void.
107289 2004-11-02  Bruno Haible  <bruno@clisp.org>
107291         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
107292         function returns void.
107294 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
107296         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
107297         fflush_unlocked, flockfile, funlockfile, funlockfile,
107298         fputs_unlocked, putc_unlocked.
107300 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
107302         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
107303         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
107304         already declared.
107306 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
107308         * modules/getdate (Files): Add doc/getdate.texi.
107309         (Depends-on): Add setenv, xalloc.
107311 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
107313         * lib/getdate.y: Add support for TZ="foo" within a date string.
107314         Fix some bugs near time_t boundaries.  Reject dates with
107315         out-of-range components, e.g., "Sept 31".
107316         Include <stdlib.h>, "setenv.h", "xalloc.h".
107317         (ISDIGIT_LOCALE): Remove; unused.
107318         Note that the TZ and time functions used here are not reentrant.
107319         (mktime_ok, get_tz): New functions.
107320         (TZBUFSIZE): New constant.
107321         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
107322         This requires that we sometimes generate our own TZ="XXX..." setting.
107324 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
107326         * doc/getdate.texi: New file, from coreutils with modifications for
107327         the new TZ parsing.
107329 2004-10-27  Derek R. Price  <derek@ximbiot.com>
107331         * lib/mktime.c (not_equal_tm): Remove redundant check.
107333 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
107335         * modules/regex (lib_SOURCES): Add regex.c.
107336         Reported by James Youngman in
107337         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
107339 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
107341         * lib/getdate.y: Use Bison 1.875 features, and some minor
107342         code cleanups.  This change does not affect semantics.
107343         Don't include <stdlib.h>; no longer needed.
107344         Don't include unlocked-io.h; only the "#if TEST" code uses
107345         stdio, and performance isn't crucial there.
107346         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
107347         Bison 1.875 features as described below.
107348         All uses of "PC." replaced by "pc->".
107349         (YYSTYPE): Add a forward declaration.
107350         (yylex, yyerror): Use full prototypes in forward decls.
107351         Use "%pure-parser" rather than obsolescent "%pure_parser".
107352         Use %parse-param and %lex-param instead of obsolescent
107353         YYPARSE_PARAM and YYLEX_PARAM.
107354         (meridian_table, month_and_day_table, time_units_table,
107355         relative_time_table, time_zone_table, military_table,
107356         lookup_zone, lookup_word, get_date):
107357         Use NULL instead of 0 where appropriate.
107358         (to_hour): Avoid abort (), to avoid a dependency on
107359         stdlib.h.
107360         (yyerror, yylex): Now accepts parser_control * arg.
107361         (main) [TEST]: Use '\0' rather than 0 for char.
107363 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
107365         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
107367 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
107369         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
107370         It's now the caller's responsibility to handle the case where
107371         !HAVE_GETPAGESIZE && !defined getpagesize.
107373         * lib/mktime.c (leapyear): Arg is long int, not int.
107375 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
107377         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
107379 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
107381         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
107382         missing.  Problem reported by James Youngman.
107384 2004-10-16  Simon Josefsson  <jas@extundo.com>
107386         * gnulib-tool: Fix comments.  Fix parse problem.
107387         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
107389 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
107391         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
107392         implementation of getopt_long.  Problem reported by Alexander Taler in:
107393         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
107395 2004-10-15  Bruno Haible  <bruno@clisp.org>
107397         * gnulib-tool: Untabify. Initialize supplied_libname.
107398         (func_usage): More homogenous output.
107399         (func_modules_transitive_closure, func_modules_to_filelist,
107400         func_emit_lib_Makefile_am): New functions.
107401         (func_import): New function, extracted from big case statement. Use
107402         func_get_license, func_modules_transitive_closure,
107403         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
107404         opt_lgpl. Don't use test -a, as it's not portable.
107405         (func_create_testdir): Use func_modules_transitive_closure,
107406         func_modules_to_filelist, func_emit_lib_Makefile_am.
107408 2004-10-15  Bruno Haible  <bruno@clisp.org>
107410         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
107412 2004-10-15  Bruno Haible  <bruno@clisp.org>
107414         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
107415         the portions belonging to each module.
107416         Suggested by Derek Robert Price <derek@ximbiot.com>.
107418 2004-10-12  Simon Josefsson  <jas@extundo.com>
107420         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
107421         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
107422         to real functions.
107424 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107426         * modules/vsnprintf: New file.
107428 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107430         * m4/vsnprintf.m4: New file.
107432 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107434         * lib/vsnprintf.h: New file.
107435         * lib/vsnprintf.c: New file.
107437 2004-10-11  Bruno Haible  <bruno@clisp.org>
107439         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
107440         vsnprintf.
107442 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
107444         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
107446 2004-10-07  Bruno Haible  <bruno@clisp.org>
107448         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
107449         fits into the provided buffer.
107451 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
107453         * lib/diacrit.c, diacrit.h: Add GPL notice.
107455         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
107456         notice.
107457         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
107458         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
107459         This avoids a potential constant-folding bug.
107461 2004-10-05  Bruno Haible  <bruno@clisp.org>
107463         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
107464         for the declaration of strsep.
107466 2004-10-05  Bruno Haible  <bruno@clisp.org>
107468         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
107470 2004-10-04  Simon Josefsson  <jas@extundo.com>
107472         * modules/memmem: New file.
107473         * tests/test-memmem.c: New file.
107474         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
107476 2004-10-04  Simon Josefsson  <jas@extundo.com>
107478         * m4/memmem.m4: New file.
107480 2004-10-04  Simon Josefsson  <jas@extundo.com>
107482         * lib/memmem.h: New file.
107483         * lib/memmem.c: New file, taken from glibc.
107485 2004-10-04  Simon Josefsson  <jas@extundo.com>
107487         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
107488         '#ifdef USE_UNLOCKED_IO'.
107490 2004-10-04  Simon Josefsson  <jas@extundo.com>
107492         * config/srclist.txt: Add memmem from glibc.
107494 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107496         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
107498         * modules/argmatch, modules/argp, modules/closeout, modules/error,
107499         modules/exclude, modules/getdate, modules/getline,
107500         modules/getndelim2, modules/getpass, modules/getpass-gnu,
107501         modules/getusershell, modules/linebuffer, modules/md5,
107502         modules/mountlist, modules/posixtm, modules/readtokens,
107503         modules/readutmp, modules/regex, modules/sha1,
107504         modules/version-etc, modules/yesno:
107505         Remove dependency on unlocked-io.
107507 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107509         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
107511         * m4/unlocked-io.m4: Add copyright notice.
107512         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
107514 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107516         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
107517         * lib/xmalloc.c (xmemdup): Likewise.
107518         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
107519         XFREE): Remove these long-obsolescent macros.
107520         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
107521         * lib/xstrdup.c: Remove.
107523         * lib/regex.c (re_comp): Cast gettext return value to char *,
107524         Problem reported by Martin Neitzel via Mark D. Baushke.
107526 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107528         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
107529         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
107530         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
107531         regex.c, sha1.c, version-etc.c, yesno.c:
107532         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
107533         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
107534         the includer's responsibility.
107536         Sync from coreutils.
107538         * lib/modechange.c (mode_compile): Don't decrement a pointer that
107539         points to the start of a string, as the C Standard says the
107540         resulting behavior is undefined.
107542         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
107543         simple -> simple_backups, numbered_existing ->
107544         numbered_existing_backups, numbered -> numbered_backups
107545         to avoid shadowing problems.  All uses changed.
107546         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
107547         * lib/backupfile.c (check_extension, numbered_backup):
107548         Rename locals to avoid shadowing 'basename'.
107549         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
107550         once.
107552         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
107553         * lib/.cvsignore: Add getopt.h.
107555 2004-10-04  Bruno Haible  <bruno@clisp.org>
107557         * modules/README: New file.
107558         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
107559         not a module.
107561 2004-10-02  Jim Meyering  <jim@meyering.net>
107563         * lib/dirfd.h, getpagesize.h: Add copyright notice.
107565 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107567         * modules/strsep: New file.
107569 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107571         * m4/strsep.m4: New file.
107573 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107575         * lib/strsep.h: New file.
107576         * lib/strsep.c: New file.
107578 2004-10-01  Simon Josefsson  <jas@extundo.com>
107580         * lib/snprintf.c (snprintf): Handle size==0.
107582 2004-10-01  Simon Josefsson  <jas@extundo.com>
107583             Bruno Haible  <bruno@clisp.org>
107585         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
107586         (snprintf): Declare 'args'.
107588 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
107590         * lib/snprintf.c: Remove comments as to why each header is needed.
107592 2004-10-01  Bruno Haible  <bruno@clisp.org>
107594         * MODULES.html.sh: Add strsep.
107596 2004-09-30  Simon Josefsson  <jas@extundo.com>
107598         * modules/snprintf: New file.
107600 2004-09-30  Simon Josefsson  <jas@extundo.com>
107602         * m4/snprintf.m4: New file.
107604 2004-09-30  Simon Josefsson  <jas@extundo.com>
107606         * lib/snprintf.h, lib/snprintf.c: New files.
107608 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107610         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
107611         (hol_entry_help): Never translate an empty string.
107612         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
107613         * lib/argp.h (OPTION_NO_TRANS): New option.
107615 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107617         * modules/argp (Maintainer): Replace Simon Josefsson
107618         by Sergey Poznyakoff.
107620 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107622         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
107623         changes merged back into glibc.
107625 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107627         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
107629 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
107631         * lib/xvasprintf.c: Include xalloc.h.
107632         (xvasprintf): Use xalloc_die, not xmalloc_die.
107634 2004-09-29  Bruno Haible  <bruno@clisp.org>
107636         * modules/alloca-opt: New file, derived from modules/alloca.
107637         * modules/allocsa: Depend on alloca-opt instead of alloca.
107638         * modules/setenv: Likewise.
107639         * modules/vasnprintf: Likewise.
107640         * MODULES.html.sh: Add alloca-opt.
107642 2004-09-28  Simon Josefsson  <jas@extundo.com>
107644         * gnulib-tool: New parameter --lgpl, to asseert that modules are
107645         LGPL, and to replace license template from GPL to LGPL.
107647 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
107649         * modules/dummy: Change license to LGPL.
107651 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
107653         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
107655 2004-09-24  Simon Josefsson  <jas@extundo.com>
107657         * modules/minmax (License): Change from GPL to LGPL.
107659 2004-09-23  Simon Josefsson  <jas@extundo.com>
107661         * gnulib-tool (--import): Typo.
107663 2004-09-23  Simon Josefsson  <jas@extundo.com>
107665         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
107667 2004-09-22  Bruno Haible  <bruno@clisp.org>
107669         * modules/*: Add 'License' field.
107670         * gnulib-tool: Accept --extract-license option.
107671         (func_get_license): New function.
107673 2004-09-21  Bruno Haible  <bruno@clisp.org>
107675         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
107676         Reported by Simon Josefsson.
107678 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
107680         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
107681         gl_AC_TYPE_LONG_LONG.
107683 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
107685         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
107687 2004-09-18  Simon Josefsson  <jas@extundo.com>
107688         and  Paul Eggert  <eggert@cs.ucla.edu>
107690         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
107691         calls with autoreconf.  Define GL_LIB.
107693 2004-09-14  Karl Berry  <karl@gnu.org>
107695         * config/srclist.txt: unsync setenv.c, sigh.
107697 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
107699         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
107700         Problem reported by Bruno Haible in:
107701         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
107703 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
107705         * config/srclist.txt: Comment out argp-pvh.c.
107707 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
107709         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
107710         in case some system header has #define'd it.  Problem reported by
107711         Soeren D. Schulze in
107712         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
107714 2004-09-09  Karl Berry  <karl@gnu.org>
107716         * regex.[ch]: delete from the root.  These were supposed to be
107717                 synced with emacs cvs, but this has not happened for about
107718                 a year, and anyway nothing else uses emacs regex.[ch].
107719                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
107720                 lib/regex[.ch] is untouched.
107722 2004-09-09  Bruno Haible  <bruno@clisp.org>
107724         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
107726 2004-09-09  Bruno Haible  <bruno@clisp.org>
107728         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
107729         modifications.
107730         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
107732 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
107734         * modules/xvasprintf: New file.
107735         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
107737 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
107739         * lib/xvasprintf.h: New file.
107740         * lib/xvasprintf.c: New file.
107741         * lib/xasprintf.c: New file.
107743 2004-09-08  Bruno Haible  <bruno@clisp.org>
107745         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
107747 2004-09-08  Bruno Haible  <bruno@clisp.org>
107749         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
107750         length is > INT_MAX.
107751         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
107752         more.
107754 2004-09-08  Bruno Haible  <bruno@clisp.org>
107756         * lib/stdint_.h: New file, taken from GNU clisp.
107758 2004-09-08  Bruno Haible  <bruno@clisp.org>
107759             Oskar Liljeblad  <oskar@osk.mine.nu>
107761         * modules/stdint: New file.
107762         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
107764 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107766         Import from coreutils.
107767         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
107768         strings on unbounded length.  alloca's performance benefits aren't
107769         that important here.
107770         (V_STRDUP): Remove.
107771         (parse_with_separator): New function, with most of the internals
107772         of the old parse_user_spec.  Allow user to omit both user and group,
107773         for compatibility with FreeBSD.
107774         Clone only the user name, not the entire spec.
107775         Do not set *uid, *gid unless entirely successful.
107776         Avoid memory leak in some failing cases.
107777         Fix regression for USER.GROUP reported by Dmitry V. Levin in
107778         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
107779         (parse_user_spec): Rewrite to use parse_with_separator.
107781 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107783         * modules/userspec: Don't depend on alloca.
107785 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107787         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
107789 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
107791         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
107792         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
107793         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
107795 2004-08-16  Simon Josefsson  <jas@extundo.com>
107797         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
107798         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
107799         Add --dry-run for --import.
107800         Let user provided command line parameters override configure.ac
107801         settings.
107803 2004-08-12  Simon Josefsson  <jas@extundo.com>
107805         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
107806         as discussed with Paul Eggert in threads rooted at
107807         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
107808         and
107809         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
107810         Before, the test was empty, and relied on ELIDE_CODE in source
107811         code.)
107812         (gl_PREREQ_GETOPT): New macro.
107813         (gl_GETOPT): Use them.
107815 2004-08-12  Simon Josefsson  <jas@extundo.com>
107817         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
107818         * lib/getopt_.h: Renamed from getopt.h.
107820 2004-08-12  Simon Josefsson  <jas@extundo.com>
107822         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
107823         Change default library name from libfoo to libgnu.
107824         Now, if you have a configure.ac that says:
107825                 gl_SOURCE_BASE(gl)
107826                 gl_M4_BASE(gl/m4)
107827                 gl_MODULES(error getopt etcetera)
107828                 gl_INIT
107829         you can import all you need by running:
107830                 ../gnulib/gnulib-tool --import
107832         * modules/getopt (Files): Rename getopt.h to getopt_.h.
107833         (Makefile.am): Rewrite, use logic from argz.
107834         (Include): Use <getopt.h> instead of "getopt.h".
107836 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107838         * modules/argp (Files): Add m4/unlocked-io.m4.
107839         (Depends-on): Add extensions.
107841 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107843         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
107844         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
107845         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
107846         Check for program_invocation_name, program_invocation_short_name,
107847         flockfile, funlockfile, features.h, _getopt_long_only_r.
107849 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107851         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
107852         its complicated substitute.
107853         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
107854         and program_invocation_name.
107855         (__argp_basename) [!_LIBC]: Remove; the only use was
107856         replaced by its body.
107857         (__argp_short_program_name): Change condition from
107858         !defined __argp_short_program_name to
107859         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
107860         to match argp-namefrob.h.
107861         (__argp_failure): Don't assume strerror_r returns char *.
107862         * lib/argp-parse.c (N_): Define unconditionally.
107863         (argp_default_options): Fill out initializers with 0 to avoid
107864         gcc warnings.
107866 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107868         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
107869         getopt1.c.
107871 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107873         Merge from coreutils.
107875         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
107877         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
107878         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
107880 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107882         Merge from coreutils.
107884         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
107885         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
107886         for Reliant Unix 5.43.
107888         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
107889         (union fooround): Use uintmax_t, not long int.
107890         The rest is a merge from libc:
107891         [defined _LIBC]: Include <shlib-compat.h>.
107892         (_obstack) [defined _LIBC]: Remove after 2.3.4.
107894         * lib/settime.c (settime): Recode to avoid warning with
107895         Sun Forte C 6U2.
107897         * lib/strverscmp.c: Convert to UTF-8.
107899 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107901         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
107902         m4/uintmax_t.m4.
107904 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107906         * modules/xalloc-die: New file.
107907         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
107909         * modules/md5 (Files): Add m4/uint32_t.m4.
107910         * modules/sha1: Renamed from modules/sha.
107911         (Files):
107912         Rename lib/sha.h to lib/sha1.h.
107913         Rename lib/sha.c to lib/sha1.c.
107914         Rename m4/sha.m4 to m4/sha1.m4.
107915         (lib_SOURCES): Likewise.
107916         (configure.ac): Rename gl_SHA to gl_SHA1.
107917         (Include): sha.h -> sha1.h.
107919 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107921         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
107922         * m4/sha1.m4: Renamed from sha.m4.
107923         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
107925 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107927         * lib/obstack.h (obstack_empty_p):
107928         Don't assume that chunk->contents is suitably aligned.
107929         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
107930         Likewise. Problem reported by Benno in
107931         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
107933         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
107934         readable.  This could be improved further but it'd take some work.
107936 2004-08-08  Simon Josefsson  <jas@extundo.com>
107938         * modules/xgethostname (Depends-on): Remove exit and error (not
107939         used).
107941         * modules/getpass-gnu: Add getpass.h.
107942         (Depends-on): Add stdbool.
107943         * modules/getpass: Add getpass.h.
107945 2004-08-08  Simon Josefsson  <jas@extundo.com>
107947         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
107948         Check getpass declaration.
107950 2004-08-08  Simon Josefsson  <jas@extundo.com>
107952         * lib/xgethostname.c: Don't include error.h (not used).
107954         * lib/getpass.h: Add.
107955         * lib/getpass.c: Include getpass.h first.
107957 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
107959         * lib/xalloc-die.c: New file.
107960         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
107961         All uses removed.
107962         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
107963         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
107964         xalloc-die.c.
107965         (_, N_, xalloc_die): Move to xalloc-die.c.
107966         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
107967         so that we needn't mess with xalloc_msg_memory_exhausted.
107969         * lib/sha1.h: Renamed from sha.h.
107970         (SHA1_H): Renamed from _SHA_H.
107971         (sha1_ctx): Renamed from sha_ctx.
107972         (sha1_init_ctx): Renamed from sha_init_ctx.
107973         (sha1_process_block): Renamed from sha_process_block.
107974         (sha1_process_bytes): Renamed from sha_process_bytes.
107975         (sha1_finish_ctx): Renamed from sha_finish_ctx.
107976         (sha1_read_ctx): Renamed from sha_read_ctx.
107977         (sha1_stream): Renamed from sha_stream.
107978         (sha1_buffer): Renamed from sha_buffer.
107979         * lib/sha1.c: Likewise; renamed from sha.c.
107980         Do not include <sys/types.h>.
107981         Include <stddef.h> rather than <stdlib.h>.
107983 2004-08-08  Bruno Haible  <bruno@clisp.org>
107985         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
107986         FILESYSTEM_PREFIX_LEN.
107987         * lib/progreloc.c: Likewise.
107988         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
107990 2004-08-06  Simon Josefsson  <jas@extundo.com>
107992         * modules/progname (Depends-on): Don't depend on stdbool.
107994 2004-08-06  Simon Josefsson  <jas@extundo.com>
107996         * modules/getsubopt: New file.
107997         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
107998         getsubopt.
108000 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
108002         More merge from coreutils.
108004         * m4/utimens.m4, m4/utimecmp.m4: New files.
108005         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
108006         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
108007         prereq.m4, sha.m4: Import changes from coreutils.
108009 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
108011         More merge from coreutils.
108012         * modules/raise, modules/readtokens0, modules/utimens:
108013         * modules/utimecmp, module/xnanosleep: New files.
108014         * modules/strftime: Add lib/strftime.h.
108015         Change include from <time.h> to "strftime.h".
108016         * modules/yesno: Add lib/yesno.h.
108017         * modules/backupfile: Remove lib/addext.c.
108018         * modules/euidaccess: Add stat-macros.h.
108019         * modules/canonicalize, modules/euidaccess,
108020         modules/filemode, modules/lchown, modules/makepath,
108021         modules/rmdir, modules/stat: Likewise.
108023 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
108025         Merge from tar.
108026         * lib/argp-help.c (make_hol, hol_append): Don't assume that
108027         SIZE_MAX is a valid preprocessor constant.
108028         (__argp_basename): Change from "#ifndef _LIBC"
108029         to "#ifndef __argp_short_program_name", so that
108030         we don't compile these functions for tar.
108032         More merges from coreutils.
108033         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
108034         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
108035         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
108036         * lib/addext.c: Remove; no longer needed.
108037         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
108038         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
108039         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
108040         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
108041         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
108042         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
108043         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
108044         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
108045         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
108046         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
108047         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
108048         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
108049         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
108050         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
108051         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
108052         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
108053         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
108054         Import changes from coreutils.
108056 2004-08-05  Simon Josefsson  <jas@extundo.com>
108058         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
108060 2004-08-05  Simon Josefsson  <jas@extundo.com>
108062         * m4/getsubopt.m4: New file.
108064 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
108066         Merge from coreutils.
108068         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
108069         * m4/getcwd-path-max.m4: New files.
108071         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
108072         FILESYSTEM_PREFIX_LEN ->
108073         FILE_SYSTEM_PREFIX_LEN.
108074         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
108075         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
108076         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
108077         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
108079         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
108080         prerequisite modules now handle the DOS stuff.
108081         Don't check for unistd.h.
108083 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
108085         Merge from coreutils.
108087         * lib/.gdb-history: Remove; this doesn't belong here.
108089         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
108090         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
108091         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
108092         * lib/getcwd.c: New files.
108094         * lib/dirname.h: Include <stdbool.h>.
108095         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
108096         for consistency with POSIX terminology.  All uses changed.
108097         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
108098         (strip_trailing_slashes): Use bool for booleans.
108099         * lib/stripslash.c (strip_trailing_slashes): Likewise.
108101         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
108102         sometimes returns a positive errno value even when it succeeds.
108103         (print_errno_message) [!LIBC]: Fall back on strerror if
108104         __strerror_r fails.
108106         * lib/path-concat.c (mempcpy): Don't define if a system header defines
108107         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
108108         (longest_relative_suffix): New function.
108109         (path_concat): Use it.  Assume first argument is not NULL.
108110         Port to DOS.  Omit redundant separators.
108111         Report an error instead of returning NULL.
108112         Use mempcpy instead of memcpy.
108113         (xpath_concat): Remove: not declared or used.
108115         * lib/same.h: Include <stdbool.h>
108116         (same_name): Return bool, not int.
108117         * lib/same.c (same_name): Likewise.
108118         (errno): Don't declare; we assume C89 or better now.
108120         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
108121         if not already defined.
108123         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
108124         * lib/dup-safer.c (errno): Likewise.
108126 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
108128         Merge from coreutils.
108129         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
108130         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
108131         * modules/path-concat: Don't depend on strdup.
108133 2004-08-03  Simon Josefsson  <jas@extundo.com>
108135         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
108136         * lib/progname.h: Don't include stdbool.h.
108138 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
108140         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
108141         * MODULES.html.sh (func_all_modules): Remove fatal.
108143 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
108145         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
108147 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
108149         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
108150         working.
108152 2004-08-02  Simon Josefsson  <jas@extundo.com>
108154         * lib/getsubopt.h: New file, with comments from Bruno Haible.
108155         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
108156         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
108158 2004-08-01  Simon Josefsson  <jas@extundo.com>
108160         * lib/xgetdomainname.c: Include stdlib.h, for free().
108162 2004-07-19  Bruno Haible  <bruno@clisp.org>
108164         * MODULES.html.sh (func_all_modules): Add dummy.
108166 2004-07-16  Simon Josefsson  <jas@extundo.com>
108168         * modules/dummy: New file.
108170 2004-07-16  Simon Josefsson  <jas@extundo.com>
108172         * lib/dummy.c: New file.
108174 2004-07-16  Bruno Haible  <bruno@clisp.org>
108176         * lib/backupfile.h: Add extern "C" for C++.
108177         * lib/closeout.h: Likewise.
108178         * lib/copy-file.h: Likewise.
108179         * lib/findprog.h: Likewise.
108180         * lib/full-write.h: Likewise.
108181         * lib/pathname.h: Likewise.
108182         * lib/progname.h: Likewise.
108183         * lib/stpcpy.h: Likewise.
108184         * lib/stpncpy.h: Likewise.
108185         * lib/strcase.h: Likewise.
108186         * lib/strstr.h: Likewise.
108187         * lib/xalloc.h: Likewise.
108189         * lib/mbswidth.h: Add extern "C" for C++.
108190         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
108192 2004-07-13  Robert Millan  <robertmh@gnu.org>
108194         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
108196 2004-07-09  Simon Josefsson  <jas@extundo.com>
108198         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
108199         failed without this.)
108201 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
108203         * modules/chown (Files): Add lib/fchown-stub.c, since
108204         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
108206 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
108208         * lib/fchown-stub.c: New file.
108210 2004-06-24  Jim Meyering  <jim@meyering.net>
108212         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
108214 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108216         * modules/argz: Omit "#include".
108218         * MODULES.html.sh (func_all_modules): Add calloc, to match
108219         2004-06-01 addition of calloc module.
108221 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108223         * m4/argz.m4: New file, which is autoupdated from libtool.
108225 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108227         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
108228         libtool.
108230 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108232         * config/srclist-update: Don't insist on "USA." before the
108233         close-comment, as libtool omits the period and puts the */ on a
108234         separate line.
108235         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
108236         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
108238 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
108240         * modules/argz: New file.
108241         * MODULES.html.sh (func_all_modules): Add argz.
108243 2004-06-12  Jim Meyering  <jim@meyering.net>
108244         and  Paul Eggert  <eggert@cs.ucla.edu>
108246         * modules/hash (Files): Add lib/xalloc.h.
108247         * modules/pipe (Depends-on): Add wait-process.
108248         * modules/stat (Depends-on): Add xalloc.
108249         * modules/userspec (Files): Add lib/userspec.h.
108250         * modules/xstrto
108252         Upgrade from gettext-0.13.
108253         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
108254         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
108255         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
108257 2004-06-10  Jim Meyering  <jim@meyering.net>
108259         * lib/calloc.c: New file.
108261 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
108263         * lib/getdate.y (yylex): Allow space between sign and number.
108264         Problem reported by Dan Jacobson.
108266 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
108268         Merge from coreutils CVS.
108270         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
108271         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
108272         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
108273         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
108274         xstrtol.m4: Fix copyright date and/or serial number.
108276         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
108277         See if we need an fchown replacement.
108278         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
108279         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
108280         and use the replacement function if we detect either defect.
108282         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
108283         gl_UTIMECMP.
108285 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
108286         and  Jim Meyering  <jim@meyering.net>
108288         Merge from coreutils CVS.
108290         * lib/stat-macros.h: New file, with contents from file-type.h
108291         and coreutils' system.h.
108292         * lib/file-type.c: Include "stat-macros.h".
108293         * lib/file-type.h (file_type): Move all macro definitions to new file,
108294         stat-macros.h.
108296         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
108297         Wrap old code with this conditional.
108298         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
108299         function that does not dereference symlinks.
108300         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
108302         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
108303         dependency problems.
108304         (xreadlink): Accept new arg SIZE, for efficiency.
108305         All decls and uses changed.
108306         * lib/xreadlink.h: Include <stddef.h>, for size_t.
108308         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
108309         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
108311         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
108312         sysexits.h.
108314 2004-06-01  Jim Meyering  <jim@meyering.net>
108316         * m4/calloc.m4: New file.
108318 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
108320         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
108321         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
108322         Also, fix a typo in a diagnostic.
108324 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
108326         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
108327         or AC_FUNC_REALLOC.
108329 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
108331         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
108332         macros to be defined.
108333         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
108334         the allocator returns NULL because the requested size is zero.
108336 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
108338         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
108339         var.  Add comment explaining why libc still defines it.  This
108340         merges the following patch from glibc:
108341         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
108343 2004-05-20  Andreas Schwab  <schwab@suse.de>
108345         * m4/free.m4: Replace free if it not known to work, not the other
108346         way round.
108348 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
108350         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
108351         present in glibc since revision 1.1 of this file.
108352         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
108353         obstack_alignment_mask, obstack_alloc, obstack_base,
108354         obstack_blank, obstack_blank_fast, obstack_chunk_size,
108355         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
108356         obstack_grow0, obstack_init, obstack_int_grow,
108357         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
108358         obstack_next_free, obstack_object_size, obstack_ptr_grow,
108359         obstack_ptr_grow_fast, obstack_room): Remove declarations of
108360         nonexistent functions.
108362 2004-05-18  Karl Berry  <karl@gnu.org>
108364         * config/srclist.txt: break link for vasnprintf.c.
108366 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
108368         Port obstack to the AS/400, where pointers are 16 bytes wide and
108369         you cannot cast an integer to a valid pointer.  This patch is
108370         currently waiting to be integrated into glibc; see
108371         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
108373         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
108374         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
108375         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
108376         (struct obstack): temp member is now a union of a pointer and
108377         an integer, instead of an integer.  All integer uses changed.
108378         This does not affect the physical layout of struct obstack,
108379         except on hosts (like the AS/400) where the size or alignment of
108380         void * is greater than that of ptrdiff_t.
108381         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
108382         __STDC__)]: Store temporary in pointer member of union, not
108383         integer member.
108384         * lib/obstack.c: Include <stddef.h>, for offsetof.
108385         (struct fooalign): Remove; it doesn't need a name.
108386         (union fooround): Change double to long double, and add void *.
108387         (DEFAULT_ALIGNMENT): Use offsetof to compute.
108388         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
108389         not a macro.  Hence the values are always int; so remove all
108390         casts-to-int in uses.
108392 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
108394         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
108395         we can get this patch merged into glibc.
108397 2004-05-17  Derek R. Price  <derek@ximbiot.com>
108398             Paul Eggert  <eggert@cs.ucla.edu>
108400         * m4/argp: Depend on alloca.
108402 2004-05-17  Derek R. Price  <derek@ximbiot.com>
108403             Paul Eggert  <eggert@cs.ucla.edu>
108405         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
108406         freecoding.
108408 2004-05-17  Bruno Haible  <bruno@clisp.org>
108410         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
108411         precision that consists of a '.' followed by an empty digit string.
108412         Patch by Tor Lillqvist <tml@iki.fi>.
108414 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
108416         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
108417         for backward compatibility with older code.  We need our own
108418         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
108419         it under some other name, and our alloca.h will define it.
108421 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
108422             Derek Price  <derek@ximbiot.com>
108424         * lib/alloca.c: Include <alloca.h>, to get our interface.
108425         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
108426         include <alloca.h> first.  Use C89 prototype for alloca; this
108427         requires including <stddef.h> for size_t.  Use extern "C" if C++.
108428         Use #elif for simplicity, since we can assume C89 now.
108429         Don't try to source the system alloca.h since it will not be found
108430         and to prevent recursively including its replacement.
108431         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
108432         * lib/regex.c: Likewise.
108434 2004-05-16  Derek Price  <derek@ximbiot.com>
108435             Paul Eggert  <eggert@cs.ucla.edu>
108437         getline cleanup.  This changes the getndelim2 API: both order of
108438         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
108439         no delimiter).
108441         * lib/getline.c: Don't include stddef.h or stdio.h, since our
108442         interface does that.
108443         (getline): Always use getdelim, so that we don't have two
108444         copies of this code.
108445         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
108446         if available.
108447         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
108448         (GETNDELIM2_MAXIMUM): New macro.
108449         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
108450         instead of the old practice of delim2==0.  All callers changed.
108451         Return -1 on overflow, instead of returning junk.
108452         Do not set *linesize unless allocation succeeds.
108453         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
108454         that we include sys/types.h.
108455         * lib/getnline.h: Likewise.
108456         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
108457         (getndelim2): Reorder arguments.
108458         * lib/getnline.c (getnline, getndelim):
108459         Don't discard the NMAX argument.
108460         (getnline): Invoke getndelim, to avoid code duplication.
108461         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
108462         of (size_t) -1 by callers of the getnline family.
108464 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
108466         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
108467         Check for gettimeofday.
108468         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
108469         Check for settimeofday, stime.
108471 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
108473         * lib/nanosleep.c (suspended): Change its type from int to
108474         sig_atomic_t volatile.
108475         (first_call): Make it private to rpl_nanosleep, and have it
108476         be zero initially as that's a bit faster.
108477         (my_usleep): Round up fractional times instead of truncating them,
108478         as this is the usual meaning for 'sleep'.
108480         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
108481         doesn't work.
108482         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
108483         (ENOSYS): Define if not defined.
108484         (settime): Fall back on stime if it exists and settimeofday fails.
108485         But don't bother with fallbacks if a method fails with errno == EPERM.
108487 2004-05-11  Jim Meyering  <jim@meyering.net>
108489         Prior to this change, the save_cwd caller required read access to the
108490         current directory on most systems (ones with the fchdir function).
108492         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
108493         fails, try write-only, and finally, resort to using xgetcwd.
108495 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
108497         * lib/obstack.c, obstack.h: Import changes from libc.
108499 2004-04-28  Bruno Haible  <bruno@clisp.org>
108501         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
108502         also implicitly appends .exe to executables.
108503         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
108504         accepts Windows pathnames.
108505         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
108506         Treat Cygwin like Windows, since it now accepts Windows pathnames.
108507         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
108508         Treat Cygwin like Windows, since it now accepts Windows pathnames.
108509         Reported by Derek Robert Price <derek@ximbiot.com>.
108511 2004-04-21  Karl Berry  <karl@gnu.org>
108513         * config/srclist.txt (localcharset.c): break sync.
108515 2004-04-20  Paul Eggert  <eggert@twinsun.com>
108517         * m4/host-os.m4: Add a copyright notice.
108519 2004-04-20  Jim Meyering  <jim@meyering.net>
108521         Change UTILS_ to gl_ in AC_DEFINE'd names.
108522         Change utils_- and jm_-prefixed variables, too.
108523         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
108524         UTILS_FUNC_MKDIR_TRAILING_SLASH.
108525         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
108527         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
108528         Don't emit trailing blanks.
108529         Also rename jm_-prefixed variables to have gl_ prefix.
108531         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
108532         Also rename jm_-prefixed variables to have gl_ prefix.
108534         * m4/jm-macros.m4: Reflect the renamings.
108535         * m4/prereq.m4: Likewise.
108537 2004-04-20  Jim Meyering  <jim@meyering.net>
108539         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
108540         memory.
108542 2004-04-20  Jim Meyering  <jim@meyering.net>
108543             Bruno Haible  <bruno@clisp.org>
108545         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
108546         memory when realloc fails.
108548 2004-04-19  Jim Meyering  <jim@meyering.net>
108550         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
108551         now that readutmp.c may call `free (0)'.
108553 2004-04-19  Bruno Haible  <bruno@clisp.org>
108555         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
108556         * m4/inttypes_h.m4: Likewise.
108557         * m4/stdint_h.m4: Likewise.
108558         * m4/intmax_t.m4: Likewise.
108559         * m4/uintmax_t.m4: Likewise.
108561 2004-04-18  Jim Meyering  <jim@meyering.net>
108563         * m4/prereq.m4: Don't forbid jm_ prefix.
108565         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
108566         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
108567         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
108568         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
108569         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
108570         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
108571         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
108572         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
108573         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
108574         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
108575         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
108576         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
108577         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
108578         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
108579         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
108580         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
108581         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
108582         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
108583         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
108585 2004-04-18  Jim Meyering  <jim@meyering.net>
108587         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
108588         failure, don't leak memory and do call END_UTMP_ENT.
108590 2004-04-16  Jim Meyering  <jim@meyering.net>
108592         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
108593         coreutils' stat program.
108594         (gl_PREREQ): Don't require jm_PREREQ_STAT.
108596 2004-04-11  Paul Eggert  <eggert@twinsun.com>
108598         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
108599         C89.
108600         (CHAR_BIT): Remove, since we assume C89.
108601         Include <stdint.h> if available, as per current Autoconf CVS advice.
108603 2004-03-31  Jim Meyering  <jim@meyering.net>
108605         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
108606         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
108607         * m4/xalloc.m4: Likewise.
108609 2004-03-30  Paul Eggert  <eggert@twinsun.com>
108611         Merge from coreutils.
108613         * m4/inttostr.m4: New file.
108614         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
108615         Require AM_STDBOOL_H and gl_TIMESPEC instead.
108616         Require gl_CLOCK_TIME.
108617         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
108619 2004-03-30  Paul Eggert  <eggert@twinsun.com>
108621         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
108622         not bool, to be more consistent with Unix conventions.
108623         Suggested by Bruno Haible.
108625         Merge from coreutils.
108627         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
108628         * lib/umaxtostr.c: New files.
108630         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
108631         the usual <time.h> dance.
108632         (get_date): Change signature to support fractional time stamps.
108633         All callers changed.
108634         * lib/getdate.y: Include "getdate.h" first, as we can now
108635         assume C89 and don't need to worry about 'const'.
108636         Similarly, include "unlocked-io.h" near start, not in middle.
108637         Include <limits.h>.
108638         (textint.value): Use long int rather than int.
108639         (textint.digits): Use size_t rather than int.
108640         (BILLION, LOG10_BILLION): New constants.
108641         (parser_control): New member rel_ns.  Members day_ordinal,
108642         time_zone, month, day, hour, minutes, rel_year, rel_month,
108643         rel_day, rel_hour, rel_minutes, rel_seconds
108644         are now long int, not int.  Member seconds is now struct timespec,
108645         not int.  New member timespec_seen.  Members dates_seen, days_seen,
108646         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
108647         not int.
108648         (%union.intval): Now long int, not int.
108649         New member timespec.
108650         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
108651         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
108652         (spec): Now is a timespec or an item list.
108653         (timespec, items): New nonterminals.
108654         (time, rel, relunit, number, get_date):
108655         Add support for fractional seconds.
108656         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
108657         (gmtime, localtime, mktime): Remove decls; not needed with C89.
108658         (to_hour): First arg is now long int, not int.
108659         (to_year): Returns long int, not int.
108660         Don't treat year -70 like 70.
108661         (tm_diff): Returns long int, not int.
108662         (lookup_word): Use bool instead of int when appropriate.
108663         (yylex): Use size_t for count, not int.
108664         Detect overflow when parsing large integer constants.
108665         Add support for fractions.
108666         (get_date): Make pointers 'const' if possible.
108667         Use more-portable code to detect integer overflow.
108668         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
108669         Don't use ctime; it's not reliable if the year has >4 digits.
108671         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
108672         This is for compatibility with BSD.
108674         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
108675         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
108676         From coreutils' system.h.
108678         * lib/userspec.c: Don't include "posixver.h".
108679         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
108680         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
108681         compatible extension.  Simplify code by removing a boolean int
108682         that was always nonzero if a string was nonnull.
108684 2004-03-30  Jim Meyering  <jim@meyering.net>
108686         Merge from coreutils.
108688         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
108689         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
108690         on some systems one must include <grp.h> before it.
108691         Reported by Christian Krackowizer.
108693 2004-03-30  Jim Meyering  <jim@meyering.net>
108695         Merge from coreutils.
108697         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
108699         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
108700         an empty input stream.
108702         * lib/readtokens.c: Include <stdbool.h>.
108703         (readtoken): Use `size_t' rather than int/long.
108704         All callers adjusted.
108705         Use `bool' rather than `int' where appropriate.
108706         Use memset rather than an explicit loop.
108707         Use x2nrealloc rather than xrealloc.
108708         Allow the use of `\0' as a delimiter.
108709         (readtokens): Likewise.
108710         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
108712 2004-03-30  Jim Meyering  <jim@meyering.net>
108714         * m4/realloc.m4: Remove file, since now it does no more than
108715         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
108716         the `configure.ac' section of module/realloc.
108717         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
108719 2004-03-30  Bruno Haible  <bruno@clisp.org>
108721         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
108722         nonnull.
108724 2004-03-29  Paul Eggert  <eggert@twinsun.com>
108726         Merge changes to getloadavg.c from coreutils and Emacs.
108728         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
108729         Define to an expression, not to the empty string.
108730         Include cloexec.h and xalloc.h.
108731         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
108732         Use set_cloexec_flag rather than rolling our own.
108733         * lib/cloexec.c, lib/cloexec.h: New files.
108735 2004-03-29  Paul Eggert  <eggert@twinsun.com>
108737         * m4/cloexec.m4: New file.
108739 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108741         * lib/getopt.h: Sync with libc CVS.
108743 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108744             Bruno Haible  <bruno@clisp.org>
108746         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
108747         mbswidth.
108749 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108750             Bruno Haible  <bruno@clisp.org>
108752         * lib/mbswidth.h: Include <wchar.h> only if
108753         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
108754         <wchar.h>.
108755         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
108757 2004-03-09  Paul Eggert  <eggert@twinsun.com>
108759         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
108760         Sync with libc CVS.
108761         * lib/getopt_int.h: New file, also synced from libc.
108763 2004-03-09  Paul Eggert  <eggert@twinsun.com>
108765         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
108766         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
108767         Bring back getopt.c, getopt.h, getopt1.c.
108769 2004-03-07  Paul Eggert  <eggert@twinsun.com>
108771         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
108772         All uses changed.  Check for sa_sigaction member; this fixes
108773         a bug first reported by Jason Andrade in
108774         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
108776 2004-03-07  Paul Eggert  <eggert@twinsun.com>
108778         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
108779         '#if' expressions.  Unlike the code it replaces, it does not
108780         depend on (defined _SC_PAGESIZE).  However, it does depend on
108781         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
108782         first reported by Jason Andrade in
108783         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
108785 2004-02-25  Simon Josefsson  <jas@extundo.com>
108787         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
108789 2004-02-25  Simon Josefsson  <jas@extundo.com>
108791         * lib/strdup.h: New file.
108792         * lib/strdup.c: Include it.
108793         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
108794         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
108796 2004-02-23  Karl Berry  <karl@gnu.org>
108798         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
108799         (from fencepost.gnu.org:/gd/gnuorg).
108801 2004-02-23  Karl Berry  <karl@gnu.org>
108803         * config/srclistvars.sh (GNUORG) [karl]: redefine.
108804         * config/srclist.txt: add maintain/standards documents.
108806 2004-02-18  Bruno Haible  <bruno@clisp.org>
108808         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
108809         Reported by Derek Robert Price <derek@ximbiot.com>.
108811 2004-02-16  Karl Berry  <karl@gnu.org>
108813         * config/mkinstalldirs, install-sh: update from automake.
108815 2004-02-06  Karl Berry  <karl@gnu.org>
108817         * m4/po.m4: update from gettext 0.14.1.
108819 2004-02-06  Karl Berry  <karl@gnu.org>
108821         * lib/config.charset: update from gettext 0.14.1.
108823 2004-02-05  Paul Eggert  <eggert@twinsun.com>
108825         Add comments and code, prompted by suggestions from Bruno Haible
108826         for sh-quote.
108827         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
108828         describing the enum quoting_style values.
108829         * lib/quotearg.c (quotearg_alloc): New function.
108830         (quotearg_buffer_restyled): Treat lone { and } as special.
108831         Treat = as special.  Work around bug with older shells
108832         that "see" a '\' that is really the 2nd byte of a multibyte char.
108833         Quote empty string with shell_quoting_style.
108835 2004-02-03  Bruno Haible  <bruno@clisp.org>
108837         * m4/pipe.m4: New file, from GNU gettext.
108839 2004-02-03  Bruno Haible  <bruno@clisp.org>
108841         * lib/pipe.h: New file, from GNU gettext.
108842         * lib/pipe.c: New file, from GNU gettext.
108844 2004-01-27  Bruno Haible  <bruno@clisp.org>
108846         * m4/execute.m4: New file, from GNU gettext.
108848 2004-01-27  Bruno Haible  <bruno@clisp.org>
108850         * lib/execute.h: New file, from GNU gettext.
108851         * lib/execute.c: New file, from GNU gettext.
108852         * lib/w32spawn.h: New file, from GNU gettext.
108854 2004-01-24  Paul Eggert  <eggert@twinsun.com>
108856         Merge from diffutils.
108858         * lib/file-type.c (file_type): Add typed memory objects.
108859         * lib/file-type.h (S_TYPEISTMO): New macro.
108861         * lib/c-stack.h (c_stack_action): Remove argv argument.
108862         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
108863         (die): Don't calculate message unless segv_action returns.
108864         (get_stack_location, min_address_from_argv, max_address_from_argv,
108865         volatile stack_base, volatile_stack_size): Remove.
108866         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
108867         that every segmentation violation is a stack overflow.  (Ouch!)
108868         See Debian bug 136249 (still outstanding) for more info about why
108869         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
108871 2004-01-24  Paul Eggert  <eggert@twinsun.com>
108873         Exit-status fix from coreutils.
108875         Use exit_failure consistently in place of EXIT_FAILURE,
108876         so that program exit statuses are consistent on failure.
108878         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
108879         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
108880         * lib/argmatch.h: Comment fix to match the above.
108881         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
108882         Now a macro referring to exit_failure, instead of a separate
108883         variable.  Include "exitfail.h" to get it.
108884         * lib/xstrtol.h: Include "exitfail.h".
108885         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
108887         * lib/long-options.c (parse_long_options): Use prototype
108888         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
108889         for clarity.
108891 2004-01-21  Jim Meyering  <jim@meyering.net>
108893         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
108894         so as not to conflict with a different-sized __mktime_internal
108895         function in GNU libc.
108896         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
108897         Problem building statically-linked `ls' reported by Michael Brunnbauer.
108899 2004-01-20  Karl Berry  <karl@gnu.org>
108901         * config/config.guess: update from config.
108903         * config/srclistvars.sh: GNUWWWLICENSES for karl.
108905 2004-01-20  Bruno Haible  <bruno@clisp.org>
108907         Safer stack allocation.
108908         * lib/setenv.c: Include allocsa.h.
108909         (alloca): Remove fallback definition.
108910         (freea): Remove macro.
108911         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
108912         instead of freea.
108914 2004-01-20  Bruno Haible  <bruno@clisp.org>
108916         * m4/eealloc.m4: New file, from GNU gettext.
108918 2004-01-20  Bruno Haible  <bruno@clisp.org>
108920         * m4/allocsa.m4: New file, from GNU gettext.
108922 2004-01-20  Bruno Haible  <bruno@clisp.org>
108924         * lib/xallocsa.h: New file, from GNU gettext.
108925         * lib/xallocsa.c: New file, from GNU gettext.
108927 2004-01-20  Bruno Haible  <bruno@clisp.org>
108929         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
108931 2004-01-20  Bruno Haible  <bruno@clisp.org>
108933         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
108934         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
108935         specially.
108937 2004-01-20  Bruno Haible  <bruno@clisp.org>
108939         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
108940         patch.
108942 2004-01-20  Bruno Haible  <bruno@clisp.org>
108944         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
108946 2004-01-20  Bruno Haible  <bruno@clisp.org>
108948         * lib/eealloc.h: New file.
108950 2004-01-20  Bruno Haible  <bruno@clisp.org>
108952         * lib/binary-io.h: Avoid warnings on Cygwin.
108954 2004-01-20  Bruno Haible  <bruno@clisp.org>
108956         * lib/allocsa.h: New file, from GNU gettext.
108957         * lib/allocsa.c: New file, from GNU gettext.
108959 2004-01-18  Karl Berry  <karl@gnu.org>
108961         * doc/gpl.texi, doc/lgpl.texi: new files.
108963 2004-01-18  Karl Berry  <karl@gnu.org>
108965         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
108966         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
108968 2004-01-15  Paul Eggert  <eggert@twinsun.com>
108970         Merge from coreutils.
108972         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
108973         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
108974         (gl_DEFAULT_POSIX2_VERSION): Move
108975         the documentation from 'configure' into 'config.hin',
108976         so that 'configure --help' isn't burdened by it and
108977         we don't have to worry about its formatting there.
108978         Reword the documentation so that it's more succinct
108979         and can be run together into a single paragraph.
108980         * m4/same.m4 (gl_SAME): Check for pathconf.
108982 2004-01-15  Paul Eggert  <eggert@twinsun.com>
108984         Merge from coreutils.
108986         * lib/posixver.c: Include posixver.h.
108988         * lib/same.c: Include <stdbool.h>, <limits.h>.
108989         (_POSIX_NAME_MAX): Define if not defined.
108990         (MIN): New macro.
108991         (same_name): If file names are silently truncated, report
108992         that the file names are the same if they are the same after
108993         the silent truncation.
108995         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
108996         conversion function.
108997         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
108998         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
108999         longer needed.
109001 2004-01-15  Jim Meyering  <jim@meyering.net>
109003         Merge from coreutils.
109005         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
109006         if no library is required.
109007         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
109008         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
109009         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
109010         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
109011         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
109012         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
109013         value, $ac_cv_search_crypt, if it's "none required".
109014         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
109015         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
109016         not gl_FUNC_GETLOADAVG.
109017         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
109018         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
109020 2004-01-15  Jim Meyering  <jim@meyering.net>
109022         Merge from coreutils.
109024         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
109025         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
109026         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
109028         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
109029         optional configure-time default.
109031         * lib/version-etc.c (version_etc_copyright): Update copyright date.
109033         * lib/xreadlink.c (xreadlink): Correct outdated comment.
109035 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
109037         Merge from coreutils.
109039         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
109040         value, $ac_cv_search_nanosleep, if it's "none required".
109042 2004-01-14  Paul Eggert  <eggert@twinsun.com>
109044         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
109045         with like-named macro in fnmatch.c.
109046         (EXT): Use an internal constant instead.
109048         Merge fnmatch patches from glibc.
109049         * lib/fnmatch.c (mbsinit): Remove define.
109050         Add libc_hidden_ver (__fnmatch, fnmatch).
109051         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
109052         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
109054 2004-01-14  Karl Berry  <karl@gnu.org>
109056         * config/install-sh: update from automake.
109058 2004-01-13  Karl Berry  <karl@gnu.org>
109060         * config/install-sh: update from automake.
109062 2004-01-09  Karl Berry  <karl@gnu.org>
109064         * config/install-sh: update from automake.
109066 2004-01-05  Karl Berry  <karl@gnu.org>
109068         * config/config.{sub,guess}: update from config.
109070 2003-12-31  Karl Berry  <karl@gnu.org>
109072         * config/depcomp: update from automake.
109074 2003-12-14  Karl Berry  <karl@gnu.org>
109076         * lib/config.charset: update from gettext-runtime.
109078 2003-12-03  Paul Eggert  <eggert@twinsun.com>
109080         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
109081         Bug reported by Alfred M. Szmidt.
109083 2003-12-03  Bruno Haible  <bruno@clisp.org>
109085         * m4/gettext.m4: Upgrade from gettext-0.13.
109086         * m4/po.m4: Upgrade from gettext-0.13.
109087         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
109088         * m4/intmax.m4: New file, from gettext-0.13.
109089         * m4/printf-posix.m4: New file, from gettext-0.13.
109091 2003-11-29  Karl Berry  <karl@gnu.org>
109093         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
109095 2003-11-25  Paul Eggert  <eggert@twinsun.com>
109096             Bruno Haible  <bruno@clisp.org>
109098         * lib/printf-parse.h: Don't include sys/types.h.
109099         (ARG_NONE): New macro.
109100         (char_directive): Change type of *arg_index fields to size_t.
109101         * lib/printf-parse.c: Don't include sys/types.h.
109102         (SSIZE_MAX): Remove macro.
109103         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
109104         Remove unnecessary overflow check.
109105         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
109106         fields.
109108 2003-11-25  Bruno Haible  <bruno@clisp.org>
109110         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
109112 2003-11-25  Bruno Haible  <bruno@clisp.org>
109114         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
109115         gt_TYPE_SSIZE_T.
109117 2003-11-24  Paul Eggert  <eggert@twinsun.com>
109119         * modules/alloca: Remove dependency on xalloc.
109121 2003-11-24  Paul Eggert  <eggert@twinsun.com>
109123         * lib/alloca.c: Remove dependency on xalloc module.
109124         (xalloc_die): Remove.
109125         (memory_full) [!defined emacs]: New macro.
109126         [!defined emacs]: Don't include xalloc.h.
109127         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
109128         address arithmetic overflows.  Change datatypes a bit to avoid
109129         unnecessary casts.
109131 2003-11-22  Jim Meyering  <jim@meyering.net>
109133         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
109134         s/size/size_t/.
109136 2003-11-21  Karl Berry  <karl@gnu.org>
109138         * config/config.{sub,guess}: update from config.
109140 2003-11-18  Karl Berry  <karl@gnu.org>
109142         * config/config.{sub,guess}: update from config.
109144         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
109146 2003-11-17  Paul Eggert  <eggert@twinsun.com>
109148         * README: Mention that S+T cannot overflow if S is the size of
109149         an existing object and T is sufficiently small.
109151 2003-11-17  Jim Meyering  <jim@meyering.net>
109153         On systems without utime and without a utimes function capable of
109154         dealing with a NULL struct utimbuf* argument, this utime replacement
109155         could -- in unusual circumstances -- leak a file descriptor.
109156         * lib/utime.c: Include <unistd.h> and <errno.h>.
109157         (utime_null): Be sure to close `fd' and to preserve errno.
109158         Reported by Geoff Collyer via Arnold Robbins.
109160 2003-11-17  Bruno Haible  <bruno@clisp.org>
109162         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
109163         (Depends-on): Add xsize.
109165 2003-11-17  Bruno Haible  <bruno@clisp.org>
109167         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
109169 2003-11-17  Bruno Haible  <bruno@clisp.org>
109171         * lib/vasnprintf.c (alloca): Remove fallback definition.
109172         (freea): Remove definition.
109173         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
109174         Reported by Paul Eggert.
109176 2003-11-16  Paul Eggert  <eggert@twinsun.com>
109177             Bruno Haible  <bruno@clisp.org>
109179         Protect against address arithmetic overflow.
109180         * lib/printf-args.h: Include stddef.h.
109181         (arguments): Change type of field 'count' to size_t.
109182         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
109183         'unsigned int' where appropriate.
109184         * lib/printf-parse.h: Include sys/types.h.
109185         (char_directive): Change type of *arg_index fields to ssize_t.
109186         (char_directives): Change type of fields 'count', max_*_length to
109187         size_t.
109188         * lib/printf-parse.c: Include sys/types.h and xsize.h.
109189         (SSIZE_MAX): Define fallback value.
109190         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
109191         instead of 'int' where appropriate. Check a_allocated, d_allocated
109192         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
109193         * lib/vasnprintf.c: Include xsize.h.
109194         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
109195         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
109196         overflow. Avoid wraparound when converting a width or precision from
109197         decimal to binary.
109199 2003-11-16  Bruno Haible  <bruno@clisp.org>
109201         Update from GNU gettext.
109202         * lib/printf-parse.c: Generalize to it can be compiled for wide
109203         strings.
109204         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
109205         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
109206         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
109207         SNPRINTF): New macros.
109208         Don't include <alloca.h> if the file is used inside libintl.
109209         (local_wcslen): New function, for Solaris 2.5.1.
109210         (VASNPRINTF): Use it instead of wcslen.
109212 2003-11-16  Bruno Haible  <bruno@clisp.org>
109214         * lib/xsize.h (xmax): New function.
109215         (xsum, xsum3, xsum4): Declare as "pure" functions.
109217 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109219         * modules/xalloc (Files): Undo latest change, since xalloc.h
109220         no longer needs SIZE_MAX or PTRDIFF_MAX.
109222 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109224         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
109225         gl_PTRDIFF_MAX.
109227 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109229         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
109230         "return", to pacify some unknown compiler.  Problem reported
109231         by Joerg Schilling.
109233 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109235         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
109236         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
109237         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
109238         heuristic is just as accurate as far as we know, and it removes a
109239         dependency on size_max.m4 and ptrdiff_max.m4.
109241 2003-11-11  Bruno Haible  <bruno@clisp.org>
109243         * modules/xsize (Files): Add m4/size_max.m4.
109244         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
109246 2003-11-11  Bruno Haible  <bruno@clisp.org>
109248         * m4/size_max.m4: New file.
109249         * m4/ptrdiff_max.m4: New file.
109250         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
109251         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
109252         (gl_XALLOC): Invoke it.
109254 2003-11-11  Bruno Haible  <bruno@clisp.org>
109256         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
109257         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
109258         defined.
109260 2003-11-10  Paul Eggert  <eggert@twinsun.com>
109262         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
109263         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
109264         rejected some allocations of exactly SIZE_MAX - 2 bytes.
109265         From Bruno Haible.
109266         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
109267         not (size_t) -1, since it's defined here.
109269 2003-11-09  Karl Berry  <karl@gnu.org>
109271         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
109273 2003-11-06  Paul Eggert  <eggert@twinsun.com>
109275         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
109276         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
109277         Reject sizes of exactly SIZE_MAX bytes.
109278         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
109279         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
109281 2003-11-05  Bruno Haible  <bruno@clisp.org>
109283         * lib/xsize.h: Include limits.h, to avoid a possible collision with
109284         SIZE_MAX defined in <limits.h> on Solaris.
109286 2003-11-04  Jim Meyering  <jim@meyering.net>
109288         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
109289         variable names, rather than @VAR@.
109290         * modules/poll: Likewise.
109292 2003-11-04  Bruno Haible  <bruno@clisp.org>
109294         * modules/xsize: New file.
109295         * modules/linebreak: Depend on xsize.
109296         * MODULES.html.sh (func_all_modules): Add xsize.
109298 2003-11-04  Bruno Haible  <bruno@clisp.org>
109300         * m4/xsize.m4: New file.
109302 2003-11-04  Bruno Haible  <bruno@clisp.org>
109304         * lib/xsize.h: New file.
109305         * lib/linebreak.c: Include xsize.h.
109306         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
109307         argument for overflow.
109308         Suggested by Paul Eggert.
109310 2003-11-03  Karl Berry  <karl@gnu.org>
109312         * config/config.{guess,sub}: update from config.
109314 2003-11-03  Jim Meyering  <jim@meyering.net>
109316         * modules/userspec (lib_SOURCES): Add userspec.h.
109317         (Include): Add "userspec.h".
109318         Improve description.
109320 2003-11-03  Jim Meyering  <jim@meyering.net>
109322         * lib/userspec.c: Include "userspec.h".
109323         * lib/userspec.h: New file.
109325 2003-11-03  Bruno Haible  <bruno@clisp.org>
109327         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
109329 2003-11-03  Bruno Haible  <bruno@clisp.org>
109331         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
109332         available, to avoid (extremely rare) race condition.
109333         Suggested by Paul Eggert.
109335 2003-11-02  Karl Berry  <karl@gnu.org>
109337         * config/srclist.txt (vasprintf.c): sync broken, sigh.
109339 2003-10-31  Paul Eggert  <eggert@twinsun.com>
109341         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
109342         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
109343         (read_filesystem_list): Set and use me_type_malloced.
109344         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
109345         whatever the type happens to be), for brevity and consistency.
109346         Check for size calculation overflow on Alphas running OSF/1.
109348 2003-10-31  Jim Meyering  <jim@meyering.net>
109350         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
109352         * lib/linebuffer.c: Include <string.h> for declaration of memset.
109354 2003-10-30  Paul Eggert  <eggert@twinsun.com>
109355             Bruno Haible  <bruno@clisp.org>
109357         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
109358         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
109360 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
109362         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
109363         netbsd*-gnu*.  Suggested by Robert Millan.
109365 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109367         * modules/group-member: Depend on stdbool.
109369 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109371         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
109373 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109375         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
109376         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
109377         after the 'gnu' in these cases.  This fixes some bugs in the
109378         previous change, and is based on suggestions by Robert Millan.
109380 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109382         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
109383         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
109384         no longer needed.
109385         * lib/quotearg.c (quotearg_n_options): Use it.
109386         * lib/group-member.c: Include <stdbool.h>.
109387         (free_group_info): Arg is now const *; don't free arg.
109388         (get_group_info): Now returns bool and accepts struct group_info *,
109389         rather than returning a malloc'ed struct group_info *.
109390         All uses changed.  Check for overflow in internal size calculation.
109392         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
109393         rather than xmalloc/xrealloc.
109394         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
109395         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
109396         conformance bug: the old code used a pointer after freeing the
109397         storage that it addressed.
109398         * lib/hash.c (hash_initialize): Simplify the code by using
109399         xalloc_oversized rather than doing it by hand.
109400         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
109401         the buffer preserved.  Use free and xmalloc instead.
109402         * lib/quotearg.c (quotearg_n_options): Likewise.
109403         Use a simpler test for size overflow.  Don't use xalloc_oversized
109404         because unsigned int might be wider than size_t (!); this suggests
109405         that we should switch from unsigned int to size_t for slot numbers.
109407 2003-10-28  Paul Eggert  <eggert@twinsun.com>
109409         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
109410         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
109411         NetBSD kernels.  Requested by Richard Stallman.
109413 2003-10-27  Paul Eggert  <eggert@twinsun.com>
109415         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
109416         to allocate the returned structure.  Do not allocate a subarray,
109417         as x2nrealloc will do that.
109418         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
109419         instead of xnrealloc.
109420         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
109422 2003-10-27  Bruno Haible  <bruno@clisp.org>
109424         * lib/stdbool_.h: Better support for BeOS.
109426 2003-10-26  Paul Eggert  <eggert@twinsun.com>
109428         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
109429         now uses inline.
109431 2003-10-26  Paul Eggert  <eggert@twinsun.com>
109433         * lib/xalloc.h (xalloc_oversized): New static inline function, for
109434         callers that want to do their own size-overflow checking.  Include
109435         <stdbool.h>, since xalloc_oversized returns bool.
109436         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
109437         to use xalloc_oversized.
109439         Add two functions x2realloc, x2nrealloc, for programs that grow
109440         arrays dynamically by doubling their sizes.
109441         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
109442         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
109443         New functions.
109445         Port to C99 semantics for 'inline' of external functions.
109446         Bug reported by Bruno Haible.
109447         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
109448         with the old contents of xnmalloc.
109449         (xnmalloc, xmalloc): Use it.
109450         (xnrealloc_inline): New static inline function,
109451         with the old contents of xnrealloc.
109452         (xnrealloc, xrealloc): Use it.
109454         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
109455         that.
109457 2003-10-26  Karl Berry  <karl@gnu.org>
109459         * config/srclist.txt (COPYING.DOC): no longer available from
109460         /gd/gnuorg; don't know where the ultimate source is.
109462 2003-10-25  Paul Eggert  <eggert@twinsun.com>
109464         Fix several address-calculation bugs in the hash modules,
109465         plus some minor code cleanup.
109467         * lib/hash.h: Include <stdbool.h>, for bool.
109468         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
109469         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
109470         hash_get_n_entries, hash_get_max_bucket_length,
109471         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
109472         hash_rehash): Use size_t rather than unsigned.
109473         * lib/hash.c (struct hash_table, hash_get_n_buckets,
109474         hash_get_n_buckets_used, hash_get_n_entries,
109475         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
109476         hash_get_entries, hash_do_for_each, hash_string, is_prime,
109477         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
109478         Likewise.
109479         (SIZE_MAX): Define if not defined.
109480         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
109481         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
109482         hash_print):
109483         Use const * when possible.
109484         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
109485         (check_tuning): Fix bug: if tuning parameters were very close to
109486         0 or 1, rounding errors could have caused subscript violations.
109487         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
109488         (hash_initialize): Add 'fail:' label
109489         to free table and return NULL, and use it to simplify code.
109490         Use calloc rather than clearing the storage ourself.
109491         (hash_initialize, hash_rehash): Check for arithmetic overflow in
109492         buffer size calculations.
109493         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
109494         Include <stddef.h>, for size_t.
109495         * lib/hash-pjw.c (hash_pjw): Likewise.
109496         Switch to method described by Bruno Haible.
109497         Include <limits.h>, for CHAR_BIT.
109498         (SIZE_BITS): New macro.
109500 2003-10-23  Paul Eggert  <eggert@twinsun.com>
109502         * m4/getline.m4 (AM_FUNC_GETLINE):
109503         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
109504         hosts.  Problem reported by Derek Robert Price in
109505         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
109506         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
109507         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
109509 2003-10-21  Paul Eggert  <eggert@twinsun.com>
109511         * lib/getndelim2.c (getndelim2): When size calculation overflows,
109512         ceiling the allocation at NMAX bytes rather than silently
109513         discarding input bytes before NMAX is reached.  This makes
109514         a difference only if NMAX exceeds SIZE_MAX / 2.
109516         * lib/obstack.c: Merge from glibc.
109517         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
109518         Add libc_hidden_def (_obstack_newchunk).
109519         (_obstack_free) [! defined _LIBC]: Remove.
109520         [defined _LIBC]: Make a strong alias from obstack_free, rather than
109521         a clone of the function body.
109522         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
109523         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
109525         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
109526         glibc.
109527         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
109528         arg to memcpy.
109530         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
109531         (obstack_ptr_grow_fast, obstack_int_grow_fast):
109532         Don't use lvalue casts, as GCC plans to remove support for them
109533         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
109534         was also present in the non-GCC version, indicating that this
109535         code had always been buggy and had never been widely used.
109536         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
109537         Use the fast variant of each macro, rather than copying the
109538         definiens of the fast variant; that way, we'll be more likely to
109539         catch future bugs in the fast variants.
109541 2003-10-20  Bruno Haible  <bruno@clisp.org>
109543         * modules/wait-process: New file.
109544         * MODULES.html.sh (func_all_modules): Add wait-process.
109546 2003-10-20  Bruno Haible  <bruno@clisp.org>
109548         * m4/wait-process.m4: New file.
109550 2003-10-20  Bruno Haible  <bruno@clisp.org>
109552         * lib/wait-process.h: New file, from GNU gettext.
109553         * lib/wait-process.c: New file, from GNU gettext.
109555 2003-10-19  Jim Meyering  <jim@meyering.net>
109557         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
109558         HPUX 10.20.
109560 2003-10-18  Karl Berry  <karl@gnu.org>
109562         * config/config.guess: update from config.
109564 2003-10-16  Paul Eggert  <eggert@twinsun.com>
109566         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
109567         (getgroups): First arg is int, not size_t.
109568         Don't let 'free' mangle errno.
109570 2003-10-16  Paul Eggert  <eggert@twinsun.com>
109572         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
109574 2003-10-16  Karl Berry  <karl@gnu.org>
109576         * config/config.{guess,sub}: update from config.
109578 2003-10-16  Jim Meyering  <jim@meyering.net>
109580         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
109581         memcpy.
109583 2003-10-15  Paul Eggert  <eggert@twinsun.com>
109585         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
109586         (SIZE_MAX): Remove.
109587         (new_exclude, add_exclude_file): Initial size no longer needs to
109588         be a power of 2.
109589         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
109590         our own address arithmetic overflow checking.
109592         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
109593         (fnmatch): Do not alloca more than 2000 wide characters;
109594         instead, use malloc for large buffers.
109595         Check for address arithmetic overflow, and return -1
109596         with errno set to ENOMEM in that case.
109597         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
109598         (NEW_PATTERN): Do not alloca more than 8000 bytes;
109599         instead, return -1.  Check for address arithmetic overflow.
109601 2003-10-14  Paul Eggert  <eggert@twinsun.com>
109603         Handle invalid suffixes and overflow independently, so that
109604         callers can treat them independently as needed.  Fix some bugs in
109605         suffix handling, e.g., "100k@" was not diagnosed as an invalid
109606         suffix for a human-readable blocksize.  The major caller-visible
109607         change is the addition of a new
109608         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
109609         that both overflow and suffix chars were found.
109611         * lib/human.c (humblock): Don't check separately for invalid suffix
109612         char; that is xstrtoumax's job (now that its bug is fixed).
109613         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
109614         INTMAX_MAX]: New macros.
109615         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
109616         TYPE_MAXIMUM): New macros.
109617         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
109618         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
109619         if overflow occurs, as it's what __strtol does and it's more useful
109620         in practice.
109621         (__xstrtol): If __strtol reports some error other than ERANGE,
109622         reflect it to the caller as LONGINT_INVALID.  If it reports
109623         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
109624         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
109625         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
109626         value.
109627         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
109628         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
109629         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
109630         [defined UINTMAX_MAX]: New macros.
109632 2003-10-14  Bruno Haible  <bruno@clisp.org>
109634         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
109636 2003-10-14  Bruno Haible  <bruno@clisp.org>
109638         * m4/sig_atomic_t: New file, from GNU gettext.
109639         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
109641 2003-10-14  Bruno Haible  <bruno@clisp.org>
109643         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
109644         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
109645         Also use volatile where needed.
109647 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109649         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
109650         Change maintainer from Bruno Haible to 'all'.
109652 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109654         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
109656 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109658         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
109659         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
109660         and define in terms of the other primitives.
109661         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
109662         (SIZE_MAX): Define if not already defined.
109663         (array_size_overflow): New function.
109664         (xalloc_die): Abort instead of exiting if 'error' returns.
109665         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
109666         (xmalloc, xrealloc): Use them.
109667         (xcalloc): Check for address arithmetic overflow.
109668         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
109669         a bit faster than strcpy.
109671 2003-10-10  Simon Josefsson  <jas@extundo.com>
109673         * modules/argp (Depends-on): Add restrict and strcase.
109675 2003-10-10  Simon Josefsson  <jas@extundo.com>
109677         * m4/argp.m4: Add AC_C_INLINE.
109679 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109681         Merge getpass from libc, plus a few fixes.
109683         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
109684         Include <stdbool.h>.
109685         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
109686         __fsetlocking to empty.
109687         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
109688         do include <bits/libc-lock.h>.
109689         Do not include <fcntl.h>; not needed.
109690         [_LIBC]: Include <wchar.h>.
109691         (NOTCANCEL_MODE): New macro.
109692         (flockfile, funlockfile) [_LIBC]: New macros.
109693         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
109694         [!_LIBC]: New macros.
109695         (call_fclose): New function.
109696         (getpass): Use it.  Save tty stream separately; this simplifies the
109697         code and makes it more reliable if stdin happens to equal stdout.
109698         Invoke __fsetlocking on tty.
109699         Handle thread cancellation if needed.
109700         Namespace cleanup (use __tcgetattr, __getline).
109701         Use bool for Booleans.
109702         [USE_IN_LIBIO]: Handle wide streams.
109703         [!_LIBC]: Unconditionally do the fseek, since we don't know what
109704         stream might go where.
109706         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
109707         doesn't have to include <stdio.h> before us.
109708         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
109709         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
109710         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
109711         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
109712         if not declared, so that we can use getpass.c code from libc without
109713         rewriting it.
109714         (flockfile, ftrylockfile, funlockfile): New macros.
109716 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109718         * modules/getpass: Depend on stdbool.
109720 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109722         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
109724 2003-10-07  Karl Berry  <karl@gnu.org>
109726         * config/config.{guess,sub}: update from config.
109728 2003-10-06  Jim Meyering  <jim@meyering.net>
109729             Bruno Haible  <bruno@clisp.org>
109731         This lets translators provide better translations for the
109732         "Written by ..." part of --version output.
109733         * lib/version-etc.h: Include stdarg.h.
109734         (version_etc_copyright): Declare as readonly.
109735         (version_etc): Make this function variadic with a NULL-terminated list
109736         of author name strings.
109737         (version_etc_va): New declaration.
109738         * lib/version-etc.c: Include stdarg.h, stdlib.h.
109739         (version_etc_copyright): Declare as readonly.
109740         (version_etc_va): New function. Provide a different translatable string
109741         for each possible number of authors < 10. Abbreviate when there are 10
109742         authors or more.
109743         (version_etc): Make this function variadic. Call version_etc_va.
109744         Suggestion from Gary V. Vaughan.
109746         * lib/long-options.h (parse_long_options): Change prototype: the
109747         authors string is moved to the end and becomes variadic.
109748         * lib/long-options.c: Include stdarg.h.
109749         (parse_long_options): Make this function variadic, too.
109750         Call version_etc_va, not version_etc.
109752 2003-10-06  Bruno Haible  <bruno@clisp.org>
109754         * modules/version-etc-2: Remove file.
109755         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
109757 2003-10-06  Bruno Haible  <bruno@clisp.org>
109759         * modules/fatal-signal: New file.
109760         * MODULES.html.sh (func_all_modules): Add fatal-signal.
109762 2003-10-06  Bruno Haible  <bruno@clisp.org>
109764         * m4/fatal-signal.m4: New file.
109765         * m4/signalblocking.m4: New file, from GNU gettext.
109767 2003-10-06  Bruno Haible  <bruno@clisp.org>
109769         * lib/version-etc-2.h: Remove file.
109770         * lib/version-etc-2.c: Remove file.
109772 2003-10-06  Bruno Haible  <bruno@clisp.org>
109774         * lib/fatal-signal.h: New file, from GNU gettext.
109775         * lib/fatal-signal.c: New file, from GNU gettext.
109777 2003-10-05  Paul Eggert  <eggert@twinsun.com>
109779         * README: Rework advice for preventing empty .o files.
109780         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
109781         not <sys/types.h>.
109783 2003-10-04  Karl Berry  <karl@gnu.org>
109785         * lib/argp*: update from libc.
109787 2003-10-04  Karl Berry  <karl@gnu.org>
109789         * config/config.{guess,sub}: update from config.
109791 2003-10-02  Bruno Haible  <bruno@clisp.org>
109793         * modules/lchown (Include): Add lchown.h.
109794         * modules/time_r (Include): Use "..." syntax.
109795         * modules/xgetdomainname (Include): Add xgetdomainname.h.
109797 2003-10-01  Simon Josefsson  <jas@extundo.com>
109799         * MODULES.html.sh (func_all_modules): Move gethostname from section
109800         'based on' to section 'lacking' POSIX:2001.
109802 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
109804         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
109805         to output mode on the same stream.
109807 2003-09-29  Paul Eggert  <eggert@twinsun.com>
109809         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
109810         Fix arg typo in previous patch.
109812 2003-09-28  Jim Meyering  <jim@meyering.net>
109814         * lib/error.c: Correct cpp indentation.
109816 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109818         * modules/free: New file.
109820 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109822         * m4/free.m4: New file.
109824 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109826         * lib/minmax.h (MIN, MAX)
109827         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
109828         Omit the special code that used __typeof__, since we worry that
109829         it could be more trouble than it's worth.  See:
109830         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
109831         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
109833         * lib/free.c: New file.
109835 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
109837         Trivial fixes to Makefile.am parts of module listings.
109838         * modules/strstr: Append strstr.h to lib_SOURCES.
109839         * modules/strcase: Likewise, for strcase.h.
109841 2003-09-27  Karl Berry  <karl@gnu.org>
109843         * config/mkinstalldirs: update from automake.
109845 2003-09-26  Paul Eggert  <eggert@twinsun.com>
109847         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
109848         (error_tail): Do not loop, reallocating temporary buffer, since
109849         the output cannot contain more wide characters than the input
109850         contains bytes, the size must be big enough already.  This avoids
109851         one potential size overflow calculation.  Check for size overflow
109852         when calculating temporary buffer size.  Free temporary buffer
109853         when done, if it was allocated with malloc; this plugs a memory
109854         leak.  Remove casts from void * to pointers, that are no longer
109855         needed now that we're assuming C89 or better.
109857         Merge error changes from glibc.
109859         * lib/error.c, error.h: Update copyright notice header to match glibc.
109860         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
109861         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
109862         Disable cancellation while printing error.
109863         * lib/error.h: Prepend __ to parameter names.
109865 2003-09-26  Jim Meyering  <jim@meyering.net>
109867         * lib/error.c (error_tail): Move some declarations
109868         into inner scope where the local variables are used.
109870 2003-09-26  Bruno Haible  <bruno@clisp.org>
109872         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
109873         stpncpy().
109874         Don't define stpncpy through config.h; it's now done through stpncpy.h.
109876 2003-09-26  Bruno Haible  <bruno@clisp.org>
109878         * lib/stpncpy.h (gnu_stpncpy): New declaration.
109879         (stpncpy): Define as alias for gnu_stpncpy.
109880         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
109882 2003-09-25  Simon Josefsson  <jas@extundo.com>
109884         * lib/xgetdomainname.h: New file.
109885         * lib/xgetdomainname.c: New file.
109887 2003-09-25  Simon Josefsson  <jas@extundo.com>
109888             Bruno Haible  <bruno@clisp.org>
109890         * modules/getdomainname: New file.
109891         * modules/xgetdomainname: New file.
109892         * MODULES.html.sh (func_all_modules): Add getdomainname,
109893         xgetdomainname.
109895 2003-09-25  Simon Josefsson  <jas@extundo.com>
109896             Bruno Haible  <bruno@clisp.org>
109898         * m4/getdomainname.m4: New file.
109900 2003-09-25  Simon Josefsson  <jas@extundo.com>
109901             Bruno Haible  <bruno@clisp.org>
109903         * lib/getdomainname.h: New file.
109904         * lib/getdomainname.c: New file.
109906 2003-09-25  Karl Berry  <karl@gnu.org>
109908         * lib/argp-fmtstream.c, argp-help.c: update from libc.
109910 2003-09-25  Karl Berry  <karl@gnu.org>
109912         * config/install-sh: update from automake.
109914 2003-09-25  Bruno Haible  <bruno@clisp.org>
109916         * modules/version-etc-2: New file, from modules/version-etc with
109917         modifications.
109918         * MODULES.html.sh (func_all_modules): Add version-etc-2.
109920 2003-09-25  Bruno Haible  <bruno@clisp.org>
109922         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
109923         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
109925 2003-09-24  Simon Josefsson  <jas@extundo.com>
109927         * modules/xgethostname: Add xgethostname.h.
109929 2003-09-24  Paul Eggert  <eggert@twinsun.com>
109931         * lib/linebuffer.c (freebuffer): Don't free the argument, just
109932         the buffer associated with the argument.  Bug reported by
109933         Simon Josefsson.
109935 2003-09-24  Paul Eggert  <eggert@twinsun.com>
109937         * README: Document assumptions that 'int' is at least 32 bits
109938         wide, that integer arithmetic is 2's complement without overflow,
109939         that there are no holes in integer values, that adding sizes of
109940         two nonoverlapping objects can't overflow, and that all-bits-zero
109941         yields scalar zero.  Fix spelling and capitalization typos.
109943 2003-09-19  Karl Berry  <karl@gnu.org>
109945         * lib/argp.h: update from libc.
109947 2003-09-17  Paul Eggert  <eggert@twinsun.com>
109949         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
109950         to avoid spurious warnings like "AC_RUN_IFELSE was called before
109951         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
109953 2003-09-17  Paul Eggert  <eggert@twinsun.com>
109955         * gnulib-tool: Use "test -h", not "test -L", for portability
109956         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
109957         (tags_regexp): Remove, since \| doesn't conform to POSIX.
109958         (sed_extract_prog): Issue s commands one-by-one, rather than
109959         using \| in one s command.
109961 2003-09-16  Paul Eggert  <eggert@twinsun.com>
109963         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
109964         input error, instead of returning NULL the next time we are called
109965         (and therefore losing track of errno).
109967 2003-09-16  Bruno Haible  <bruno@clisp.org>
109969         * gnulib-tool (func_create_testdir): Warn about duplicated
109970         dependencies.
109972 2003-09-15  Paul Eggert  <eggert@twinsun.com>
109974         * modules/argmatch, modules/fatal, modules/obstack,
109975         modules/xalloc, modules/xgethostname: Sort dependencies by
109976         importance, not alphabetically.
109978 2003-09-15  Paul Eggert  <eggert@twinsun.com>
109980         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
109981         fails, so that the caller gets the proper errno.
109983         * lib/readutmp.c (read_utmp): Likewise.
109984         Check for fstat error.  Close stream and free storage
109985         when failing.
109987 2003-09-14  Karl Berry  <karl@gnu.org>
109989         * config/srclist.txt (strdup.c): disable for c89 changes.
109991 2003-09-14  Jim Meyering  <jim@meyering.net>
109993         * lib/getloadavg.c: Correct cpp indentation.
109994         * lib/strdup.c: Likewise.
109995         * lib/vasnprintf.c: Likewise.
109997 2003-09-14  Bruno Haible  <bruno@clisp.org>
109999         * modules/fwriteerror: New file.
110000         * MODULES.html.sh (func_all_modules): Add fwriteerror.
110002 2003-09-14  Bruno Haible  <bruno@clisp.org>
110004         * lib/fwriteerror.h: New file.
110005         * lib/fwriteerror.c: New file.
110007 2003-09-12  Paul Eggert  <eggert@twinsun.com>
110009         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
110010         modules/xgethostname, modules/xalloc: Depend on exit.
110012 2003-09-12  Paul Eggert  <eggert@twinsun.com>
110014         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
110016         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
110017         and AC_MINIX, too, so that their extensions are available.
110019         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
110020         This macro has been superseded by gl_BACKUPFILE.
110022         More patches to assume C89 or better.
110024         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
110026         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
110027         unconditionally.
110028         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
110029         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
110030         Include <string.h>, <stdlib.h> unconditionally.
110031         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
110032         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
110033         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
110034         headers or for string.h.
110035         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
110036         or strtoul.
110038         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
110039         headers.
110040         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
110041         * m4/userspec.m4 (gl_USERSPEC): Likewise.
110042         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
110043         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
110044         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
110045         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
110046         memcpy, memset.
110047         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
110048         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
110049         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
110050         strtol.
110051         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
110052         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
110053         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
110054         strtoul.
110056 2003-09-12  Paul Eggert  <eggert@twinsun.com>
110058         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
110059         * lib/obstack.c [!defined _LIBC]: Likewise.
110060         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
110061         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
110062         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
110064         More changes to assume C89 or better.
110066         * lib/error.c (error_tail): Assume vprintf.
110068         * lib/argmatch.c (getenv): Remove decl.
110069         * lib/progreloc.c (get_full_program_name): Define via prototype.
110070         * lib/setenv.c (clearenv): Likewise.
110071         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
110072         needed.
110073         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
110074         (malloc, memcpy): Remove decls.
110075         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
110076         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
110077         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
110078         (memcpy): Remove macro.
110079         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
110080         (__P): Remove.  All uses removed.
110081         (PTR): Remove.  All uses changed to void *.
110082         (CHAR_BIT, NULL): Remove.
110083         (spaces, zeros, memset_space, memset_zero)
110084         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
110085         Remove.
110086         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
110087         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
110088         Define with prototype.
110089         Remove now-unnecessary prototype decl.
110090         (extra_args_spec): Assume ANSI C.  All uses changed.
110091         (extra_args_spec_iso): Remove.
110092         (my_strftime, emacs_strftimeu): Define via prototype.
110093         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
110094         unconditionally.
110095         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
110096         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
110097         (strtoul, strtol): Remove decls.
110098         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
110099         LONG_MAX): Remove.
110100         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
110101         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
110102         (LOCALE_PARAM_PROTO): New macro.
110103         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
110104         (INTERNAL (strtol), strtol): Define with a prototype.
110105         (PARAMS): Remove.  All uses removed.
110106         * lib/tempname.c: Include <string.h> unconditionally.
110107         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
110108         * lib/xgethostname.c (main): Define with a prototype.
110109         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
110110         Include <stdlib.h> unconditionally.
110111         (calloc, malloc, realloc, free): Remove decls.
110112         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
110113         Include <stdlib.h> unconditionally.  Sort include file names.
110114         (strtod): Remove.
110115         (xstrtod): Define with a prototype.
110116         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
110117         (strtol, strtoul): Remove decls.
110119 2003-09-11  Paul Eggert  <eggert@twinsun.com>
110121         More patches to assume C89 or better.
110122         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
110123         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
110124         string.h, memchr, STDC_HEADERS.
110126 2003-09-11  Paul Eggert  <eggert@twinsun.com>
110128         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
110129         Include <stdlib.h>, <string.h> unconditionally.
110130         Remove now-unnecessary cast to char *.
110131         * lib/strnlen.c: Include <string.h> unconditionally.
110132         * lib/yesno.c (yesno): Define with a prototype.
110134 2003-09-11  Bruno Haible  <bruno@clisp.org>
110136         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
110138 2003-09-10  Jim Meyering  <jim@meyering.net>
110140         * lib/error.c: Correct indentation of cpp directives.
110142 2003-09-10  Bruno Haible  <bruno@clisp.org>
110144         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
110145         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
110146         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
110147         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
110148         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
110149         <stdlib.h> and <string.h> checks.
110150         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
110151         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
110153 2003-09-10  Bruno Haible  <bruno@clisp.org>
110155         * lib/strcspn.c: Include <string.h> unconditionally.
110156         * lib/strpbrk.c: Include <string.h> unconditionally.
110157         * lib/strstr.c: Include <string.h> unconditionally.
110158         * lib/unicodeio.c: Include <string.h> unconditionally.
110159         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
110160         * lib/unsetenv.c: Likewise.
110161         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
110162         * lib/yesno.c: Include <stdlib.h> unconditionally.
110163         (rpmatch): Add prototype.
110165 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110167         More patches to assume C89 or better.
110168         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
110169         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
110170         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
110171         or for string.h.
110172         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
110173         stdlib.h.
110174         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
110175         C headers.
110176         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
110177         string.h.
110178         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
110179         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
110180         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
110181         or for string.h.
110182         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
110183         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
110184         C headers.
110185         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
110186         memcpy.
110187         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
110188         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
110189         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
110190         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
110191         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
110192         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
110193         string.h, free.
110194         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
110195         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
110196         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
110197         C headers, or for string.h.
110198         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
110199         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
110200         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
110201         headers, memory.h, stdlib.h, string.h, strings.h.
110202         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
110203         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
110204         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
110205         strchr.
110206         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
110207         headers, memory.h, string.h.
110208         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
110209         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
110210         free.
110211         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
110212         headers.
110213         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
110214         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
110215         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
110216         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
110217         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
110219 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110221         More K&R removal.
110223         * lib/acosl.c (main): Use a prototype.
110224         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
110225         tanl.c: Likewise.
110227         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
110229         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
110230         (getopt, etopt_long, getopt_long_only, _getopt_internal)
110231         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
110232         with a prototype.
110233         * lib/getopt.c (const): Remove macro.
110234         Include <string.h> unconditionally.
110235         (my_index): Remove; all uses changed to strchr.
110236         (strlen): Remove decl.
110237         (exchange): Remove forward decl; no longer needed.
110238         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
110239         Define with prototype.
110240         * lib/getopt1.c (const): Remove macro.
110241         (getopt_long, getopt_long_only, main): Define with prototype.
110243         * lib/getugroups.c: Include <string.h> unconditionally.
110245         * lib/getusershell.c: Include <stdlib.h> unconditionally.
110246         (getusershell, setusershell, endusershell, readname, main):
110247         Define with prototypes.
110249         * lib/group-member.c: Include group-member.h first.
110250         Include <stdlib.h> unconditionally.
110252         * lib/hard-locale.c: Include hard-locale.h first.
110253         Include <stdlib.h>, <string.h> unconditionally.
110255         * lib/hash.c (free, malloc): Remove decls.
110256         Include <stdlib.h> unconditionally.
110258         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
110259         (getenv): Do not declare.
110261         * lib/idcache.c: Include <string.h> unconditionally.
110263         * lib/long-options.c: Include long-options.h first, to test interface.
110264         Include <stdlib.h> unconditionally.
110266         * lib/makepath.c: Include makepath.h first, to test interface.
110267         Include <stdlib.h> and <string.h> unconditionally.
110269         * lib/linebuffer.c: Include <stdlib.h>.
110270         (free): Remove decl.
110272         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
110273         stddef.h. rpl_malloc returns void *, not char *.
110274         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
110275         prototype.
110277         * lib/md5.h: Include <limits.h> unconditionally.
110278         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
110279         (__P): Remove; all uses removed.
110280         * lib/md5.c: Include "md5.h" first.
110281         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
110282         md5_buffer, md5_process_bytes, md5_process_block):
110283         Define with prototypes.
110284         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
110285         * lib/sha.c: Include "sha.h" first.
110286         Include <stdlib.h>, <string.h> unconditionally.
110288         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
110289         * lib/memcmp.c (__ptr_t): Likewise.
110290         * lib/memrchr.c (__ptr_t): Likewise.
110291         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
110292         Include <string.h> unconditionally.
110293         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
110294         * lib/memchr.c: Include <stdlib.h> unconditionally.
110295         * lib/memchr.c (LONG_MAX): Remove.
110296         * lib/memrchr.c (LONG_MAX): Likewise.
110297         * lib/memchr.c (__memchr): Define via a prototype.
110298         * lib/memrchr.c (__memrchr): Likewise.
110299         * lib/memcmp.c (__P): Remove, and remove all uses.
110300         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
110301         Remove forward decls; no longer needed.
110302         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
110303         Use types required by C89 in prototype.
110305         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
110306         * lib/savedir.c: Likewise.
110307         * lib/mkdir.c (free): Remove decl.
110308         * lib/rmdir.c (rmdir): Define with a prototype.
110309         * lib/savedir.c: Include savedir.h first, to test interface.
110311         * lib/mktime.c (STDC_HEADERS): Remove.
110312         Include <stdlib.h>, <string.h> unconditionally.
110314         * lib/modechange.c: Include <stdlib.h> unconditionally.
110315         (malloc): Remove decl.
110317         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
110318         (free): Remove decl.
110320         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
110321         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
110322         (This type really should be intptr_t, but that's a C99ism.)
110323         (_obstack_memcpy): Remove: all uses changed to memcpy.
110324         Include <string.h> unconditionally.
110325         (struct obstack): Assume __STDC__ for types of members
110326         chunkfun, freefun, extra_arg.
110327         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
110328         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
110329         obstack_begin, obstack_specify_allocation,
110330         obstack_specify_allocation_with_arg, obstack_chunkfun,
110331         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
110332         Remove unprototyped decls and the macros that use them.
110333         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
110334         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
110335         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
110336         (defined __STDC__ && __STDC__)]:
110337         Remove nonprototyped code.
110338         Include <stdlib.h> unconditionally.
110339         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
110340         _obstack_allocated_p, _obstack_free, obstack_free,
110341         _obstack_memory_used, print_and_abort):
110342         Define using prototypes.
110343         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
110344         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
110345         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
110346         obstack_next_free, obstack_object_size, obstack_room) [0]:
110347         Remove unused, unprototyped code.
110349         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
110351         * lib/physmem.c (physmem_total, physmem_available, main): Define
110352         with prototypes.
110354         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
110355         (main): Define with a prototype.
110357         * lib/posixver.c (getenv): Remove decl.
110359         * lib/putenv.c (malloc): Returns void *, not char *.
110360         Include <string.h> unconditionally.
110361         (strchr, memcpy, NULL): Do not define.
110363         * lib/readtokens.c: Include readtokens.h first, to test interface.
110364         Include <stdlib.h>, <string.h> unconditionally.
110365         (init_tokenbuffer): Define with a prototype.
110367         * lib/regex.c (PARAMS): Remove.  All uses removed.
110368         All uses of _RE_ARGS removed, too.
110369         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
110370         unconditionally.
110371         (bzero): Assume memset exists.
110372         (memcmp, memcpy, NULL): Remove.
110373         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
110374         char, or assignments to local vars of type signed char.
110375         (init_syntax_once, PREFIX(extract_number_and_incr),
110376         PREFIX(print_partial_compiled_pattern),
110377         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
110378         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
110379         PREFIX(regex_grow_registers), PREFIX(regex_compile),
110380         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
110381         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
110382         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
110383         wcs_compile_range, byte_compile_range, truncate_wchar,
110384         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
110385         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
110386         count_mbs_length, wcs_re_match_2_internal,
110387         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
110388         PREFIX(alt_match_null_string_p),
110389         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
110390         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
110391         regfree, PREFIX(extract_number)): Define with prototype.  Remove
110392         now-unnecessary declaration, if any.
110393         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
110394         regcomp, regexec):
110395         Remove now-unnecessary casts among pointer types.
110396         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
110398         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
110399         (free): Remove decl.
110401         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
110403         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
110404         (free): Remove decl.
110406         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
110407         * lib/xgetcwd.c: Likewise.
110409         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
110410         (free): Remove decl.
110412         * lib/strchrnul.c (strchrnul): Define with a prototype.
110413         Fix bug: c_in was not converted to char before searching.
110415         The following changes are not K&R related:
110417         * lib/group-member.h: Include <sys/types.h>, so that this file is
110418         self-contained.
110419         * lib/makepath.h: Likewise.
110421         * lib/getusershell.c (readname, default_index, line_size, readname):
110422         Use size_t, not int, for sizes.
110423         (readname): If the size overflows, report an error instead of
110424         looping forever.
110426 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110428         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
110429         libc.
110431 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110433         * README: New section: portability guidelines.
110435 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
110437         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
110438         C89 spec.
110440 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
110442         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
110444 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110446         Assume C89 or better; remove K&R cruft.
110447         A few of these changes were first proposed by Derek Robert Price
110448         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
110450         * lib/addext.c: Include <string.h> unconditionally.
110451         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
110452         Don't declare getenv or malloc.
110454         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
110455         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
110456         (NULL): Remove.
110457         (find_stack_direction, alloca): Use prototypes.
110459         * lib/atexit.c (atexit): Define using a prototype.
110461         * lib/basename.c, dirname.c, stripslash.c:
110462         Include <string.h> unconditionally.
110464         * lib/bcopy.c: Include <stddef.h>.
110465         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
110467         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
110469         * lib/error.h (error, error_at_line, error_print_progname)
110470         [! (defined (__STDC__) && __STDC__)]: Remove decls.
110471         * lib/error.c: Include error.h first, to check interface.
110472         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
110473         (VA_START): Remove; all uses changeed to va_start.
110474         (exit, strerror): Remove decls.
110475         (error_print_progname): Prototype uncondionally.
110476         Don't include <errno.h>; no longer needed.
110477         (private_strerror): Remove.
110478         (error_tail): Always define.
110479         (error, error_at_line): Assume C89 or better; always use prototypes.
110480         * lib/fatal.c: Include "fatal.h" first, to test interface.
110481         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
110482         (VA_START): Remove; all uses changed to va_start.
110483         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
110484         this case.
110485         (exit): Remove decl.
110486         (fatal): Prototype unconditionally.  Assume va_start works.
110487         Abort at end, to pacify gcc.
110489         * lib/euidaccess.c (main): Define with a prototype.
110491         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
110493         * lib/exitfail.c: Include <stdlib.h> unconditionally.
110495         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
110496         prototypes.
110497         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
110498         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
110499         (getenv): Remove decl.
110500         (fnmatch): Define using a prototype.
110501         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
110502         (FCT): Define using a prototype.
110504         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
110506         * lib/gethostname.c: Include <stddef.h>.
110507         (gethostname): Define with prototype.  Length is size_t, not int.
110509 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110511         Assume C89 or better; remove K&R cruft.
110512         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
110513         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
110514         string.h, getenv, malloc.
110515         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
110516         headers.
110517         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
110518         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
110519         do not check for strerror.
110520         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
110521         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
110522         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
110523         do not check for doprnt or vprintf.
110524         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
110525         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
110527 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110529         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
110530         getversion.c should have been removed then, but was accidentally
110531         preserved.
110533         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
110534         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
110536 2003-09-08  Karl Berry  <karl@gnu.org>
110538         * config/config.sub, config.guess, srclistvars.sh: update from savannah
110539                 config, forget about prep.
110541         * config/depcomp, missing: update from automake.
110543 2003-09-07  Paul Eggert  <eggert@twinsun.com>
110545         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
110546         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
110548 2003-09-07  Paul Eggert  <eggert@twinsun.com>
110550         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
110551         copy_tm_result.  Bug reported by Simon Josefsson in
110552         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
110554 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110556         * m4/time_r.m4: New file.
110557         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
110558         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
110559         is. Check for timegm declaration.
110560         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
110561         Do not check for gmtime_r.
110562         Replace mktime if __mktime_internal does not exist and if mktime
110563         hasn't been replaced already.
110565 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110567         * lib/time_r.c, lib/time_r.h: New files.
110569         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
110570         __localtime_r.
110571         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
110572         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
110574         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
110575         __gmtime_r.
110576         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
110577         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
110578         Include <time_r.h>.
110580         * lib/timegm.c: Switch to glibc implementation, with the following
110581         changes:
110582         [defined HAVE_CONFIG_H]: Include <config.h>.
110583         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
110584         (__mktime_internal) [!defined _LIBC]: New decl.
110585         (__gmtime_r) [!defined _LIBC]: New macro and function.
110586         (timegm): Use a prototype, since gnulib assumes C89.
110587         Do not bother declaring tmp to be const, as it's not really usefu.
110588         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
110589         (timegm): Declare only if HAVE_DECL_TIMEGM.
110591 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110593         * MODULES.html.sh (func_all_modules): Add time_r.
110594         * modules/time_r: New file.
110595         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
110596         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
110598 2003-09-03  Paul Eggert  <eggert@twinsun.com>
110600         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
110601         Bug reported by Lute Kamstra in
110602         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
110604         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
110605         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
110606         course with correspondingly smaller numbers for tomorrow and
110607         yesterday.  From Tadayoshi Funaba.  Originally installed into
110608         sh-utils on 1999-08-07, but the patch got lost (I guess during the
110609         coreutils merge?).
110611 2003-08-31  Simon Josefsson  <jas@extundo.com>
110613         * modules/timegm: New file.
110614         * MODULES.html.sh (func_all_modules): Add timegm.
110616 2003-08-31  Simon Josefsson  <jas@extundo.com>
110618         * m4/timegm.m4: New file.
110620 2003-08-31  Simon Josefsson  <jas@extundo.com>
110622         * lib/timegm.h: New file.
110623         * lib/timegm.c: New file.  Based on
110624         wget-1.8.2/src/http.c:mktime_from_utc.
110626 2003-08-31  Karl Berry  <karl@gnu.org>
110628         * lib/argp.h: update from libc.
110630 2003-08-28  Bruno Haible  <bruno@clisp.org>
110632         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
110633         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
110634         followed by '#define fnmatch fnmatch_posix' gives an error.
110636 2003-08-28  Bruno Haible  <bruno@clisp.org>
110638         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
110639         warning on QNX, which defines O_BINARY to 000000.
110641 2003-08-27  Jim Meyering  <jim@meyering.net>
110643         * m4/mkstemp.m4: Require that the system mkstemp be able to create
110644         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
110645         would fail after 32.  Reported by Danny Levinson.  Details here:
110646         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
110648 2003-08-24  Bruno Haible  <bruno@clisp.org>
110650         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
110651         MSVC7 <stdio.h> is included later.
110653 2003-08-22  Simon Josefsson  <jas@extundo.com>
110655         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
110657 2003-08-20  Karl Berry  <karl@gnu.org>
110659         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
110661 2003-08-20  Bruno Haible  <bruno@clisp.org>
110663         * modules/progname: New file.
110664         * MODULES.html.sh (func_all_modules): Add progname.
110666 2003-08-20  Bruno Haible  <bruno@clisp.org>
110668         * lib/progname.h: New file, from GNU gettext.
110669         * lib/progname.c: New file, from GNU gettext.
110670         * lib/progreloc.c: New file, from GNU gettext.
110672 2003-08-19  Jim Meyering  <jim@meyering.net>
110674         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
110675         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
110677 2003-08-19  Bruno Haible  <bruno@clisp.org>
110679         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
110680         more.
110682 2003-08-19  Bruno Haible  <bruno@clisp.org>
110684         * lib/xstrdup.c: Assume <string.h> exists.
110686 2003-08-18  Paul Eggert  <eggert@twinsun.com>
110688         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
110689         in makefile rules.
110691 2003-08-18  Jim Meyering  <jim@meyering.net>
110693         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
110694         * m4/lib-ld.m4: Likewise.
110696 2003-08-18  Jim Meyering  <jim@meyering.net>
110698         * lib/setenv.h: Indent nested cpp directive.
110699         * lib/vasnprintf.c: Remove trailing blanks.
110701 2003-08-17  Simon Josefsson  <jas@extundo.com>
110703         * modules/xstrndup: New file.
110704         * MODULES.html.sh (func_all_modules): Add xstrndup.
110706 2003-08-17  Simon Josefsson  <jas@extundo.com>
110708         * modules/argp: Fix autoconf macro name. Add more dependencies.
110710 2003-08-17  Simon Josefsson  <jas@extundo.com>
110712         * m4/xstrndup.m4: New file.
110714 2003-08-17  Simon Josefsson  <jas@extundo.com>
110716         * m4/argp.m4: New file.
110718 2003-08-17  Simon Josefsson  <jas@extundo.com>
110719             Bruno Haible  <bruno@clisp.org>
110721         * lib/xstrndup.h: New file.
110722         * lib/xstrndup.c: New file.
110724 2003-08-17  Bruno Haible  <bruno@clisp.org>
110726         * modules/strndup (Files, Include): Add lib/strndup.h.
110728 2003-08-17  Bruno Haible  <bruno@clisp.org>
110730         * modules/euidaccess (Files): Add lib/euidaccess.h.
110732 2003-08-17  Bruno Haible  <bruno@clisp.org>
110734         * lib/strndup.h: New file.
110736 2003-08-17  Bruno Haible  <bruno@clisp.org>
110738         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
110739         like AC_GNU_SOURCE.
110740         * modules/extensions (configure.ac): Comment out the invocation of
110741         gl_USE_SYSTEM_EXTENSIONS.
110743 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110745         Merges from coreutils, etc.
110746         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
110747         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
110748         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
110749         fixing a typo.
110750         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
110751         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
110753 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110755         Document merge from coreutils.
110756         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
110757         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
110758         * modules/utime: Add m4/utimes-null.m4.
110760 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110762         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
110763         space, undoing this 2003-08-12 change:
110764         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
110766 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110768         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
110769         strtoul.c from libc, undoing this 2003-08-12 change:
110770         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
110772 2003-08-16  Jim Meyering  <jim@meyering.net>
110774         Merges from coreutils.
110775         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
110776         prefix.  Adjust cache variables similarly.  Create 500 rather than
110777         just 300 files, to exercise bug on Darwin6.5, too.
110778         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
110779         $missing_dir.
110780         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
110781         AM_SYS_POSIX_TERMIOS.
110782         Reported by mkc@mathdogs.com.
110783         Also change use of $am_cv_sys_posix_termios
110784         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
110785         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
110786         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
110787         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
110788         in /proc/mounts until it finds one with matching device number.  This
110789         is unnecessary when the FILE argument *is* a mount point.  No stat call
110790         is necessary in that case.  So, disable the statvfs-testing code on
110791         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
110792         as RedHat bug# 84846.
110793         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
110794         to 1MB, so as not to render systems with no stack size limit (e.g.,
110795         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
110796         Include <unistd.h>.  On some systems,
110797         it is required for the definition of _SC_PAGESIZE.
110799 2003-08-16  Jim Meyering  <jim@meyering.net>
110801         Merge from coreutils.
110802         * lib/xstrtoimax.c: #else #if -> #elif.
110803         * lib/xstrtoumax.c: Likewise.
110805 2003-08-16  Jim Meyering  <jim@meyering.net>
110807         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
110808         * m4/utimes.m4: Removed.
110809         * m4/utimes-null.m4: Renamed from utimes.m4.
110811         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
110812         to 1MB, so as not to render systems with no stack size limit (e.g.,
110813         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
110814         Include <unistd.h>.  On some systems,
110815         it is required for the definition of _SC_PAGESIZE.
110817 2003-08-16  Jim Meyering  <jim@meyering.net>
110818         and Paul Eggert  <eggert@cs.ucla.edu>
110820         Merges from coreutils, etc.
110822         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
110823         using the latest version from cvs.  This avoids problems with #line
110824         directives using a vendor (Sun) compiler.
110825         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
110826         Don't set GETGROUPS_LIB here; now it's
110827         done via getgroups.m4's wrapper function.
110828         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
110829         rather than just in sh-util/configure.in, so that the
110830         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
110831         same.
110832         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
110833         AC_FUNC_GETLOADAVG where to find getloadavg.c.
110834         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
110835         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
110836         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
110837         Remove code that is now done by the newly-required macros.
110838         Append $(EXEEXT) to DF_PROG.
110839         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
110840         Do not invoke or require the following here,
110841         since prereq.m4 or some gnulib .m4 now does this for us:
110842         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
110843         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
110844         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
110845         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
110846         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
110847         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
110848         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
110849         AC_FUNC_OBSTACK.
110850         Do not replace the following functions, as this is now the job
110851         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
110852         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
110853         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
110854         atexit getpass, strdup, getpagesize.
110855         Replace 'raise'.
110856         Do not check for the following functions, as this is now the job
110857         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
110858         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
110859         setregid.
110860         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
110861         Check for sys/sysctl.h.
110862         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
110863         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
110864         of checking for ssize_t ourselves.
110866         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
110867         Require every macro that gnulib/modules/* suggests for us.
110868         (jm_PREREQ_ADDEXT): New macro.
110869         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
110870         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
110872         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
110873         (gl_PHYSMEM): Use it.
110874         Also check for `table' function.
110875         Check for new headers and functions.
110876         Add check for sys/sysmp.h.
110877         With suggestions from Kaveh Ghazi.
110878         Ignore headers that are present but cannot be compiled.  This
110879         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
110880         C 5.4.
110882 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110884         Document merge from coreutils.
110885         * modules/userspec: Depend on posixver.
110886         * modules/strftime: Depend on tzset.
110888 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110890         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
110891         rather than tab, after '#' in shell-script copyright notices.
110892         Suggested by Bruno Haible.
110894 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110896         * config/srclist-update: Use three spaces, rather than tab, after '#'
110897         in shell-script copyright notices.  Suggested by Bruno Haible.
110898         Remove unnecessary parenthesization in regular expression.
110900 2003-08-15  Jim Meyering  <jim@meyering.net>
110902         Merge from coreutils.
110903         * lib/xgethostname.c: Include <stdlib.h>.
110904         (xghostname): Don't exit for anything other than memory-related
110905         failure; just return NULL.
110906         * lib/userspec.c: Include "posixver.h".
110907         (parse_user_spec): Accept `.' as a separator only
110908         in pre-POSIX-200112 mode.
110909         * lib/strtoimax.c: Use #elif rather than #else #if.
110910         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
110911         Remove function, now that we can rely on a working tzset function.
110912         [!_LIBC]: Ensure that the required autoconf test has been run.
110913         [!defined _NL_CURRENT && HAVE_STRFTIME]:
110914         Use underlying_strftime for %r.
110915         * lib/sha.c: Merge in some clean-up and optimization changes from
110916         glibc.
110917         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
110918         Ensure that it is a multiple of 64.
110919         Rearrange loop exit tests so as to avoid performing an
110920         additional fread after encountering an error or EOF.
110921         * lib/realloc.c: Update copyright date.
110923 2003-08-15  Jim Meyering  <jim@meyering.net>
110924         and Paul Eggert  <eggert@twinsun.com>
110926         Merge from coreutils.
110927         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
110928         member but strut utmpx does not.  Needed for AIX 4.3.3.
110929         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
110931 2003-08-15  Jim Meyering  <jim@meyering.net>
110932         and Paul Eggert  <eggert@cs.ucla.edu>
110934         Merges from coreutils, etc.
110935         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
110936         Require gl_FUNC_TZSET_CLOBBER.
110937         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
110938         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
110939         members.
110941 2003-08-14  Paul Eggert  <eggert@twinsun.com>
110943         Help the merge from coreutils.
110944         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
110945         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
110946         * m4/tzset.m4: Use it too.
110948 2003-08-14  Paul Eggert  <eggert@twinsun.com>
110950         * modules/tzset: New file.
110952 2003-08-14  Jim Meyering  <jim@meyering.net>
110954         Merges from coreutils.
110955         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
110956         variable names, rather than @FNMATCH_H@.
110957         * modules/alloca: Likewise for $(ALLOCA_H).
110959         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
110960         the three copies of the literal target, `fnmatch.h'.
110961         * modules/alloca (alloca.h): Likewise.
110963 2003-08-14  Jim Meyering  <jim@meyering.net>
110965         Merge from coreutils.
110966         * m4/tzset.m4: New file.
110967         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
110968         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
110969         otherwise, AIX 5.1 systems would end up using the latter.
110970         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
110971         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
110972         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
110973         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
110975 2003-08-14  Jim Meyering  <jim@meyering.net>
110977         Merge from coreutils.
110978         * lib/obstack.h: Whitespace changes.
110979         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
110980         and xcalloc return values.
110981         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
110982         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
110983         hang on OSF/1 5.1 for DIR on both local and remote file systems.
110984         Reported by (and fix confirmed by) Nelson H. F. Beebe.
110985         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
110986         error from mntctl.
110987         Use mntctl's return value to drive the entry-processing loop, since
110988         we can't rely on the value of the vmt_length member in the last
110989         entry.  On some systems doing so could result in exhausting
110990         virtual memory.  Based in part on a patch from Mike Jetzer.
110992 2003-08-14  Jim Meyering  <jim@meyering.net>
110993         and Paul Eggert  <eggert@twinsun.com>
110995         Merges from coreutils, plus other fixes.
110996         * lib/physmem.c: Merge in portability changes from gcc/libiberty
110997         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
110998         for credits and details.  Thanks to Kaveh Ghazi for helping
110999         to keep these files in sync.
111000         (ARRAY_SIZE): Define it.
111001         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
111002         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
111003         (memcasecmp): Don't assume size_t fits in unsigned int.
111004         Remove casts and duplicate code.
111005         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
111006         (memcpy): Remove definition.
111007         Merge in some clean-up and optimization changes from glibc.
111008         [BLOCKSIZE]: Move definition to top of file.
111009         Ensure that it is a multiple of 64.
111010         Rearrange loop exit tests so as to avoid performing an
111011         additional fread after encountering an error or EOF.
111012         * lib/md5.h (md5_uintptr): Define.
111013         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
111014         return to the initial working directory.  Preserve errno
111015         for caller.
111016         * lib/idcache.c: Include "xalloc.h".
111017         (xmalloc, xrealloc): Remove decls.
111018         (getuser): Remove casts no longer required in C89.
111019         * lib/human.c: Include stdio.h, for sprintf.
111020         * lib/group-member.c: Include "xalloc.h".
111021         (xmalloc, xrealloc): Remove decls.
111022         (get_group_info): Remove casts no longer required in C89.
111023         * lib/getusershell.c (readname): Remove casts no longer required in
111024         C89.
111025         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
111026         * lib/getline.c: Whitespace fix, from coreutils.
111028 2003-08-13  Paul Eggert  <eggert@twinsun.com>
111030         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
111031         Check for isascii.
111033         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
111034         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
111035         Undo previous (whitespace-only) change.
111037 2003-08-13  Paul Eggert  <eggert@twinsun.com>
111039         * lib/exclude.c: Include <ctype.h>
111040         (IN_CTYPE_DOMAIN): New macro.
111041         (is_space): New fn.
111042         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
111043         and empty lines.
111045         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
111046         Undo previous (whitespace-only) change.
111048 2003-08-13  Paul Eggert  <eggert@twinsun.com>
111050         * config/srclist-update: Change update back to the old behavior,
111051         leaving whitespace alone.  Use one 'sed' command rather than a
111052         pipeline.
111053         (fixlicense): Now a variable, not a function.
111054         (remove_trailing_blanks): Remove.
111055         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
111056         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
111057         Undo previous (whitespace-only) change.
111059 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111061         Merge from coreutils.
111062         * modules/euidaccess: Add lib_SOURCES, include for new
111063         file euidaccess.h
111065 2003-08-12  Paul Eggert  <eggert@twinsun.com>
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         Normalize leading white space and remove trailing white space.
111071         Merge from coreutils
111072         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
111074         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
111075         0.12.1.  These files are now being upgraded automatically by
111076         ../config/srclist-update.
111078 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111080         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
111081         Normalize leading white space and remove trailing white space.
111082         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
111083         notice, as per ../config/srclist-update.
111085         Merge from coreutils.
111086         * lib/euidaccess.h: New file.
111087         * lib/euidaccess.c: Include it.
111088         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
111089         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
111090         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
111092 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111094         * config/srclist-update: Add copyright notice.
111095         (remove_id_lines, remove_trailing_blanks): New constants.
111096         (fixfile): Use them to normalize spacing a bit in copied files.
111097         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
111098         Normalize leading white space and remove trailing white space.
111100         * config/texinfo.tex: Sync with texinfo.
111102         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
111103         strtoul.c from libc, to merge coreutils whitespace changes.
111105         * config/srclist.txt: Get the following m4 files from gettext:
111106         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
111107         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
111108         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
111109         wint_t.m4.
111111 2003-08-12  Karl Berry  <karl@gnu.org>
111113         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
111114         been made.
111116 2003-08-11  Paul Eggert  <eggert@twinsun.com>
111118         * modules/gnu-source, m4/gnu-source.m4:
111119         Remove; we're assuming Autoconf 2.54 or later now.
111120         Suggested by Bruno Haible.
111121         * MODULES.html.sh (func_all_modules): Remove gnu-source.
111123 2003-08-11  Bruno Haible  <bruno@clisp.org>
111125         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
111127 2003-08-11  Bruno Haible  <bruno@clisp.org>
111129         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
111130         (vasnprintf): Use it instead of wcslen.
111132 2003-08-11  Bruno Haible  <bruno@clisp.org>
111134         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
111135         value to ensure that _Bool promotes to int. Use #define for _Bool when
111136         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
111138 2003-08-10  Karl Berry  <karl@gnu.org>
111140         * lib/regex.h: update from libc (whitespace fix).
111142 2003-08-09  Paul Eggert  <eggert@twinsun.com>
111144         Merge some files from coreutils.  These changes were
111145         originally made by Jim Meyering.
111146         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
111147         many older Unixes require this.
111148         * lib/alloca.c (alloca): Remove cast to argument of free;
111149         no longer needed in C89.
111150         * lib/alloca_.h, regex.h: Fix white space to match
111151         what GNU indent does.
111153 2003-08-09  Paul Eggert  <eggert@twinsun.com>
111155         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
111156         apparently Emacs's Unicode mode got confused before my 2003-08-05
111157         checkin.
111159 2003-08-08  Paul Eggert  <eggert@twinsun.com>
111161         * m4/extensions.m4: New file.
111162         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
111163         Require gl_USE_SYSTEM_EXTENSIONS.
111164         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
111165         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
111167 2003-08-08  Paul Eggert  <eggert@twinsun.com>
111169         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
111170         * modules/extensions, modules/gnu-source: New files.
111171         * modules/timespec, modules/unlocked-io: Depend on extensions.
111173 2003-08-07  Paul Eggert  <eggert@twinsun.com>
111175         * modules/restrict: New file.
111176         * MODULES.html.sh (func_all_modules): Add restrict.
111177         * modules/regex: Depend on restrict.
111179 2003-08-07  Paul Eggert  <eggert@twinsun.com>
111181         * m4/restrict.m4: New file.
111182         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
111184 2003-08-07  Bruno Haible  <bruno@clisp.org>
111186         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
111187         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
111189 2003-08-07  Bruno Haible  <bruno@clisp.org>
111191         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
111192         makes the module 'getndelim2' compatible with the module 'getline'.
111194 2003-08-05  Paul Eggert  <eggert@twinsun.com>
111196         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
111197         byte with "\201" to avoid glitches when editing that source file
111198         with multi-gnome-terminal.
111200 2003-08-05  Paul Eggert  <eggert@twinsun.com>
111202         * lib/bumpalloc.h: Remove.
111204 2003-08-05  Paul Eggert  <eggert@twinsun.com>
111206         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
111207         * modules/bumpalloc: Remove.
111209 2003-08-04  Paul Eggert  <eggert@twinsun.com>
111211         * lib/getloadavg.c: Change copyright notice and spacing to conform to
111212         GNU coding style.
111214         Merge from coreutils.
111215         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
111216         1. From glibc.
111217         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
111218         from Karl Berry, implemented by Jim Meyering.
111219         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
111220         from Dmitry V. Levin.
111221         Remove anachronistic cast of xrealloc.
111222         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
111223         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
111224         type. Otherwise, it wouldn't compile with at least /bin/cc on
111225         ymp-cray-unicos9.0.2.X.
111226         Combine two mostly-identical uses of alloca into one.
111227         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
111229 2003-08-04  Dave Love  <d.love@dl.ac.uk>
111231         [From Emacs.]
111233         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
111234         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
111235         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
111236         obsolete NLIST_NAME_UNION.
111237         [__GNU__]: Undef BSD and FSCALE.
111238         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
111240 2003-08-03  Paul Eggert  <eggert@twinsun.com>
111242         * lib/stdbool_.h (_Bool): Make it signed char, instead of
111243         an enum type, so that it's guaranteed to promote to int.  See:
111244         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
111246 2003-08-03  Karl Berry  <karl@gnu.org>
111248         * config/depcomp: update from automake.
111250 2003-07-31  Paul Eggert  <eggert@twinsun.com>
111252         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
111253         (strerror): Don't assume that a printable int fits in 14 bytes.
111255 2003-07-31  Bruno Haible  <bruno@clisp.org>
111257         * modules/getpass-gnu: New file.
111258         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
111260 2003-07-31  Bruno Haible  <bruno@clisp.org>
111262         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
111264 2003-07-24  Karl Berry  <karl@gnu.org>
111266         * config/missing: update from automake.
111268 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
111269             Bruno Haible  <bruno@clisp.org>
111271         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
111272         * lib/getline.c (getline, getdelim): Likewise.
111273         Remove _GNU_SOURCE define; now it's defined in config.h through
111274         m4/getline.m4.
111276 2003-07-23  Karl Berry  <karl@gnu.org>
111278         * config/config.sub: update from prep.
111280 2003-07-22  Paul Eggert  <eggert@twinsun.com>
111282         * modules/xalloc (Depends-on): Add exitfail.
111283         * modules/xmemcoll: Likewise.
111285 2003-07-22  Paul Eggert  <eggert@twinsun.com>
111287         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
111288         over-parenthesization in macros.
111290         Sync with coreutils.
111292         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
111293         required by C99.
111295         Use `exit_failure' for xalloc and xmemcoll instead of their own
111296         private exit-failure variables.
111297         * lib/xalloc.h (xalloc_exit_failure): Remove.
111298         * lib/xmalloc.c: Likewise.  Include exitfail.h.
111299         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
111300         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
111301         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
111302         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
111304 2003-07-20  Jim Meyering  <jim@meyering.net>
111306         * modules/closeout (Depends-on): Add exitfail.
111307         Suggestion from Bruno Haible.
111309 2003-07-19  Karl Berry  <karl@gnu.org>
111311         * config/config.sub: update from prep.
111313 2003-07-18  Paul Eggert  <eggert@twinsun.com>
111315         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
111316         Remove.
111317         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
111318         to test that it can stand by itself.  Include "exitfail.h".
111319         Clients should set exit_failure instead.
111320         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
111322 2003-07-18  Bruno Haible  <bruno@clisp.org>
111324         * modules/getndelim2: New file.
111325         * modules/getline: Share files with module getndelim2.
111326         * modules/getnline: Depend on getndelim2 instead of sharing files with
111327         it. Add getnline.c to lib_SOURCES.
111328         * MODULES.html.sh (func_all_modules): Add getndelim2.
111330 2003-07-18  Bruno Haible  <bruno@clisp.org>
111332         * m4/getndelim2.m4: New file.
111333         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
111334         invoke gl_PREREQ_GETNDELIM2.
111335         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
111336         gl_PREREQ_GETNDELIM2.
111337         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
111338         gl_GETNDELIM2.
111340 2003-07-18  Bruno Haible  <bruno@clisp.org>
111342         * lib/getndelim2.h: New file.
111343         * lib/getndelim2.c: Make into a module of its own. Include config.h,
111344         getndelim2.h.
111345         (getndelim2): Make non-static. Change return type to ssize_t.
111346         * lib/getline.h: Change argument names.
111347         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
111348         * lib/getnline.c: Include getndelim2.h.
111350 2003-07-18  Andreas Schwab  <schwab@suse.de>
111352         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
111354 2003-07-17  Karl Berry  <karl@gnu.org>
111356         * config/config.sub: update from prep.
111358 2003-07-17  Bruno Haible  <bruno@clisp.org>
111360         * modules/getnline: New file.
111361         * modules/getline: Add lib/getndelim2.c to source file list.
111362         * MODULES.html.sh (func_all_modules): Add getnline.
111364 2003-07-17  Bruno Haible  <bruno@clisp.org>
111366         * m4/getnline.m4: New file.
111368 2003-07-17  Bruno Haible  <bruno@clisp.org>
111370         * m4/Makefile.am.in: Remove file.
111371         * m4/Makefile.am: Remove file.
111372         * m4/Makefile.in: Remove file.
111374 2003-07-17  Bruno Haible  <bruno@clisp.org>
111376         * lib/getnline.h: New file.
111377         * lib/getnline.c: New file.
111378         * lib/getndelim2.c: New file, extracted from getline.c.
111379         (getndelim2): Renamed from getdelim2, with added nmax argument.
111380         * lib/getline.c: Include getndelim2.c.
111381         (getdelim2): Moved out to getndelim2.c.
111382         (getline, getdelim): Update.
111384 2003-07-17  Bruno Haible  <bruno@clisp.org>
111386         * lib/Makefile.am: Remove file.
111387         * lib/Makefile.in: Remove file.
111389 2003-07-17  Bruno Haible  <bruno@clisp.org>
111391         * configure.in: Remove file.
111392         * Makefile.in: Remove file.
111394 2003-07-17  Bruno Haible  <bruno@clisp.org>
111396         * MODULES.html.sh: Put the </BODY> right before </HTML>.
111398 2003-07-16  Karl Berry  <karl@gnu.org>
111400         * config/srclist-update: was running fixlicense twice, which caused
111401                 texinfo.tex to be nullified for some reason.  Simplify,
111402                 $gplsrc is no longer needed as far as I can see?
111404 2003-07-16  Jim Meyering  <jim@meyering.net>
111406         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
111408 2003-07-15  Paul Eggert  <eggert@twinsun.com>
111410         * config/srclist.txt: Get the following files from gettext-runtime/intl
111411         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
111412         ref-del.sin.  From Bruno Haible.
111413         * config/srclist-update (fixfile): Change grep pattern again, since the
111414         previous fix didn't work (there was another trailing $).  Use
111415         '[$]' to escape the $s.
111417 2003-07-15  Karl Berry  <karl@gnu.org>
111419         * lib/vasnprintf.c: update from gettext.
111421 2003-07-15  Karl Berry  <karl@gnu.org>
111423         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
111424         gets expanded when surrounded by '$'.
111426 2003-07-15  Jim Meyering  <jim@meyering.net>
111428         * modules/save-cwd: Don't depend on error.  From Derek Price.
111430 2003-07-15  Jim Meyering  <jim@meyering.net>
111432         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
111434 2003-07-14  Simon Josefsson  <jas@extundo.com>
111436         * modules/mempcpy: New file.
111437         * MODULES.html.sh (func_all_modules): Add mempcpy.
111439 2003-07-14  Simon Josefsson  <jas@extundo.com>
111441         * m4/mempcpy.m4: New file.
111443 2003-07-14  Simon Josefsson  <jas@extundo.com>
111445         * lib/mempcpy.h: New file.
111446         * lib/mempcpy.c: New file.
111448 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111450         * modules/getdate, modules/posixtm: Depend on mktime.
111452 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111454         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
111455         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
111456         unicodeio.c, unicodeio.h, unlocked-io.h:
111457         Switch from LGPL to GPL.
111459 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111461         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
111462         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
111463         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
111464         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
111465         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
111466         updated automatically by ../config/srclist-update.  This changes
111467         their license from LPGL to GPL.
111469 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111471         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
111472         assumed to refer to the root of the most recent stable gettext version.
111473         * config/srclistvars.sh: Add defaults for eggert.
111474         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
111475         Match "This program" as well as "The program".  This is needed
111476         for gettext.
111478 2003-07-14  Jim Meyering  <jim@meyering.net>
111480         Don't emit diagnostics.  Let callers do that.
111481         * lib/save-cwd.c: Don't include "error.h".
111482         (save_cwd): Don't call error.  Ensure that errno is valid
111483         when returning nonzero.
111485         * lib/save-cwd.h (restore_cwd): Update prototype.
111486         * lib/save-cwd.c (restore_cwd): Remove two parameters.
111487         Simplify.  Don't call error upon failure.  Let callers do that.
111488         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
111489         when auditing is enabled.  But don't bother updating the #if.
111491 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
111493         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
111494         it breaks C++ compilation.
111495         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
111497 2003-07-10  Simon Josefsson  <jas@extundo.com>
111499         * modules/strchrnul (Makefile.am): Add strchrnul.h.
111501 2003-07-10  Jim Meyering  <jim@meyering.net>
111503         * m4/clock_time.m4: Remove trailing blank.
111504         * m4/intmax_t.m4: Likewise.
111506 2003-07-10  Jim Meyering  <jim@meyering.net>
111508         * lib/vasnprintf.c: Remove trailing blanks.
111509         Make cpp indentation consistent.
111511 2003-07-09  Paul Eggert  <eggert@twinsun.com>
111513         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
111514         posixver.c, strftime.c, strnlen.c, strverscmp.c:
111515         Switch from LGPL to GPL.
111517 2003-07-09  Paul Eggert  <eggert@twinsun.com>
111519         * config/srclist.txt: Sort sublists.  Add
111520         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
111521         that differ from gnulib for one reason or another; we'd like this list
111522         to be smaller but for now let's document what we have.
111524 2003-07-08  Paul Eggert  <eggert@twinsun.com>
111526         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
111527         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
111528         and sweeter "eval x=$x".
111529         * config/srclist.txt: Get lib/argp* from glibc.
111531 2003-07-07  Paul Eggert  <eggert@twinsun.com>
111533         * lib/mktime.c: Fix some boundary cases and remove need for floating
111534         point.
111536         Issue a compile-time diagnostic if time_t is floating point, or if
111537         two's complement arithmetic is not in effect, or if arithmetic
111538         right shift does not propagate the sign.  These assumptions were
111539         all in the original code but they weren't checked.
111541         (TIME_T_MIDPOINT, verify): New macros.
111542         (__isleap): Remove; it has integer overflow problems.
111543         (leapyear): New function, without those problems.
111544         (ydhms_tm_diff): Remove; splitting into two parts.
111545         (ydhms_diff): New function, containing the arithmetic part of
111546         the old ydhms_tm_diff function.  Issue a compile-time
111547         diagnostic if we are not using C99 integer division.
111548         Avoid casts when possible.
111549         (guess_time_tm): New function, containing the checking part of
111550         the old ydhms_tm_diff function.  Return the new value, rather than
111551         the difference between it and the old.  Accept a new argument T
111552         so that *T specifies the old value.  Check for overflow in the result.
111554         (__mktime_internal): Use a time_t offset, not a long int offset.
111555         This undoes the 2003-06-04 change, which is no longer needed now
111556         that we have better overflow checking.
111557         (localtime_offset): Likewise.
111559         (__mktime_internal): Avoid harmful overflow on hosts where time_t
111560         and long are 64-bit but int is only 32-bit.
111561         (ydhms_diff): Use long int to store year1 and yday1.
111562         Issue a compile-time diagnostic if long int is not wide enough.
111564         (__mktime_internal): Use long int to store adjusted year and yday.
111565         Use plain C rather than preprocessor commands, if that doesn't
111566         affect efficiency.
111567         Check for overflow (and try to repair) after each probe
111568         rather than checking only at the very end.  This avoids some bugs
111569         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
111570         does not equal GMT offset at maximum time).
111571         Use integer to check for overflow rather than floating point; this
111572         is more portable to non-IEEE hosts, and is a tad faster.
111573         When we detect that we are oscillating between two values,
111574         don't check whether tm_isdst has the requested value, since
111575         we already know the answer.  When tm_isdst has the wrong value,
111576         use a different heuristic to find the right one, based on the
111577         extreme values actually observed in practice in tz2003a,
111578         rather than the (overly optimistic) "previous 3 calendar quarters".
111580         (not_equal_tm, print_tm, check_result): Use "const T" rather than
111581         "T const" to accommodate glibc style.
111582         (check_result): Use less-confusing report format.  "long" -> "long int.
111583         (main): Likewise.
111584         Don't loop if the iteration overflows time_t.
111585         Allow a negative step in the iteration.
111587 2003-07-06  Karl Berry  <karl@gnu.org>
111589         * config/depcomp: update from automake.
111590         * config/config.sub: update from prep.
111592 2003-07-03  Karl Berry  <karl@gnu.org>
111594         * config/config.guess: update from prep.
111596 2003-07-01  Paul Eggert  <eggert@twinsun.com>
111598         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
111599         xreadlink.c now includes it unconditionally.
111601 2003-07-01  Paul Eggert  <eggert@twinsun.com>
111603         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
111604         having it depend on HAVE_SYS_TYPES_H.
111606 2003-07-01  Bruno Haible  <bruno@clisp.org>
111608         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
111609         <sys/types.h> should be sufficient.
111610         Reported by Paul Eggert.
111612 2003-06-26  Karl Berry  <karl@gnu.org>
111614         * config/depcomp: update from automake.
111616 2003-06-26  Bruno Haible  <bruno@clisp.org>
111618         * modules/human: Depend on module stdbool.
111620 2003-06-25  Bruno Haible  <bruno@clisp.org>
111622         * modules/readlink: New file.
111623         * modules/xreadlink: Depend on it.
111624         * MODULES.html.sh (func_all_modules): Add readlink.
111626 2003-06-25  Bruno Haible  <bruno@clisp.org>
111628         * m4/readlink.m4: New file.
111630 2003-06-25  Bruno Haible  <bruno@clisp.org>
111632         * lib/readlink.c: New file.
111634 2003-06-22  Karl Berry  <karl@gnu.org>
111636         * config/srclist.txt: update mkinstalldirs from automake.
111637         * config/mkinstalldirs: update.
111639 2003-06-22  Bruno Haible  <bruno@clisp.org>
111641         Portability to mingw32.
111642         * m4/ssize_t.m4: New file, from GNU gettext.
111643         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
111644         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
111646 2003-06-22  Bruno Haible  <bruno@clisp.org>
111648         * modules/safe-read: Add m4/ssize_t.m4.
111649         * modules/xreadlink: Add m4/ssize_t.m4.
111651 2003-06-20  Bruno Haible  <bruno@clisp.org>
111653         Assume C89, so PARAMS isn't needed.
111654         * lib/unicodeio.h (PARAMS): Remove.
111655         * lib/unicodeio.c: Don't use PARAMS.
111657 2003-06-18  Karl Berry  <karl@gnu.org>
111659         * config/config.{guess,sub}: update from prep.
111661 2003-06-18  Jim Meyering  <jim@meyering.net>
111663         Merge changes from coreutils.
111664         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
111665         Remove explicit declarations of xmalloc and realloc.
111666         Include xalloc.h.
111667         (read_utmp): Remove anachronistic cast of xmalloc.
111669 2003-06-17  Paul Eggert  <eggert@twinsun.com>
111671         Assume C89, so PARAMS isn't needed.
111672         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
111673         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
111674         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
111675         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
111676         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
111677         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
111678         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
111679         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
111680         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
111681         lib/xstrtod.h, lib/xstrtol.h: Likewise.
111682         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
111683         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
111684         no longer needed. Anyway, config.h should always be included before any
111685         other file.
111687 2003-06-11  Simon Josefsson  <jas@extundo.com>
111689         * modules/sysexits: New file.
111690         * MODULES.html.sh (func_all_modules): Add sysexits.
111692 2003-06-11  Simon Josefsson  <jas@extundo.com>
111694         * lib/sysexit_.h: New file.
111696 2003-06-11  Derek Price  <derek@ximbiot.com>
111698         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
111699         necessary.
111701 2003-06-11  Bruno Haible  <bruno@clisp.org>
111703         * m4/sysexits.m4: New file.
111705 2003-06-10  Simon Josefsson  <jas@extundo.com>
111707         * lib/argp.h: New file, from glibc.
111708         * lib/argp-ba.c: New file, from glibc.
111709         * lib/argp-eexst.c: New file, from glibc.
111710         * lib/argp-fmtstream.c: New file, from glibc.
111711         * lib/argp-fmtstream.h: New file, from glibc.
111712         * lib/argp-fs-xinl.c: New file, from glibc.
111713         * lib/argp-help.c: New file, from glibc.
111714         * lib/argp-namefrob.h: New file, from glibc.
111715         * lib/argp-parse.c: New file, from glibc.
111716         * lib/argp-pv.c: New file, from glibc.
111717         * lib/argp-pvh.c: New file, from glibc.
111718         * lib/argp-xinl.c: New file, from glibc.
111720 2003-06-10  Simon Josefsson  <jas@extundo.com>
111722         * modules/strchrnul: New file.
111724 2003-06-10  Simon Josefsson  <jas@extundo.com>
111726         * modules/argp: New file.
111728 2003-06-10  Simon Josefsson  <jas@extundo.com>
111730         * m4/strchrnul.m4: New file.
111732 2003-06-10  Simon Josefsson  <jas@extundo.com>
111734         * lib/strchrnul.h: New file.
111735         * lib/strchrnul.c: New file.
111737 2003-06-10  Bruno Haible  <bruno@clisp.org>
111739         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
111741 2003-06-07  Karl Berry  <karl@gnu.org>
111743         * config/config.{guess,sub}: update from prep.
111745 2003-06-07  Jim Meyering  <jim@meyering.net>
111747         * modules/strtod: Use $(...) notation, not @...@ for
111748         AC_REPLACE'd variables.
111749         * modules/localcharset: Likewise.
111751 2003-06-07  Jim Meyering  <jim@meyering.net>
111753         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
111754         in place of my name in the copyright comment.
111755         Remove definition and uses of __P.
111757         From coreutils.
111758         * lib/stat.c: Don't declare xmalloc explicitly.
111759         Instead, include "xalloc.h".
111760         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
111761         xrealloc, and xcalloc return values.
111762         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
111763         Improve comment.
111764         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
111766 2003-06-07  Bruno Haible  <bruno@clisp.org>
111768         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
111769         avoid AC_CONFIG_LINKS.
111770         * modules/fnmatch (Makefile.am): Use explicit creation rule for
111771         fnmatch.h, to avoid AC_CONFIG_LINKS.
111772         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
111774 2003-06-07  Bruno Haible  <bruno@clisp.org>
111776         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
111777         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
111778         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
111779         directory.
111780         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
111781         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
111782         directory.
111784 2003-06-06  Jim Meyering  <jim@meyering.net>
111786         Merge from coreutils.
111787         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
111788         Consolidate declarations and initializations of *_base* locals.
111790         Merge from coreutils.
111791         This avoids a core dump on systems without GNU putenv,
111792         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
111793         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
111794         (unsetenv): New static function, from GNU libc.
111795         (rpl_putenv): Use it.
111797         * lib/modechange.c: Remove trailing blanks.
111799         Merge from coreutils.
111800         * lib/fsusage.c: Remove declaration of statfs.
111801         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
111803         * lib/posixtm.c: Include <stdbool.h> unconditionally.
111805 2003-06-06  Jim Meyering  <jim@meyering.net>
111807         * lib/stdbool_.h: Renamed from stdbool.h.in.
111809 2003-06-06  Jim Meyering  <jim@meyering.net>
111810             Bruno Haible  <bruno@clisp.org>
111812         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
111813         Adjust Makefile.am snippet not to redirect directly to target.
111814         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
111816 2003-06-05  Paul Eggert  <eggert@twinsun.com>
111818         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
111819         mismatch, look in future quarters as well as past.  This fixes a
111820         bug when processing fall-backwards gaps immediately after a long
111821         period of daylight-saving time.
111823         * lib/mktime.c: Assume freestanding C89 or better.
111824         (HAVE_LIMITS_H): Remove.  Assume it's 1.
111825         (__P): Remove; not used.
111826         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
111827         (mktime, not_equal_tm, print_tm, check_result,
111828         main): Use prototypes.  Use const * where appropriate.
111829         (main): Fix typo in testing code that uncovered by above changes.
111830         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
111832 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111834         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
111835         locale.h, localeconv.  This merges changes from coreutils.
111837         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
111838         It can be removed after the next Autoconf is released.
111839         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
111840         needed.
111842 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111844         * lib/mktime.c: Fix Debian bug 177940
111845         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
111846         (localtime_offset): Now long int, not time_t, because we want it
111847         to be guaranteed to be signed.  All uses changed.
111848         (__mktime_internal): If overflow would occur when adding offset,
111849         don't add it.
111851         Merge 'human' changes from coreutils.  Rewrite to support
111852         locale-specific notations like thousands separators.
111853         * lib/human.c: Simplify authorship notice.
111854         Include human.h immediately after config.h.
111855         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
111856         <limits.h>: Do not include, since human.h does.
111857         (SIZE_MAX, UINTMAX_MAX): New macros.
111858         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
111859         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
111860         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
111861         (power_letter): Renamed from suffixes.
111862         (generate_suffix_backwards): Remove.
111863         (adjust_value): Now takes int style (because of human.h changes)
111864         and long double value (for greater precision on some platforms).
111865         (group_number): New function.
111866         (human_readable): Use it.  Use integer options, not enum.
111867         Put the options before the sizes in the arg list.
111868         Support all the new options.
111869         The old human_readable function has been removed;
111870         use inttostr.h instead.
111871         (human_readable, default_block_size, humblock):
111872         Use uintmax_t, not int, for block sizes.
111873         (human_readable_inexact, block_size_types): Remove.
111874         (block_size_opts): New constant.
111875         (human_options): Renamed from human_block_size, with new signature
111876         that allows block sizes up to UINTMAX_MAX.  All callers changed.
111877         * lib/human.h: Add copyright and authorship notice.
111878         Include <limits.h> and <stdbool.h> unconditionally.
111879         (PARAMS): Remove.  All uses removed.
111880         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
111881         (enum human_inexact_style): Remove tag; now a nameless enum.
111882         (human_floor, human_ceiling, human_round_to_even): Now have
111883         values 2, 0, 1 rather than -1, 1, 0.
111884         (human_group_digits, human_suppress_point_zero, human_autoscale,
111885         human_base_1024, human_SI, human_B): New constants.
111886         (human_readable_inexact, human_block_size): Remove.
111887         (human_readable): Size args are now uintmax_t, not int.
111888         (human_options): New decl.
111890         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
111891         unnecessary now that we assume C89 or better.  This change
111892         imported from coreutils.
111894         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
111895         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
111896         in the 2003-05-30 sync from glibc.
111898         .h files should stand alone, but we shouldn't include <sys/types.h>
111899         if we can get away with just <stddef.h>.
111901         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
111902         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
111903         rather than <sys/types.h>, as we merely need size_t.
111904         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
111905         to get size_t.
111906         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
111907         Include <stdio.h>, to get FILE.
111908         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
111909         memcasecmp.h has included <stddef.h> and all we need is size_t.
111910         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
111911         our interface, instead of including <sys/types.h>
111913 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111915         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
111916         now, as glibc mktime is buggy on non-glibc systems.
111918 2003-06-03  Karl Berry  <karl@gnu.org>
111920         * config/config.sub: update from prep.
111922 2003-06-02  Paul Eggert  <eggert@twinsun.com>
111924         [from coreutils]
111925         Fix some minor time-related bugs with POSIX time arguments.
111926         Some valid time stamps were being rejected (notably -1, and
111927         time stamps before 1900 on 64-bit hosts).  And some invalid
111928         time stamps were being accepted, e.g. September 31.
111930         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
111931         that we can return (time_t) -1 successfully.
111932         * lib/posixtm.c: Likewise.
111933         [HAVE_STDBOOL_H]: Include <stdbool.h>.
111934         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
111935         (t): Remove static var.
111936         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
111937         of static var.  All uses changed.
111938         (year): Do not reject years before 1900; they can occur with
111939         64-bit time_t.
111940         (posix_time_parse): Do not check for out-of-range components;
111941         that is now the caller's responsibility, since our checks were
111942         only approximations.
111943         (posixtime): Use mktime to check for out-of-range components,
111944         since it knows them exactly.
111945         If mktime returns (time_t) -1, check whether an error actually occurred
111946         by invoking localtime on -1.
111947         (main) [TEST_POSIXTIME]: Check for input data errors, and report
111948         posixtime failures better.
111949         Improve the test data (in comments only).
111951 2003-06-02  Karl Berry  <karl@gnu.org>
111953         * config/mkinstalldirs (version): new variable.
111954         (--version): new option.
111955         (usage): improve message.
111957 2003-05-30  Karl Berry  <karl@gnu.org>
111959         * lib/mktime.c: update from libc.
111961 2003-05-30  Bruno Haible  <bruno@clisp.org>
111963         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
111964         * config/config.rpath: Upgrade to gettext-0.12.1.
111966 2003-05-30  Bruno Haible  <bruno@clisp.org>
111968         * m4/gettext.m4: Upgrade to gettext-0.12.1.
111969         * m4/nls.m4: New file, from gettext-0.12.1.
111970         * m4/po.m4: New file, from gettext-0.12.1.
111971         * m4/progtest.m4: Upgrade to gettext-0.12.1.
111973 2003-05-30  Bruno Haible  <bruno@clisp.org>
111975         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
111976         * lib/localcharset.h: Likewise.
111977         * lib/localcharset.c: Likewise.
111979 2003-05-29  Karl Berry  <karl@gnu.org>
111981         * config/config.rpath: update from gettext.
111983 2003-05-28  Paul Eggert  <eggert@twinsun.com>
111985         Assume the headers required for C89 freestanding compilers.
111986         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
111987         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
111988         * m4/human.m4 (gl_HUMAN): Likewise.
111989         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
111990         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
111991         * m4/userspec.m4 (gl_USERSPEC): Likewise.
111992         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
111993         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
111994         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
111996 2003-05-28  Paul Eggert  <eggert@twinsun.com>
111998         Assume the headers required for C89 freestanding compilers.
111999         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
112000         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
112001         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
112002         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
112003         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
112004         define, since <limits.h> is guaranteed to do that.
112005         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
112006         * lib/exclude.c: Include <stdbool.h> unconditionally.
112007         * lib/tempname.c: Include <stddef.h> unconditionally.
112008         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
112009         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
112010         <stddef.h> does that.
112011         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
112012         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
112013         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
112014         needed.
112015         * lib/xstrtol.c: Likewise.
112016         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
112017         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
112019         * lib/addext.c (addext): Use assignment rather than cast, to avoid
112020         warnings on some platforms.
112022         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
112023         arbitrarily.
112025 2003-05-26  Jim Meyering  <jim@meyering.net>
112027         Merge in a change from coreutils:
112028         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
112029         that is guaranteed to be `no'.  Use `no_such_member' to indicate
112030         that condition, rather than `-1' which is slightly misleading.
112031         Change the name of the cache variable to have the gl_ prefix.
112032         Prompted by a patch from Richard Dawe for DJGPP.
112034 2003-05-24  Karl Berry  <karl@gnu.org>
112036         * config/config.guess: update from prep.
112038 2003-05-22  Karl Berry  <karl@gnu.org>
112040         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
112042 2003-05-20  Karl Berry  <karl@gnu.org>
112044         * config/config.guess: update from prep.
112046 2003-05-18  Karl Berry  <karl@gnu.org>
112048         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
112049         might actually be set by the user.
112051         * config/depcomp, install-sh, mdate-sh: update from automake.
112053 2003-05-17  Bruno Haible  <bruno@clisp.org>
112055         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
112056         invalid expansion for AC_EGREP_CPP.
112057         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
112058         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
112059         Suggested by Akim Demaille <akim@epita.fr> in
112060         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
112062 2003-05-12  Jim Meyering  <jim@meyering.net>
112064         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
112065         the space-padded-by-default conversion specifiers, %e, %k, %l.
112067 2003-05-12  Bruno Haible  <bruno@clisp.org>
112069         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
112070         the string is longer than 4 KB.
112072 2003-05-11  Karl Berry  <karl@gnu.org>
112074         * config/config.{guess,sub}: update from prep.
112076 2003-05-09  Bruno Haible  <bruno@clisp.org>
112078         * modules/error: Add m4/strerror_r.m4 to file list.
112080 2003-05-03  Bruno Haible  <bruno@clisp.org>
112082         Upgrade to Unicode-4.0.
112083         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
112084         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
112085         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
112086         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
112087         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
112088         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
112089         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
112090         Change width of U+E0100..U+E01EF from 1 to 0.
112092 2003-04-25  Jim Meyering  <jim@meyering.net>
112094         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
112095         of type size_t, not int.
112097 2003-04-25  Bruno Haible  <bruno@clisp.org>
112099         * lib/copy-file.c: Include <stddef.h>, for size_t.
112101 2003-04-21  Paul Eggert  <eggert@twinsun.com>
112103         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
112104         code which expansion is under static control.  Patch imported from
112105         Akim Demaille's patch to Bison; see
112106         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
112108 2003-04-14  Bruno Haible  <bruno@clisp.org>
112110         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
112112 2003-04-11  Jim Meyering  <jim@meyering.net>
112114         Merge changes from Coreutils.
112116         2003-03-22  Jim Meyering  <jim@meyering.net>
112118         * lib/strftime.c (widen): Cast alloca return value to proper type.
112120         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
112122         From GNU libc.
112123         * lib/strftime.c (my_strftime): Handle very large width
112124         specifications for numeric values correctly.  Improve checks for
112125         overflow.
112127         2003-01-19  Jim Meyering  <jim@meyering.net>
112129         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
112130         definitions.
112131         (nl_get_alt_digit) [! defined my_strftime]: Define.
112132         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
112133         _nl_get_alt_digit and _nl_get_walt_digit.
112135         * lib/strftime.c (my_strftime): Merge in locale-related changes from
112136         libc. These changes have no effect outside of _LIBC.
112138 2003-04-10  Bruno Haible  <bruno@clisp.org>
112140         * modules/findprog: New file.
112141         * MODULES.html.sh (func_all_modules): Add it.
112143 2003-04-10  Bruno Haible  <bruno@clisp.org>
112145         * m4/findprog.m4: New file.
112146         * m4/eaccess.m4: New file.
112148 2003-04-10  Bruno Haible  <bruno@clisp.org>
112150         * lib/findprog.h: New file, from GNU gettext.
112151         * lib/findprog.c: New file, from GNU gettext.
112153 2003-04-05  Jim Meyering  <jim@meyering.net>
112155         Merge changes from Coreutils.
112157         * lib/exclude.h (PARAMS): Remove definition and uses.
112158         * lib/exclude.c: Remove uses of `PARAMS'.
112160         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
112161         Add test-cases for DOS filenames. Declare program_name.
112162         (main): Set up program_name.  Patch by Rich Dawe.
112164         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
112165         error from mntctl.
112166         Use mntctl's return value to drive the entry-processing loop, since
112167         we can't rely on the value of the vmt_length member in the last
112168         entry.  On some systems doing so could result in exhausting
112169         virtual memory.  Based in part on a patch from Mike Jetzer.
112171 2003-04-04  Bruno Haible  <bruno@clisp.org>
112173         * modules/linebreak: New file.
112174         * MODULES.html.sh (func_all_modules): Add it.
112176 2003-04-04  Bruno Haible  <bruno@clisp.org>
112178         * m4/linebreak.m4: New file.
112180 2003-04-04  Bruno Haible  <bruno@clisp.org>
112182         * lib/linebreak.h: New file, from GNU gettext.
112183         * lib/linebreak.c: New file, from GNU gettext with slight
112184         modifications.
112185         * lib/lbrkprop.h: New file, from GNU gettext.
112187 2003-04-03  Bruno Haible  <bruno@clisp.org>
112189         * modules/utf8-ucs4: New file.
112190         * modules/utf16-ucs4: New file.
112191         * modules/ucs4-utf8: New file.
112192         * modules/ucs4-utf16: New file.
112193         * MODULES.html.sh (func_all_modules): Add them.
112195 2003-04-03  Bruno Haible  <bruno@clisp.org>
112197         * m4/utf-ucs4.m4: New file.
112198         * m4/ucs4-utf.m4: New file.
112200 2003-04-03  Bruno Haible  <bruno@clisp.org>
112202         * lib/utf8-ucs4.h: New file, from GNU gettext.
112203         * lib/utf16-ucs4.h: New file, from GNU gettext.
112204         * lib/ucs4-utf8.h: New file, from GNU gettext.
112205         * lib/ucs4-utf16.h: New file, from GNU gettext.
112207 2003-04-02  Bruno Haible  <bruno@clisp.org>
112209         * modules/binary-io: New file.
112210         * MODULES.html.sh (func_all_modules): Add it.
112212 2003-04-02  Bruno Haible  <bruno@clisp.org>
112214         * lib/binary-io.h: New file, from GNU gettext.
112216 2003-04-01  Bruno Haible  <bruno@clisp.org>
112218         * modules/pathname: New file.
112219         * MODULES.html.sh (func_all_modules): Add it.
112221 2003-04-01  Bruno Haible  <bruno@clisp.org>
112223         * lib/pathname.h: New file, from GNU gettext.
112224         * lib/concatpath.c: New file, from GNU gettext.
112226 2003-03-30  Bruno Haible  <bruno@clisp.org>
112228         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
112230 2003-03-30  Bruno Haible  <bruno@clisp.org>
112232         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
112233         function chown() doesn't exist.
112235 2003-03-28  Bruno Haible  <bruno@clisp.org>
112237         * modules/copy-file: New file.
112238         * MODULES.html.sh (func_all_modules): Add it.
112240 2003-03-28  Bruno Haible  <bruno@clisp.org>
112242         * m4/copy-file.m4: New file.
112244 2003-03-28  Bruno Haible  <bruno@clisp.org>
112246         * lib/copy-file.h: New file, from GNU gettext.
112247         * lib/copy-file.c: New file, from GNU gettext.
112249 2003-03-18  Jim Meyering  <jim@meyering.net>
112251         * lib/quote.c (quote_n): Fix typo in comment.
112253 2003-03-18  Bruno Haible  <bruno@clisp.org>
112255         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
112256         checking.
112257         * m4/onceonly_2_57.m4: Likewise.
112259 2003-03-17  Bruno Haible  <bruno@clisp.org>
112261         * m4/onceonly.m4: Require autoconf 2.54 or newer.
112262         (m4_quote): Remove macro.
112263         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
112265 2003-03-14  Jim Meyering  <jim@meyering.net>
112267         Merge changes from Coreutils.
112268         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
112269         to be const, in order to avoid warnings.
112270         (obstack_room): Likewise.
112271         (obstack_empty_p): Likewise.
112273 2003-03-14  Bruno Haible  <bruno@clisp.org>
112275         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
112276         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
112278 2003-03-13  Paul Eggert  <eggert@twinsun.com>
112280         Merge changes from Bison.
112281         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
112282         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
112283         when compiling Bison 1.875's `bitset bset = obstack_alloc
112284         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
112285         * lib/hash.c: Include <stdbool.h> unconditionally.
112287 2003-03-13  Paul Eggert  <eggert@twinsun.com>
112289         * m4/onceonly.m4 (m4_quote): New macro.
112290         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
112291         Quote AC_FOREACH variable-expansions properly.
112293 2003-03-13  Paul Eggert  <eggert@twinsun.com>
112295         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
112297 2003-03-09  Paul Eggert  <eggert@twinsun.com>
112299         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
112300         Reported by Bruce Becker; see:
112301         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
112303 2003-03-03  Paul Eggert  <eggert@twinsun.com>
112304             Bruno Haible  <bruno@clisp.org>
112306         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
112307         Reported by John Hughes, see
112308         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
112310 2003-02-20  Bruno Haible  <bruno@clisp.org>
112312         * MODULES.html.sh (func_all_modules): Add poll.
112314 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
112316         * modules/poll: New file.
112318 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
112320         * lib/poll_.h: New file.
112321         * lib/poll.c: New file.
112323 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
112325         * m4/poll.m4: New file.
112327 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
112329         * modules/mathl: New file.
112331 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
112333         * lib/mathl.h: New file.
112334         * lib/acosl.c: New file.
112335         * lib/asinl.c: New file.
112336         * lib/atanl.c: New file.
112337         * lib/ceill.c: New file.
112338         * lib/cosl.c: New file.
112339         * lib/expl.c: New file.
112340         * lib/floorl.c: New file.
112341         * lib/frexpl.c: New file.
112342         * lib/ldexpl.c: New file.
112343         * lib/logl.c: New file.
112344         * lib/sincosl.c: New file.
112345         * lib/sinl.c: New file.
112346         * lib/sqrtl.c: New file.
112347         * lib/tanl.c: New file.
112348         * lib/trigl.c: New file.
112349         * lib/trigl.h: New file.
112351 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
112353         * m4/mathl.m4: New file.
112355 2003-02-18  Bruno Haible  <bruno@clisp.org>
112357         * MODULES.html.sh (func_all_modules): Add mathl.
112359 2003-02-17  Bruno Haible  <bruno@clisp.org>
112361         * modules/mkdtemp: New module.
112362         * MODULES.html.sh (func_all_modules): Add it.
112364 2003-02-17  Bruno Haible  <bruno@clisp.org>
112366         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
112368 2003-02-17  Bruno Haible  <bruno@clisp.org>
112370         * lib/mkdtemp.h: New file, from GNU gettext.
112371         * lib/mkdtemp.c: New file, from GNU gettext.
112373 2003-02-02  Jim Meyering  <jim@meyering.net>
112375         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
112376         e.g. glibc-2.2.93.
112378 2003-01-31  Bruno Haible  <bruno@clisp.org>
112380         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
112381         'rpl_rename'.
112382         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
112383         'rpl_strnlen'.
112384         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
112385         'rpl_strtod'.
112386         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
112387         'rpl_utime'.
112389 2003-01-31  Bruno Haible  <bruno@clisp.org>
112391         * lib/rename.c: #undef rename before defining rpl_rename.
112392         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
112394 2003-01-30  Bruno Haible  <bruno@clisp.org>
112396         * modules/vasnprintf, modules/vasprintf: New modules.
112397         * MODULES.html.sh (func_all_modules): Add them.
112399 2003-01-30  Bruno Haible  <bruno@clisp.org>
112401         * m4/signed.m4: New file, from GNU gettext.
112402         * m4/longdouble.m4: New file, from GNU gettext.
112403         * m4/wchar_t.m4: New file, from GNU gettext.
112404         * m4/wint_t.m4: New file, from GNU gettext.
112405         * m4/vasnprintf.m4: New file.
112406         * m4/vasprintf.m4: New file.
112408 2003-01-30  Bruno Haible  <bruno@clisp.org>
112410         * lib/printf-args.h: New file, from GNU gettext.
112411         * lib/printf-args.c: New file, from GNU gettext.
112412         * lib/printf-parse.h: New file, from GNU gettext.
112413         * lib/printf-parse.c: New file, from GNU gettext.
112414         * lib/vasnprintf.h: New file, from GNU gettext.
112415         * lib/vasnprintf.c: New file, from GNU gettext.
112416         * lib/asnprintf.c: New file, from GNU gettext.
112417         * lib/vasprintf.h: New file, from GNU gettext with modifications.
112418         * lib/vasprintf.c: New file, from GNU gettext.
112419         * lib/asprintf.c: New file, from GNU gettext.
112421 2003-01-29  Bruno Haible  <bruno@clisp.org>
112423         * modules/stpncpy: New module.
112424         * MODULES.html.sh (func_all_modules): Add it.
112426 2003-01-29  Bruno Haible  <bruno@clisp.org>
112428         * m4/stpncpy.m4: New file.
112430 2003-01-29  Bruno Haible  <bruno@clisp.org>
112432         * lib/stpncpy.h: New file, from GNU gettext with modifications.
112433         * lib/stpncpy.c: New file, from GNU gettext with modifications.
112435 2003-01-28  Bruno Haible  <bruno@clisp.org>
112437         * modules/c-ctype: New module.
112438         * MODULES.html.sh (func_all_modules): Add it.
112440 2003-01-28  Bruno Haible  <bruno@clisp.org>
112442         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
112443         Paul Eggert.
112444         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
112445         Paul Eggert.
112447 2003-01-27  Bruno Haible  <bruno@clisp.org>
112449         * modules/xsetenv: New module.
112450         * MODULES.html.sh (func_all_modules): Add it.
112452 2003-01-27  Bruno Haible  <bruno@clisp.org>
112454         * lib/xsetenv.h: New file, from GNU gettext.
112455         * lib/xsetenv.c: New file, from GNU gettext.
112457 2003-01-23  Jim Meyering  <jim@meyering.net>
112459         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
112460         from working on systems without dirfd (at least Irix and OSF1/Tru64).
112462 2003-01-23  Bruno Haible  <bruno@clisp.org>
112464         * modules/minmax: New module.
112465         * MODULES.html.sh (func_all_modules): Add it.
112467 2003-01-23  Bruno Haible  <bruno@clisp.org>
112469         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
112470         Eggert.
112472 2003-01-22  Bruno Haible  <bruno@clisp.org>
112474         * modules/exit: New module.
112475         * MODULES.html.sh (func_all_modules): Add it.
112477 2003-01-22  Bruno Haible  <bruno@clisp.org>
112479         * lib/exit.h: New file, from GNU gettext.
112481 2003-01-19  Bruno Haible  <bruno@clisp.org>
112483         * gnulib-tool: Recognize option --extract-maintainer.
112484         (func_get_maintainer): New function.
112485         * modules/*: Add Maintainer entry.
112487 2003-01-16  Jim Meyering  <jim@meyering.net>
112489         * m4/regex.m4: The `regex' struct is both input and output.
112490         Initialize it before each use.  Patch by Tim Waugh.
112492 2003-01-16  Bruno Haible  <bruno@clisp.org>
112494         * MODULES.html.sh: Add a table of contents. Add the module name as
112495         leftmost column. Add hyperlinks.
112497 2003-01-15  Bruno Haible  <bruno@clisp.org>
112499         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
112501 2003-01-15  Bruno Haible  <bruno@clisp.org>
112503         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
112504         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
112505         suffix.
112507 2003-01-15  Bruno Haible  <bruno@clisp.org>
112509         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
112511 2003-01-15  Bruno Haible  <bruno@clisp.org>
112513         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
112514         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
112516 2003-01-14  Jim Meyering  <jim@meyering.net>
112518         * lib/same.c (same_name): Tweak a comment.
112520 2003-01-14  Bruno Haible  <bruno@clisp.org>
112522         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
112523         when a string comparison is sufficient.
112525 2003-01-14  Bruno Haible  <bruno@clisp.org>
112527         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
112528         'unsigned int'.
112530 2003-01-14  Bruno Haible  <bruno@clisp.org>
112532         * lib/hash-pjw.c: Add comment about low quality of this function.
112534 2003-01-13  Bruno Haible  <bruno@clisp.org>
112536         * modules/stpcpy: Distribute lib/stpcpy.h.
112537         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
112539 2003-01-13  Bruno Haible  <bruno@clisp.org>
112541         * modules/*: Add a description.
112542         * modules/strpbrk: Fix Makefile.am snippet.
112543         * modules/strtoimax: Fix dependencies.
112544         * modules/strtoumax: Likewise.
112546 2003-01-13  Bruno Haible  <bruno@clisp.org>
112548         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
112549         * modules/alloca (Makefile.am): All object files depend on alloca.h.
112550         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
112552 2003-01-13  Bruno Haible  <bruno@clisp.org>
112554         * gnulib-tool (func_create_testdir): Store config/* files in the main
112555         directory.
112556         * config.rpath: Move to ...
112557         * config/config.rpath: ... here.
112558         * modules/gettext: Contains config/config.rpath, not config.rpath.
112559         * modules/iconv: Likewise.
112561 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112563         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112564         to avoid collisions with libcurses and libreadline.
112566         * m4/getstr.m4: Remove.
112567         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
112569 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112571         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112572         to avoid collisions with libcurses and libreadline.
112574         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
112575         * lib/getstr.h, getstr.c: Remove.
112576         * lib/getline.c: Include "getline.h", to check interface.
112577         Move body of old getstr.c here: this defines MIN_CHUNK and
112578         declares getdelim2, which is renamed from getstr.
112579         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
112581         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
112582         All uses changed.
112583         * lib/linebuffer.h: Likewise.
112584         (readline): Remove backward-compatibility macro.
112586 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112588         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112589         to avoid collisions with libcurses and libreadline.
112590         * getstr: Remove.
112591         * MODULES.html.sh: Remove getstr.
112592         * modules/getline: Depend on unlocked-io, not getstr.
112594 2003-01-12  Jim Meyering  <jim@meyering.net>
112596         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
112598 2003-01-10  Bruno Haible  <bruno@clisp.org>
112600         * modules/alloca: Change Makefile.am requirements. Simplify Include
112601         requirements. Add lib/alloca_.h to file list.
112603 2003-01-10  Bruno Haible  <bruno@clisp.org>
112605         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
112607 2003-01-10  Bruno Haible  <bruno@clisp.org>
112609         * lib/alloca_.h: New file.
112610         * lib/getdate.y: Unconditionally include alloca.h.
112611         * lib/makepath.c: Likewise.
112612         * lib/setenv.c: Likewise.
112613         * lib/userspec.c: Likewise.
112615 2003-01-09  Karl Berry  <karl@gnu.org>
112617         * MODULES.html.sh: include `dirname $0` in PATH, to find
112618         gnulib-tool.
112620 2003-01-09  Bruno Haible  <bruno@clisp.org>
112622         * modules/stdbool: Change configure.ac, Makefile.am requirements.
112623         Simplify Include requirements. Add lib/stdbool.h.in to file list.
112625 2003-01-09  Bruno Haible  <bruno@clisp.org>
112627         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
112629 2003-01-09  Bruno Haible  <bruno@clisp.org>
112631         * lib/stdbool.h.in: New file.
112633 2003-01-09  Bruno Haible  <bruno@clisp.org>
112635         * gnulib-tool (func_all_modules): Ignore files ending in ~.
112636         * MODULES.html.sh: Likewise.
112638 2003-01-08  Jim Meyering  <jim@meyering.net>
112640         * lib/full-write.c: Undefine and define-away `const' after inclusion
112641         of errno.h, not before.  Suggestion from Bruno Haible.
112643 2003-01-08  Bruno Haible  <bruno@clisp.org>
112645         * modules/full-read: Depend on full-write.
112647 2003-01-08  Bruno Haible  <bruno@clisp.org>
112649         * lib/safe-read.c: Include specification header first, to ensure its
112650         selfcontainedness.
112651         * lib/full-write.c: Likewise.
112653 2003-01-07  Jim Meyering  <jim@meyering.net>
112655         * lib/full-write.c: Rework so that it may serve to define full_read,
112656         too.
112657         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
112659 2003-01-07  Bruno Haible  <bruno@clisp.org>
112661         * lib/strtoimax.c: Include <stdint.h> as an alternative to
112662         <inttypes.h>.
112663         * lib/xstrtol.h: Likewise.
112664         * lib/xstrtoimax.c: Likewise.
112665         * lib/xstrtoumax.c: Likewise.
112666         * lib/human.h: Likewise.
112668         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
112669         on systems that have <inttypes.h> but not <stdint.h>.
112671 2003-01-07  Bruno Haible  <bruno@clisp.org>
112673         * MODULES.html.sh: Add copyright notice.
112674         (missed_files): Omit CVS directory entries.
112675         (func_module): Make it work with sed-3.02.
112676         * MODULES.txt: Remove file.
112678 2003-01-06  Jim Meyering  <jim@meyering.net>
112680         * lib/version-etc.c: Update year in translatable copyright string.
112682 2003-01-03  Karl Berry  <karl@gnu.org>
112684         * config/config.{guess,sub}: update from prep.
112686 2003-01-02  Karl Berry  <karl@gnu.org>
112688         * doc/COPYING.DOC: belatedly updated to 1.2.
112690 2003-01-01  Karl Berry  <karl@gnu.org>
112692         * gnulib-tool (func_verify_module): report module name $module in
112693         error message, not $1.
112694         * gnulib-tool (create-testdir): don't complain if destdir couldn't
112695         be created, only if it doesn't exist.
112696         * gnulib-tool (last_checkin_date): don't expand the $Date here.
112698 2002-12-31  Paul Eggert  <eggert@twinsun.com>
112700         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
112702 2002-12-31  Paul Eggert  <eggert@twinsun.com>
112704         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
112705         memcmp if strcoll doesn't work.
112707 2002-12-31  Bruno Haible  <bruno@clisp.org>
112709         * lib/utime.c (utime_null): No need to call ftruncate if the file was
112710         nonempty.
112712 2002-12-31  Bruno Haible  <bruno@clisp.org>
112714         * lib/memcoll.c (STRCOLL): New macro.
112715         (memcoll): Use it.
112717 2002-12-31  Bruno Haible  <bruno@clisp.org>
112719         * lib/localcharset.h: New file.
112720         * lib/localcharset.c: Include it.
112721         * lib/unicodeio.c: Likewise.
112723 2002-12-31  Bruno Haible  <bruno@clisp.org>
112725         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
112726         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
112728 2002-12-31  Bruno Haible  <bruno@clisp.org>
112730         * lib/getline.h: Include <stddef.h>, for size_t.
112732         * lib/unicodeio.h: Include <stddef.h>, for size_t.
112733         * lib/unicodeio.c: Don't include <stddef.h>.
112735 2002-12-31  Bruno Haible  <bruno@clisp.org>
112737         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
112738         HAVE_TM_ZONE.
112740 2002-12-24  Karl Berry  <karl@gnu.org>
112742         * config/config.guess: update from prep.
112744 2002-12-24  Bruno Haible  <bruno@clisp.org>
112746         General infrasructure.
112747         * m4/README: Rewritten.
112748         * m4/onceonly.m4: New file.
112749         * m4/onceonly_2_57.m4: New file.
112751         Module atexit.
112752         * m4/atexit.m4: New file.
112754         Module strtod.
112755         * m4/strtod.m4: New file.
112757         Module strtol.
112758         * m4/strtol.m4: New file.
112760         Module strtoul.
112761         * m4/strtoul.m4: New file.
112763         Module memchr.
112764         * m4/memchr.m4: New file.
112766         Module memcmp.
112767         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
112768         (jm_FUNC_MEMCMP): Invoke it.
112770         Module memcpy.
112771         * m4/memcpy.m4: New file.
112773         Module memmove.
112774         * m4/memmove.m4: New file.
112776         Module memset.
112777         * m4/memset.m4: New file.
112779         Module strcspn.
112780         * m4/strcspn.m4: New file.
112782         Module strpbrk.
112783         * m4/strpbrk.m4: New file.
112785         Module strstr.
112786         * m4/strstr.m4: New file.
112788         Module strerror.
112789         * m4/strerror.m4: New file.
112791         Module mktime.
112792         * m4/mktime.m4: Renamed from jm-mktime.m4.
112793         (gl_PREREQ_MKTIME): New macro.
112794         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
112796         Module malloc.
112797         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
112798         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
112799         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
112801         Module realloc.
112802         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
112803         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
112804         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
112806         Module strftime.
112807         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
112808         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
112809         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
112810         gl_TM_GMTOFF.
112811         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
112813         Module xalloc.
112814         * m4/xalloc.m4: New file.
112816         Module alloca.
112817         * m4/alloca.m4: New file.
112819         Module putenv.
112820         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
112821         (jm_FUNC_PUTENV): Invoke it.
112823         Module setenv.
112824         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
112825         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
112826         when invoked twice.
112827         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
112828         gt_FUNC_SETENV.
112830         Module memrchr.
112831         * m4/memrchr.m4: New file.
112833         Module stpcpy.
112834         * m4/stpcpy.m4: New file.
112836         Module strcase.
112837         * m4/strcase.m4: New file.
112839         Module strdup.
112840         * m4/strdup.m4: New file.
112842         Module strnlen.
112843         * m4/strnlen.m4: New file.
112845         Module strndup.
112846         * m4/strndup.m4: New file.
112848         Module xstrtod.
112849         * m4/xstrtod.m4: New file.
112851         Module xstrtol.
112852         * m4/xstrtol.m4: New file.
112854         Module getdate.
112855         * m4/getdate.m4: New file.
112857         Module unlocked-io.
112858         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
112859         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
112860         * m4/jm-glibc-io.m4n: Remove file.
112862         Module long-options.
112863         * m4/long-options.m4: New file.
112865         Module md5.
112866         * m4/md5.m4: New file.
112868         Module sha.
112869         * m4/sha.m4: New file.
112871         Module getstr.
112872         * m4/getstr.m4: New file.
112874         Module getline.
112875         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
112876         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
112877         <sys/types.h>, for size_t. Use the function name gnu_getline, not
112878         simply getline. Infoke gl_PREREQ_GETLINE.
112880         Module obstack.
112881         * m4/obstack.m4: New file.
112883         Module hash.
112884         * m4/hash.m4: New file.
112886         Module readtokens.
112887         * m4/readtokens.m4: New file.
112889         Module strverscmp.
112890         * m4/strverscmp.m4: New file.
112892         Module stdbool.
112893         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
112894         OSF/1.
112896         Module strtoll.
112897         * m4/strtoll.m4: New file.
112899         Module strtoull.
112900         * m4/strtoull.m4: New file.
112902         Module strtoimax.
112903         * m4/strtoimax.m4: New file.
112905         Module strtoumax.
112906         * m4/strtoumax.m4: New file.
112908         Module xstrtoimax.
112909         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
112910         jm_AC_PREREQ_XSTRTOIMAX.
112911         Moved the strtol prerequisites to strtol.m4.
112912         Moved the strtoll prerequisites to strtoll.m4.
112913         Moved the strtoimax prerequisites to strtoimax.m4.
112915         Module xstrtoumax.
112916         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
112917         jm_AC_PREREQ_XSTRTOUMAX.
112918         Moved the strtoul prerequisites to strtoul.m4.
112919         Moved the strtoull prerequisites to strtoull.m4.
112920         Moved the strtoumax prerequisites to strtoumax.m4.
112922         Module chown.
112923         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
112924         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
112926         Module dup2.
112927         * m4/dup2.m4: New file.
112929         Module ftruncate.
112930         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
112931         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
112933         Module getgroups.
112934         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
112935         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
112937         Module gettimeofday.
112938         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
112939         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
112940         gl_PREREQ_GETTIMEOFDAY.
112942         Module mkdir.
112943         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
112944         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
112946         Module mkstemp.
112947         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
112948         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
112949         jm_AC_TYPE_UINTMAX_T.
112950         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
112952         Module stat.
112953         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
112954         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
112956         Module lstat.
112957         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
112958         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
112960         Module timespec.
112961         * m4/timespec.m4 (gl_TIMESPEC): New macro.
112962         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
112963         * m4/st_mtim.m4: Indentation.
112965         Module nanosleep.
112966         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
112967         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
112968         gl_PREREQ_NANOSLEEP.
112970         Module regex.
112971         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
112972         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
112973         (gl_REGEX): New macro.
112975         Module rename.
112976         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
112977         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
112979         Module rmdir.
112980         * m4/rmdir.m4: New file.
112982         Module utime.
112983         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
112984         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
112985         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
112987         Module dirname.
112988         * m4/dirname.m4: New file.
112990         Module getopt.
112991         * m4/getopt.m4: New file.
112993         Module unistd-safer.
112994         * m4/unistd-safer.m4: New file.
112996         Module fnmatch.
112997         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
112998         declaration.
112999         (gl_PREREQ_FNMATCH_EXTRA): New macro.
113000         (gl_FUNC_FNMATCH_POSIX): New macro.
113001         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
113002         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
113003         simply fnmatch.
113005         Module exclude.
113006         * m4/exclude.m4: New file.
113008         Module human.
113009         * m4/human.m4: New file.
113011         Module acl.
113012         * m4/acl.m4: Nop.
113014         Module backupfile.
113015         * m4/backupfile.m4: New file.
113016         * m4/d-ino.m4: Indentation.
113018         Module fsusage.
113019         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
113020         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
113021         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
113023         Module dirfd.
113024         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
113025         requirements.
113027         Module euidaccess.
113028         * m4/euidaccess.m4: New file.
113030         Module file-type.
113031         * m4/file-type.m4: New file.
113033         Module fileblocks.
113034         * m4/fileblocks.m4: New file.
113036         Module filemode.
113037         * m4/filemode.m4: New file.
113039         Module isdir.
113040         * m4/isdir.m4: New file.
113042         Module lchown.
113043         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
113044         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
113046         Module makepath.
113047         * m4/makepath.m4: New file.
113049         Module modechange.
113050         * m4/modechange.m4: New file.
113052         Module mountlist.
113053         * m4/mountlist.m4: New file.
113054         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
113055         Indentation.
113057         Module path-concat.
113058         * m4/path-concat.m4: New file.
113060         Module pathmax.
113061         * m4/pathmax.m4: New file.
113063         Module same.
113064         * m4/same.m4: New file.
113066         Module save-cwd.
113067         * m4/save-cwd.m4: New file.
113069         Module savedir.
113070         * m4/savedir.m4: New file.
113072         Module xgetcwd.
113073         * m4/xgetcwd.m4: New file.
113074         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
113076         Module xreadlink.
113077         * m4/xreadlink.m4: New file.
113079         Module safe-read.
113080         * m4/safe-read.m4: New file.
113082         Module safe-write.
113083         * m4/safe-write.m4: New file.
113085         Module closeout.
113086         * m4/closeout.m4: New file.
113088         Module stdio-safer.
113089         * m4/stdio-safer.m4: New file.
113091         Module getpass.
113092         * m4/getpass.m4: New file.
113094         Module getugroups.
113095         * m4/getugroups.m4: New file.
113097         Module group-member.
113098         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
113099         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
113101         Module idcache.
113102         * m4/idcache.m4: New file.
113104         Module userspec.
113105         * m4/userspec.m4: New file.
113107         Module gettime.
113108         * m4/clock_time.m4: New file.
113109         * m4/gettime.m4: New file.
113111         Module settime.
113112         * m4/settime.m4: New file.
113114         Module posixtm.
113115         * m4/posixtm.m4: New file.
113117         Module gethostname.
113118         * m4/gethostname.m4: New file.
113120         Module canon-host.
113121         * m4/canon-host.m4: New file.
113123         Module gettext.
113124         * m4/codeset.m4: New file, from gettext-0.11.5.
113125         * m4/gettext.m4: New file, from gettext-0.11.5.
113126         * m4/glibc21.m4: New file, from gettext-0.11.5.
113127         * m4/iconv.m4: New file, from gettext-0.11.5.
113128         * m4/intdiv0.m4: New file, from gettext-0.11.5.
113129         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
113130         * m4/inttypes.m4: New file, from gettext-0.11.5.
113131         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
113132         * m4/isc-posix.m4: New file, from gettext-0.11.5.
113133         * m4/lcmessage.m4: New file, from gettext-0.11.5.
113134         * m4/lib-ld.m4: New file, from gettext-0.11.5.
113135         * m4/lib-link.m4: New file, from gettext-0.11.5.
113136         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
113137         * m4/progtest.m4: New file, from gettext-0.11.5.
113138         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
113139         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
113140         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
113142         Module localcharset.
113143         * m4/localcharset.m4: New file.
113145         Module hard-locale.
113146         * m4/hard-locale.m4: New file.
113148         Module mbswidth.
113149         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
113150         onceonly macros.
113151         * m4/mbrtowc.m4: Add comment.
113153         Module memcasecmp.
113154         * m4/memcasecmp.m4: New file.
113156         Module memcoll.
113157         * m4/memcoll.m4: New file.
113159         Module unicodeio.
113160         * m4/unicodeio.m4: New file.
113162         Module rpmatch.
113163         * m4/rpmatch.m4: New file.
113165         Module yesno.
113166         * m4/yesno.m4: New file.
113168         Module exitfail.
113169         * m4/exitfail.m4: New file.
113171         Module c-stack.
113172         * m4/c-stack.m4 (gl_C_STACK): New macro.
113173         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
113175         Module error.
113176         * m4/error.m4 (gl_ERROR): New macro.
113177         (jm_PREREQ_ERROR): Use onceonly macros.
113179         Module fatal.
113180         * m4/fatal.m4: New file.
113182         Module getloadavg.
113183         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
113184         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
113186         Module getpagesize.
113187         * m4/getpagesize.m4: New file.
113189         Module getusershell.
113190         * m4/getusershell.m4: New file.
113192         Module physmem.
113193         * m4/physmem.m4: New file.
113195         Module posixver.
113196         * m4/posixver.m4: New file.
113198         Module quotearg.
113199         * m4/quotearg.m4: New file.
113201         Module quote.
113202         * m4/quote.m4: New file.
113204         Module readutmp.
113205         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
113207         Module sig2str.
113208         * m4/sig2str.m4: New file.
113210         Other.
113211         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
113212         ulonglong.m4.
113213         * m4/intmax_t.m4: New file.
113214         * m4/d-type.m4: Indentation.
113215         * m4/jm-macros.m4: Update.
113216         * m4/prereq.m4 (jm_PREREQ): Update.
113217         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
113218         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
113219         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
113220         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
113221         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
113222         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
113223         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
113224         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
113225         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
113226         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
113227         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
113228         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
113229         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
113230         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
113231         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
113232         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
113233         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
113234         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
113235         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
113237 2002-12-24  Bruno Haible  <bruno@clisp.org>
113239         * MODULES.txt: Update according to m4/ changes.
113241         Module gettext.
113242         * config.rpath: New file, from gettext-0.11.5.
113244         * modules/*: New module descriptions.
113245         * gnulib-tool: New file.
113246         * MODULES.html.sh: New file.
113248 2002-12-21  Karl Berry  <karl@gnu.org>
113250         * doc/fdl.texi: update to version 1.2.
113252 2002-12-19  Karl Berry  <karl@gnu.org>
113254         * config/config.guess: update from prep.
113256 2002-12-18  Bruno Haible  <bruno@clisp.org>
113258         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
113259         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
113261 2002-12-17  Bruno Haible  <bruno@clisp.org>
113263         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
113264         stdlib.h, string.h.
113266 2002-12-17  Bruno Haible  <bruno@clisp.org>
113268         * lib/canon-host.c (strdup): Remove unused declaration.
113270         * lib/fsusage.c: Include full_read.h.
113271         (get_fs_usage): Use full_read instead of safe_read.
113273         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
113275 2002-12-12  Karl Berry  <karl@gnu.org>
113277         * config/config.guess: update from prep.
113279 2002-12-11  Bruno Haible  <bruno@clisp.org>
113281         * m4/setenv.m4: New file, from gettext-0.11.5.
113283 2002-12-11  Bruno Haible  <bruno@clisp.org>
113285         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
113286         not unsetenv().
113287         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
113288         modifications:
113290         2002-12-11  Bruno Haible  <bruno@clisp.org>
113292                 * setenv.c (alloca): Fall back to malloc.
113293                 (freea): New macro.
113294                 (setenv): Use freea() to free memory allocated with alloca().
113296         2002-11-13  Bruno Haible  <bruno@clisp.org>
113298                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
113299                 function declarations.
113300                 * unsetenv.c (unsetenv): Likewise.
113302         2002-03-04  Bruno Haible  <bruno@clisp.org>
113304                 Portability to AIX 4.3.3.
113305                 * unsetenv.c: New file, extracted from setenv.c.
113306                 * setenv.c: Move the unsetenv() function to unsetenv.c.
113308         2001-12-20  Bruno Haible  <bruno@clisp.org>
113310                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
113311                 use malloc instead. For SunOS 4.
113313         2001-12-11  Bruno Haible  <bruno@clisp.org>
113315                 * setenv.c: Declare alloca.
113316                 (compar_fn_t): New typedef.
113317                 (KNOWN_VALUE, STORE_VALUE): Use it.
113319         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
113320         setenv.h.
113322 2002-12-10  Paul Eggert  <eggert@twinsun.com>
113324         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
113325         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
113326         Choose values that are less likely to collide with system fnmatch
113327         options.
113328         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
113329         defined (e.g., a pure POSIX system).
113330         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
113331         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
113333 2002-12-06  Paul Eggert  <eggert@twinsun.com>
113335         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
113336         a pain in practice to deal with generated m4 files.  This change
113337         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
113339         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
113340         and jm-glibc-io.m4, as they are no longer a special case.
113341         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
113342         kludge and the auto-generation stuff.  Check only whether the
113343         functions are declared, not whether they exist, since older hosts
113344         that don't declare the functions can't use the optimization anyway.
113346 2002-12-06  Jim Meyering  <jim@meyering.net>
113348         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
113350         Merge in changes from libc's misc/error.c, in preparation
113351         for the merge of gnulib's changes back into libc.
113353         * lib/error.c (_): Define only if not already defined.
113354         Move definition to follow all #include directives.
113355         Include unlocked-io.h only if !_LIBC.
113356         [_LIBC]: Include <libio/libioP.h>.
113357         [USE_IN_LIBIO]: Include <libio/iolibio.h>
113358         (fflush): Tweak definition to use INTUSE.
113359         (putc): Define.
113361 2002-12-05  Paul Eggert  <eggert@twinsun.com>
113363         * lib/alloca.c [defined emacs]: Include "lisp.h".
113364         (xalloc_die) [defined emacs]: New macro.
113365         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
113366         [! defined emacs]: Include <xalloc.h>.
113367         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
113368         (pointer): Typedef to POINTER_TYPE *.
113369         (malloc): Remove decl; we now always use xmalloc.
113370         (alloca): Use old-style definition, since Emacs needs this.
113371         Check for arithmetic overflow when computing combined size.
113373 2002-12-04  Paul Eggert  <eggert@twinsun.com>
113375         Do not generate unlocked-io.h automatically, since it's easier to
113376         maintain it by hand.
113378         * lib/unlocked-io.h: New file, from GNU diffutils,
113379         but with proper copyright notice and attribution.
113380         * lib/gen-uio: Remove.
113381         * lib/Makefile.am: Add copyright notice.
113382         (libfetish_a_SOURCES): Add unlocked-io.h.
113383         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
113384         (DISTCLEANFILES, io_functions): Remove macros.
113385         (EXTRA_DIST): Remove gen_uio.
113386         (unlocked-io.h): Remove rule.
113388 2002-12-04  Jim Meyering  <jim@meyering.net>
113390         Reflect the fact that stat.c and lstat.c are no longer generated.
113391         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
113392         (DISTCLEANFILES): Likewise.
113393         (EXTRA_DIST): Likewise.
113394         (all_local): Don't depend on stat.c or lstat.c.
113395         (stat.c, lstat.c): Remove rules.
113396         (EXTRA_DIST): Remove xstat.in.
113398         * lib/xstat.in: Remove file.  Contents moved into stat.c.
113399         * lib/stat.c: New file.  Contents mostly from xstat.in.
113400         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
113401         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
113403         * lib/safe-read.c: Rework so that it may serve to define safe_write,
113404         too.
113405         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
113407 2002-12-03  Jim Meyering  <jim@meyering.net>
113409         * lib/safe-read.c, safe-write.c: Change variable names and comments,
113410         but not semantics, to minimize the differences between these two files.
113411         (safe_read): Change comment to mention SAFE_READ_ERROR.
113413         * lib/safe-read.c (IS_EINTR): Define.
113414         (safe_read): Use IS_EINTR in place of in-function cpp directives.
113416 2002-12-02  Jim Meyering  <jim@meyering.net>
113418         * lib/safe-read.c (EINTR): Define.
113419         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
113420         (INT_MAX): Provide fallback.
113421         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
113423         * lib/safe-read.h (SAFE_READ_ERROR): Define.
113425 2002-12-02  Bruno Haible  <bruno@clisp.org>
113427         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
113428         Define, taken from safe-read.c.
113429         (INT_MAX): Provide fallback.
113430         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
113431         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
113433         * lib/safe-read.c (EINTR): Remove definition.
113434         (safe_read): Don't use EINTR if it is absent.
113436 2002-12-01  Jim Meyering  <jim@meyering.net>
113438         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
113439         zero.
113440         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
113442 2002-11-27  Paul Eggert  <eggert@twinsun.com>
113444         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
113445         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
113446         with `if (! (value < limit)) abort ();', for readability.
113448 2002-11-26  Karl Berry  <karl@gnu.org>
113450         * lib/strdup.c: copy from libc again, with jim's ok.
113451         * lib/.cppi-disable: re-add strdup.c
113453 2002-11-25  Karl Berry  <karl@gnu.org>
113455         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
113456         instead of "strtol.c".
113458 2002-11-25  Karl Berry  <karl@gnu.org>
113460         * config/install-sh: update from automake for variable quoting, $0 in
113461         error msgs, etc.
113463         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
113464         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
113465         entry.
113467 2002-11-25  Jim Meyering  <jim@meyering.net>
113469         * lib/mktime.c: Sync from libc, now that it has the latest fix.
113471 2002-11-24  Karl Berry  <karl@gnu.org>
113473         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
113474         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
113476 2002-11-24  Jim Meyering  <jim@meyering.net>
113478         Update from coreutils:
113480         * lib/mktime.c: Merge in changes from libc.
113482         Avoid a link-time failure on some Linux systems.
113483         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
113484         (otherwise).
113485         (__mon_yday): Declare with the STATIC attribute.
113486         (__mktime_internal): Likewise.
113487         Based on a report from Greg Schafer.
113489 2002-11-23  Jim Meyering  <jim@meyering.net>
113491         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
113492         Use `unsigned', not `int', as type of index.
113494         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
113496         * lib/fsusage.c: Remove unneeded parentheses around operands of
113497         `defined'.
113499 2002-11-22  Paul Eggert  <eggert@twinsun.com>
113501         * lib/quotearg.h: Allow multiple inclusion by surrounding with
113502         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
113503         so that we can be included first.
113504         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
113505         * lib/quotearg.c: Include quotearg.h immediately after config.h.
113506         No need to include stddef.h or sys/types.h any more.
113507         Surround local include files with "", not "<>".
113508         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
113509         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
113510         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
113511         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
113512         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
113513         (ISPRINT): Remove; no longer needed now that we assume C89.
113515         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
113516         Preserve errno.
113518         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
113519         quotearg_char): Use SIZE_MAX rather than
113520         (size_t) -1 when we are talking about "infinity".
113522         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
113524 2002-11-22  Paul Eggert  <eggert@twinsun.com>
113526         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
113527         hint that one should use `if (! x) abort ();' rather than `assert
113528         (x);', and anyway it's one less thing to worry about configuring.
113529         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
113530         hash_rehash, hash_insert): Use abort rather than assert.
113532 2002-11-22  Bruno Haible  <bruno@clisp.org>
113534         * lib/safe-read.h: Assume C89. Add comments.
113535         (safe_read): Change return type to size_t.
113536         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
113537         byte counts > SSIZE_MAX correctly.
113538         * lib/safe-write.h: New file.
113539         * lib/safe-write.c: New file.
113540         * lib/full-read.h: New file.
113541         * lib/full-read.c: New file.
113542         * lib/full-write.h: Assume C89. Add comments.
113543         * lib/full-write.c: Include safe-write.h.
113544         (full_write): Rewritten to use safe_write.
113545         Suggested by Jim Meyering and Paul Eggert.
113547 2002-11-21  Jim Meyering  <jim@meyering.net>
113549         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
113551         Merge in changes from the coreutils.
113553         2002-09-25  Paul Eggert  <eggert@twinsun.com>
113554         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
113555         <stdint.h>.
113556         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
113557         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
113558         int.  Work more efficiently if X is the same width as uintmax_t.
113559         Do not compare X to -1, to avoid bogus compiler warning.
113560         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
113561         Don't assume that f_frsize and f_bsize are the same type.
113563         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
113564         warning on FreeBSD.
113566         * lib/makepath.c (make_path): Restore umask *before* creating the final
113567         component.
113568         (make_path): Minor reformatting.
113570         * lib/xmalloc.c: Adjust to work with new autoconf macros,
113571         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
113572         HAVE_MALLOC/HAVE_REALLOC.
113574         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
113575         dummy ones.  At least on GNU/Linux systems, `auto' means something
113576         else.
113577         From Michael Stone.
113579 2002-11-21  Bruno Haible  <bruno@clisp.org>
113581         Remove case insensitive option matching.
113582         * lib/argmatch.h (argcasematch): Remove declaration.
113583         (ARGCASEMATCH): Remove macro.
113584         (__xargmatch_internal): Remove case_sensitive argument.
113585         (XARGMATCH): Update.
113586         (XARGCASEMATCH): Remove macro.
113587         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
113588         case_sensitive argument.
113589         (argcasematch): Remove function.
113590         (__xargmatch_internal): Remove case_sensitive argument.
113591         (main): Use XARGMATCH instead of XARGCASEMATCH.
113593         * lib/xmalloc.c: Change compile-time error message. Add comment about
113594         required autoconf version.
113596 2002-11-20  Paul Eggert  <eggert@twinsun.com>
113598         Merge argmatch cleanups from Bison.  Assume C89.
113600         * lib/argmatch.c: Include config.h here, not in argmatch.h.
113601         Include stdlib.h, for EXIT_FAILURE.
113602         Always include <string.h>, since we assume C89.
113603         (EXIT_FAILURE): Remove pre-C89 bug workaround.
113604         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
113605         Include <stddef.h> instead, since it's all we need for size_t.
113606         (PARAMS): Remove.  All uses removed.
113607         (ARRAY_CARDINALITY): Do not bother to #undef.
113608         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
113609         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
113610         Remove unnecessary parentheses.
113611         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
113612         Insert necessary parentheses.
113613         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
113614         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
113616 2002-11-19  Bruno Haible  <bruno@clisp.org>
113618         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
113619         * lib/mbswidth.h: Include <stddef.h>, for size_t.
113621         * lib/mbswidth.h (PARAMS): Remove macro.
113622         (mbswidth, mbsnwidth): Use ANSI C function declarations.
113623         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
113625         * lib/gcd.h (PARAMS): Remove macro.
113626         (gcd): Use ANSI C function declarations.
113627         * lib/gcd.c (gcd): Likewise.
113629 2002-11-15  Bruno Haible  <bruno@clisp.org>
113631         * lib/strcspn.c: Include <stddef.h>.
113632         (strcspn): Use ANSI C function declaration. Change return type to
113633         size_t. Use NULL.
113634         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
113635         (strpbrk): Use NULL.
113636         * lib/strpbrk.h (PARAMS): Remove macro.
113637         (strpbrk): Use ANSI C function declaration.
113638         * lib/strstr.c: Don't include <sys/types.h>.
113639         * lib/strstr.h (PARAMS): Remove macro.
113640         (strstr): Use ANSI C function declarations.
113642 2002-11-14  Karl Berry  <karl@gnu.org>
113644         * config/mkinstalldirs: `do' on separate line, instead of
113645         `for var; do'.
113647 2002-11-06  Bruno Haible  <bruno@clisp.org>
113649         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
113650         * lib/gcd.c (gcd): Likewise.
113652 2002-11-05  Bruno Haible  <bruno@clisp.org>
113654         * lib/gcd.h: New file, from gettext-0.11.5.
113655         * lib/gcd.c: New file, from gettext-0.11.5.
113657 2002-11-05  Bruno Haible  <bruno@clisp.org>
113659         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113660         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113661         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113662         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113664         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
113665         <libintl.h>.
113666         * lib/makepath.c: Include gettext.h instead of <locale.h> and
113667         <libintl.h>.
113669         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
113670         * lib/human.c: Include gettext.h instead of <libintl.h>.
113671         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
113672         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
113673         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
113674         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
113675         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
113676         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
113677         (textdomain): Remove definition.
113678         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
113680         * lib/long-options.c: Remove include of <libintl.h> and definition of
113681         _.
113682         * lib/same.c: Remove include of <libintl.h> and definition of _.
113684 2002-11-04  Owen Taylor  <otaylor@redhat.com>
113686         * lib/config.charset: A few additions for Solaris.
113688 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
113690         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
113691         * lib/localcharset.c (locale_charset): Declare as extern "C".
113693 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
113695         * lib/config.charset: msdos in uk_UA uses CP1125.
113697 2002-11-04  Bruno Haible  <bruno@clisp.org>
113699         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
113700         * lib/strcase.h: New file, from GNU gettext-0.11.5.
113701         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
113702         * lib/strstr.h: New file, from GNU gettext-0.11.5.
113703         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
113705 2002-11-04  Bruno Haible  <bruno@clisp.org>
113707         * lib/localcharset.c (locale_charset): Don't return an empty string.
113709 2002-11-04  Bruno Haible  <bruno@clisp.org>
113711         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
113712         aliases.
113714 2002-11-04  Bruno Haible  <bruno@clisp.org>
113716         * lib/config.charset: Update for newest glibc. Add canonical names
113717         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
113719 2002-11-04  Bruno Haible  <bruno@clisp.org>
113721         * lib/config.charset: Add support for NetBSD.
113723 2002-11-04  Bruno Haible  <bruno@clisp.org>
113725         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
113727 2002-11-01  Bruno Haible  <bruno@clisp.org>
113729         * configure.in: Add AC_CONFIG_AUX_DIR call.
113730         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
113731         test/Makefile.
113732         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
113734 2002-09-28  Karl Berry  <karl@gnu.org>
113736         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
113737         installed automake until the next release, since changes have been
113738         made.
113740 2002-09-25  Karl Berry  <karl@gnu.org>
113742         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
113743         * lib/getopt*: copy from libc/posix.
113744         * lib/gettext.h: copy from gettext.
113745         * lib/.cppi-disable: add strdup.c, gettext.h.
113747 2002-09-25  Karl Berry  <karl@gnu.org>
113749         * config/srclist.txt: enable gettext.h check.
113750         * config/config.{guess,sub}: update from prep.
113751         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
113752                 from automake 1.6.3.
113753         See srclist*.
113755 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
113757         * regex.c (PATFETCH): Remove the translating fetch.
113758         (PATFETCH_RAW): Rename to PATFETCH.
113759         (set_image_of_range): New fun.
113760         (SET_RANGE_TABLE_WORK_AREA): Use it.
113761         (regex_compile): Don't translate the pattern chars so eagerly.
113762         Only do it when inserting an `exactn' bytecode or when handling
113763         a char-range.
113764         (mutually_exclusive_p): Avoid empty statement.
113766 2002-07-06  Jim Meyering  <meyering@lucent.com>
113768         * m4/README: Don't mention Makefile.am.in.
113769         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
113771 2002-07-01  Jim Meyering  <meyering@lucent.com>
113773         * lib/c-stack.c: Include sys/time.h.
113774         From Volker Borchert.
113776 2002-06-26  Paul Eggert  <eggert@twinsun.com>
113778         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
113780 2002-06-26  Paul Eggert  <eggert@twinsun.com>
113782         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
113783         New macro.  Use it uniformly instead of
113784         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
113785         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
113786         reported by Vin Shelton.
113788 2002-06-22  Paul Eggert  <eggert@twinsun.com>
113790         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
113791         Do not assume SA_SIGINFO behavior.
113792         Bug reported by Jim Meyering on NetBSD 1.5.2.
113794 2002-06-22  Jim Meyering  <meyering@lucent.com>
113796         * m4/c-stack.m4: New file, from diffutils-2.8.2.
113797         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
113799         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
113800         now that configure.ac uses AC_GNU_SOURCE.
113801         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
113802         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
113804         Update to latest tools.  Suggestions from Paul Eggert.
113805         * m4/stdbool.m4: New file, from diffutils-2.8.2.
113806         * m4/gnu-source.m4: Update from diffutils-2.8.2.
113807         * m4/fnmatch.m4: Likewise.
113808         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
113809         to AC_HEADER_STDBOOL
113811 2002-06-22  Jim Meyering  <meyering@lucent.com>
113813         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
113814         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
113816 2002-06-22  Jim Meyering  <meyering@lucent.com>
113818         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
113820         * lib/exitfail.c, exitfail.h: Likewise.
113821         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
113823         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
113824         of fnmatch.h.
113825         (EXTRA_DIST): Add fnmatch_loop.c.
113826         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
113828         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
113829         * lib/fnmatch.c: Update from diffutils-2.8.2.
113830         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
113831         * lib/fnmatch.h: Remove file.
113833 2002-06-21  Jim Meyering  <meyering@lucent.com>
113835         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
113836         * m4/mbrtowc.m4: Likewise.
113838         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
113839         * m4/mbswidth.m4: Reflect name change:
113840         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
113841         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
113843         * m4/lib-link.m4: Update from gettext-0.11.2.
113844         * m4/gettext.m4: Likewise.
113846         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
113847         From Alfred M. Szmidt.
113849 2002-06-18  Paul Eggert  <eggert@twinsun.com>
113851         * lib/file-type.h: Report an error if neither S_ISREG nor
113852         S_IFREG is defined, instead of using a test specific to glibc
113853         2.2.  This should be safe, since POSIX requires S_ISREG and
113854         Unix Version 7 had S_IFREG.  We don't need to check for
113855         <sys/types.h> since we don't use any symbols that it defines.
113857 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
113859         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
113860         $@-t, so that each temporary file name is unique and valid in the first
113861         8 characters, for operation under DOS.
113863 2002-06-15  Paul Eggert  <eggert@twinsun.com>
113865         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
113867 2002-06-15  Jim Meyering  <meyering@lucent.com>
113869         Work even with DJGPP 2.03, which lacks support for symlinks.
113870         From Richard Dawe.
113871         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
113872         is defined.
113873         * lib/lchown.c (S_ISLNK): Likewise.
113875 2002-06-15  Jim Meyering  <meyering@lucent.com>
113877         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
113878         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
113879         have been included before this file.
113881 2002-06-14  Jim Meyering  <meyering@lucent.com>
113883         * lib/file-type.h: Use the version from diffutils-2.8.2.
113884         * lib/file-type.c: Likewise.
113886 2002-06-07  Jim Meyering  <meyering@lucent.com>
113888         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
113889         They're needed at least for NetBSD 1.5.2.
113890         ($statxfs_includes): Include those same headers.
113891         ($statxfs_includes): Include sys/vfs.h if available.
113892         ($statxfs_includes): Likewise for sys/statvfs.h.
113893         Check for the following members in both structs statfs and statvfs:
113894         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
113896 2002-06-01  Jim Meyering  <meyering@lucent.com>
113898         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
113899         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
113901 2002-05-28  Jim Meyering  <meyering@lucent.com>
113903         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
113904         Reported by Volker Borchert.
113906 2002-05-27  Jim Meyering  <meyering@lucent.com>
113908         Fix a problem seen only on nonconforming systems whereby ls.c's
113909         use of localtime, and then of gettimeofday would cause trouble:
113910         the localtime call used to initialize rpl_gettimeofday's save
113911         mechanism would clobber ls's current local time information so
113912         that in any long listing the first file would always be listed
113913         with date 1970-01-01.  Analysis by Volker Borchert.
113915         * lib/gettimeofday.c (localtime): Undefine.
113916         (rpl_localtime): New function.
113918 2002-05-27  Jim Meyering  <meyering@lucent.com>
113920         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
113921         localtime.
113923         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
113924         use the replacement function; it wouldn't resolve at link time.
113925         Reported by Volker Borchert.
113927 2002-05-22  Jim Meyering  <meyering@lucent.com>
113929         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
113930         file-type.h.
113931         * lib/file-type.h: New file.
113932         * lib/file-type.c (file_type): New file/function.  Extracted from
113933         diffutils.
113935 2002-04-30  Jim Meyering  <meyering@lucent.com>
113937         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
113939 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113941         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
113943 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113945         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
113946         Do not check for alloca.h (no longer used) or stdbool.h (was never
113947         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
113949 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113951         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
113953 2002-04-29  Jim Meyering  <meyering@lucent.com>
113955         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
113956         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
113957         Use AC_FUNC_STRNLEN here instead.
113959         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
113960         With autoconf-2.53a, it's part of AC_PROG_CC.
113962 2002-04-28  Paul Eggert  <eggert@twinsun.com>
113964         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
113965         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
113967 2002-04-28  Paul Eggert  <eggert@twinsun.com>
113969         * lib/sig2str.h, lib/sig2str.c: New files.
113970         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
113972 2002-04-28  Paul Eggert  <eggert@twinsun.com>
113974         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
113975         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
113976         of 127, since 64 is the largest conceivable number for ancient
113977         nonstandard hosts.
113978         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
113980 2002-04-28  Jim Meyering  <meyering@lucent.com>
113982         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
113984 2002-04-24  Jim Meyering  <meyering@lucent.com>
113986         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
113987         (jm_PREREQ): Use it.
113989         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
113990         mach/mach.h fcntl.h.
113991         Check for this function: setlocale.
113993 2002-04-24  Jim Meyering  <meyering@lucent.com>
113995         * lib/gettext.h: New file, from Gettext.
113996         * lib/Makefile.am (INCLUDES): Remove -I../intl.
113997         (libfetish_a_SOURCES): Add gettext.h.
113999 2002-04-16  Jim Meyering  <meyering@lucent.com>
114001         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
114002         ut_pid, ut_id, ut_exit.
114004 2002-04-16  Jim Meyering  <meyering@lucent.com>
114006         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
114007         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
114008         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
114010 2002-04-12  Jim Meyering  <meyering@lucent.com>
114012         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
114013         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
114014         existence of the getmntinfo function.  Needed for Darwin 5.3.
114016         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
114017         This is necessary at least on Darwin 5.3.
114019         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
114020         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
114021         strnlen.o in the library, and that makes some versions of ranlib
114022         object.
114024 2002-04-12  Jim Meyering  <meyering@lucent.com>
114026         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
114028 2002-04-09  Jim Meyering  <meyering@lucent.com>
114030         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
114031         to be more precise.  Rather than saying we're checking whether the
114032         function `works', say what we're testing.
114033         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
114034         Reported by Bruno Haible.
114036 2002-03-10  Jim Meyering  <meyering@lucent.com>
114038         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
114039         Suggestion from Santiago Vila.
114041 2002-03-08  Jim Meyering  <meyering@lucent.com>
114043         * lib/rename.c: Mention that this wrapper is needed also on
114044         mips-dec-ultrix4.4 systems.
114046 2002-03-02  Jim Meyering  <meyering@lucent.com>
114048         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
114049         not HAVE_CLOCK_SETTIME.
114051 2002-02-27  Paul Eggert  <eggert@twinsun.com>
114053         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
114054         Check for clock_settime.
114056 2002-02-27  Paul Eggert  <eggert@twinsun.com>
114058         * lib/nanosleep.h: Rename to....
114059         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
114061         * lib/gettime.c: New file.
114062         * lib/settime.c: New file.
114063         * lib/stime.c: Remove.
114065         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
114066         timespec.h.  Remove nanosleep.h.
114068 2002-02-25  Paul Eggert  <eggert@twinsun.com>
114070         * m4/acl.m4: New file.
114071         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
114072         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
114074 2002-02-25  Paul Eggert  <eggert@twinsun.com>
114076         * lib/acl.c, lib/acl.h: New files.
114077         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
114079 2002-02-24  Jim Meyering  <meyering@lucent.com>
114081         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
114082         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
114083         cause trouble.  Reported by Nelson Beebe.
114085 2002-02-23  Paul Eggert  <eggert@twinsun.com>
114087         * lib/path-concat.c (xpath_concat): Reorder code to pacify
114088         compilers that don't know that xalloc_die never returns.
114090 2002-02-20  Jim Meyering  <meyering@lucent.com>
114092         * lib/getdate.c: Regenerate using bison-1.33.
114094 2002-02-17  Jim Meyering  <meyering@lucent.com>
114096         * config/config.guess (main): Don't use `head -1'; it's no longer
114097         portable. Use `sed 1q' instead.
114099 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
114101         * m4/codeset.m4: Upgrade to gettext-0.11.
114102         * m4/gettext.m4: Upgrade to gettext-0.11.
114103         * m4/glibc21.m4: Upgrade to gettext-0.11.
114104         * m4/iconv.m4: Upgrade to gettext-0.11.
114105         * m4/isc-posix.m4: Upgrade to gettext-0.11.
114106         * m4/lcmessage.m4: Upgrade to gettext-0.11.
114107         * m4/lib-ld.m4: New file, from gettext-0.11.
114108         * m4/lib-link.m4: New file, from gettext-0.11.
114109         * m4/lib-prefix.m4: New file, from gettext-0.11.
114110         * m4/progtest.m4: Upgrade to gettext-0.11.
114112 2002-02-15  Paul Eggert  <eggert@twinsun.com>
114114         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
114115         (jm_PREREQ): Use it.
114117 2002-02-15  Paul Eggert  <eggert@twinsun.com>
114119         * lib/posixver.c, lib/posixver.h: New files.
114120         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
114122 2002-02-02  Paul Eggert  <eggert@twinsun.com>
114123             Bruno Haible  <bruno@clisp.org>
114125         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
114126         (fwrite_success_callback): New declaration.
114127         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
114128         print_unicode_char. Call failure callback instead of error.
114129         (fwrite_success_callback): New function.
114130         (exit_failure_callback): New function.
114131         (fallback_failure_callback): New function.
114132         (print_unicode_char): Call unicode_to_mb.
114134 2002-01-26  Jim Meyering  <meyering@lucent.com>
114136         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
114137         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
114139 2002-01-26  Jim Meyering  <meyering@lucent.com>
114141         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
114143 2002-01-22  Paul Eggert  <eggert@twinsun.com>
114145         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
114147 2002-01-22  Jim Meyering  <meyering@lucent.com>
114149         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
114150         Otherwise, some versions of automake would omit the rule that makes
114151         Makefile from Makefile.in.
114153 2002-01-21  Paul Eggert  <eggert@twinsun.com>
114155         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
114156         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
114157         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
114158         (memcoll): Set errno to zero if there is no error.
114160         * lib/quotearg.c (quotearg_buffer_restyled):
114161         Fix bug with quoting buffers containing NUL when backslashing escapes.
114162         This bug was exposed by the other changes in this patch.
114163         (quotearg_n_options): New arg ARGSIZE.
114164         All callers changed.
114165         (quoting_options_from_style): New function.
114166         (quotearg_n_style): Use it.
114167         (quotearg_n_style_mem): New function.
114169         * lib/quotearg.h (quotearg_n_style_mem): New function.
114171 2002-01-19  Jim Meyering  <meyering@lucent.com>
114173         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
114174         Remove useless quotes: DF_PROG="df".
114175         * m4/strnlen.m4: New file.
114177 2002-01-16  Paul Eggert  <eggert@twinsun.com>
114179         * lib/backupfile.c (ISDIGIT): Comment fix.
114180         * lib/getdate.y (ISDIGIT): Likewise.
114181         * lib/posixtm.c (ISDIGIT, year): Likewise.
114182         * lib/strverscmp.c (ISDIGIT): Likewise.
114183         * lib/userspec.c (ISDIGIT): Likewise.
114185 2002-01-16  Jim Meyering  <meyering@lucent.com>
114187         * lib/getdate.y: Add three semicolons, each just before a closing
114188         brace. Bison (as of version 1.31) no longer papers over that mistake.
114190 2002-01-05  Jim Meyering  <meyering@lucent.com>
114192         * lib/version-etc.c (version_etc_copyright): Update copyright year.
114194 2001-12-19  Paul Eggert  <eggert@twinsun.com>
114196         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
114197         not silently exit merely because the output buffer happens to
114198         have nothing pending.
114200 2001-12-18  Paul Eggert  <eggert@twinsun.com>
114202         See the big note in ../ChangeLog.
114203         * lib/human.c (suffixes): Prefer K to k for 1024.
114204         (generate_suffix_backwards): New function.
114205         (human_readable_inexact): Use it.
114206         * lib/xstrtol.c (__xstrtol): If there is no number but there
114207         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
114208         Accept 'K' as well as 'k'.
114210 2001-12-15  Jim Meyering  <meyering@lucent.com>
114212         * lib/regex.h (__restrict_arr): Update from libc.
114214         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
114215         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
114216         (STREQ): Define.
114218 2001-12-14  Jim Meyering  <meyering@lucent.com>
114220         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
114221         Suggestion from Bruno Haible.
114223 2001-12-10  Jim Meyering  <meyering@lucent.com>
114225         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
114226         xrealloc, Instead, include "xalloc.h".
114227         (initbuffer): Don't cast xmalloc return value to char*.
114228         (readline): Reword comment.
114229         Don't cast xrealloc return value to char*
114230         Return NULL, not 0.
114232 2001-12-09  Jim Meyering  <meyering@lucent.com>
114234         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
114235         about `signed and unsigned type in conditional expression'.
114236         * lib/posixtm.c (posix_time_parse): Likewise.
114238         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
114240         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
114241         to avoid a pedantic warning.
114243         * lib/getstr.c: Don't include assert.h.
114244         (getstr): Remove warning-evoking assertions.
114245         Return -1 if offset parameter is out of bounds.
114246         Change the type of a local from int to size_t.
114248         * lib/strftime.c (my_strftime_localtime_r): Include this function
114249         definition in the `#if ! HAVE_TM_GMTOFF' block.
114251         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
114252         Include xalloc.h instead.
114254 2001-12-02  Jim Meyering  <meyering@lucent.com>
114256         * lib/tempname.c: Don't declare getenv, thus reverting the change of
114257         2001-11-18.  It's no longer necessary, now that stdlib.h is always
114258         included.
114260         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
114261         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
114263 2001-11-30  Akim Demaille  <akim@epita.fr>
114265         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
114266         before being defined.
114268 2001-11-27  Paul Eggert  <eggert@twinsun.com>
114270         * lib/quotearg.h (quotearg_n, quotearg_n_style):
114271         First arg is int, not unsigned.
114272         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
114273         (SIZE_MAX, UINT_MAX): New macros.
114274         (quotearg_n_options): Abort if N is negative.
114275         Avoid overflow check on hosts where size_t is 64 bits and int
114276         is 32 bits, as overflow is impossible there.
114277         Fix off-by-one typo that caused unnecessary reallocation.
114279 2001-11-27  Jim Meyering  <meyering@lucent.com>
114281         * lib/tempname.c: Merge with version from libc.
114282         * lib/regex.c: Likewise.
114284         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
114285         systems for which STDC_HEADERS is 0, it was not included, resulting in
114286         a warning about an integer-to-pointer conversion problem with getenv.
114287         Reported by Volker Borchert.
114289 2001-11-26  Jim Meyering  <meyering@lucent.com>
114291         * lib/gtod.h: Remove file.
114292         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
114293         * lib/gettimeofday.c: Don't include gtod.h.
114294         (GTOD_init): Remove function.
114295         (rpl_gettimeofday): Do its job here instead, rather than aborting.
114296         Suggestion from Volker Borchert.
114298 2001-11-23  Jim Meyering  <meyering@lucent.com>
114300         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
114301         it.
114302         * lib/hash.c (struct hash_table): Define it here instead.
114304 2001-11-22  Jim Meyering  <meyering@lucent.com>
114306         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
114308 2001-11-20  Jim Meyering  <meyering@lucent.com>
114310         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
114311         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
114313 2001-11-19  Jim Meyering  <meyering@lucent.com>
114315         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
114316         directory.  Use "conftestXXXXXX" as the template.
114317         Suggestion from Paul Eggert.
114319         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
114320         immediately, so the test doesn't mistakenly hit the max-open-files
114321         limit.
114323 2001-11-18  Paul Eggert  <eggert@twinsun.com>
114325         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
114326         (TEMPORARIES): New macro.
114327         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
114328         removes an artificial limitation (e.g. HP-UX 10.20, where
114329         TMP_MAX is 17576).
114331 2001-11-18  Jim Meyering  <meyering@lucent.com>
114333         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
114335 2001-11-18  Jim Meyering  <meyering@lucent.com>
114337         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
114338         on SunOS 4.
114340         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
114341         files will be created before anything else.
114343 2001-11-17  Paul Eggert  <eggert@twinsun.com>
114345         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
114346         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
114348 2001-11-17  Jim Meyering  <meyering@lucent.com>
114350         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
114351         Prompted by a report from Bob Proulx.
114353         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
114354         Instead, require UTILS_FUNC_MKSTEMP.
114356 2001-11-17  Jim Meyering  <meyering@lucent.com>
114358         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
114359         Now, that's done as part of AC_FUNC_STRTOD.
114361 2001-11-17  Jim Meyering  <meyering@lucent.com>
114363         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
114364         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
114365         rather than group writable.  Patch by Juan F. Codagnone.
114367         * lib/readtokens.c: Remove explicit declarations of xmalloc and
114368         xrealloc, Instead, include "xalloc.h".
114370         * lib/mountlist.c: Include unlocked-io.h after all system headers.
114371         Remove explicit declarations of xmalloc, xrealloc,
114372         and xstrdup.  Instead, include "xalloc.h".
114374         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
114375         unlocked-io.h.
114376         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
114377         Likewise.
114378         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
114380         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
114381         Reported by Padraig Brady.
114383         * lib/mkstemp.c: #undef mkstemp.
114384         Include config.h.
114385         (rpl_mkstemp): Rename from mkstemp.
114386         Protoize.
114388 2001-11-16  Jim Meyering  <meyering@lucent.com>
114390         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
114391         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
114392         determine the amount of total physical memory, use pstat_getstatic.
114393         HPUX-11 doesn't define _SC_PHYS_PAGES.
114394         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
114395         If sysconf couldn't be used to determine the amount of available
114396         physical memory, use both pstat_getstatic and pstat_getdynamic.
114397         Based on a patch from Bob Proulx.
114399 2001-11-10  Jim Meyering  <meyering@lucent.com>
114401         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
114402         (jm_PREREQ): Use it.
114404 2001-11-09  Jim Meyering  <meyering@lucent.com>
114406         * m4/jm-macros.m4: Require autoconf-2.52f.
114407         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
114408         Use these AC_-prefixed names, not the AM_-prefixed ones.
114410         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
114412 2001-11-05  Jim Meyering  <meyering@lucent.com>
114414         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
114416 2001-11-04  Jim Meyering  <meyering@lucent.com>
114418         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
114419         $DEFS.
114421 2001-11-03  Jim Meyering  <meyering@lucent.com>
114423         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
114424         of AC_DEFUN.
114426         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
114427         know the name of the variable in the macro definition.
114429 2001-11-03  Jim Meyering  <meyering@lucent.com>
114431         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
114432         in argmatch_to_argument call.
114434         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
114435         argument.
114437         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
114438         e.g., a fault due to an attempt to free a NULL pointer.
114440 2001-11-01  Jim Meyering  <meyering@lucent.com>
114442         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
114443         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
114445 2001-11-01  Jim Meyering  <meyering@lucent.com>
114447         * lib/dirfd.c, lib/dirfd.h: New files.
114448         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
114450         * lib/hash.c (hash_print) [TESTING]: Clean up.
114452 2001-10-22  Paul Eggert  <eggert@twinsun.com>
114454         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
114455         to avoid a warning if -Wall.
114457 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
114459         * README: New file
114460         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
114461         (per RMS's instructions, this is now the canonical source)
114462         * lgpl/, gpl/: New directories.
114464 2001-10-21  Paul Eggert  <eggert@twinsun.com>
114466         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
114468 2001-10-21  Jim Meyering  <meyering@lucent.com>
114470         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
114471         this code would end up calling gettext even in packages built
114472         with --disable-nls.
114473         * lib/getopt.c (_): Likewise.
114474         * lib/regex.c (_): Likewise.
114476 2001-10-20  Paul Eggert  <eggert@twinsun.com>
114478         * m4/error.m4 (jm_PREREQ_ERROR):
114479         Do not invoke AC_CHECK_FUNCS with strerror_r, as
114480         AC_FUNC_STRERROR_R does that.
114481         Check for strerror declaration.
114483         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
114484         are supposed to have them these days.
114485         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
114486         Merge changes from latest Autoconf CVS.
114487         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
114488         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
114489         POSIX decided to standardize on the int flavor of strerror_r.
114491 2001-10-20  Paul Eggert  <eggert@twinsun.com>
114493         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
114494         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
114495         Use strerror_r that is only a macro, even if it is not a function.
114496         (strerror): Check for HAVE_DECL_STRERROR before declaring.
114497         (private_strerror): Use prototypes, not old-style function definition.
114498         (print_errno_message): New function.
114499         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
114500         char*-flavored one.
114501         (error_tail, error, error_at_line): Use it.
114503 2001-10-11  Jim Meyering  <meyering@lucent.com>
114505         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
114506         and quote_n (1, ... to avoid clobbering a buffer.
114508 2001-10-05  Jim Meyering  <meyering@lucent.com>
114510         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
114511         hash-pjw.h.
114512         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
114513         * lib/hash-pjw.h: New file.
114515 2001-09-30  Jim Meyering  <meyering@lucent.com>
114517         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
114518         `struct fsstat' has the `f_fstypename' member.
114519         Use that to define FS_TYPE, which is now used to make
114520         the getfsstat link test tighter.
114522 2001-09-30  Jim Meyering  <meyering@lucent.com>
114524         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
114525         Include <sys/ucred.h>, for Apple Darwin.
114526         Include sys/mount.h and sys/fs_types.h only if available.
114527         (FS_TYPE): Define.
114528         (read_filesystem_list): Use FS_TYPE.
114530 2001-09-29  Paul Eggert  <eggert@twinsun.com>
114532         * lib/exclude.c (excluded_filename): 0 -> false, since it's
114533         a boolean context.
114535 2001-09-29  Jim Meyering  <meyering@lucent.com>
114537         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
114538         [one-argument getmntent function]): Include stdio.h before mntent.h.
114539         SunOS 4.1.x needs it for the declaration of `FILE'.
114540         Patch by Volker Borchert.
114542         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
114543         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
114544         sys/fs_types.h, and make the link-test for getfsstat guard #include
114545         directives with appropriate #if HAVE_*_H tests so that we can
114546         detect getfsstat on Apple Darwin1.3.7 systems.
114547         Reported by Nelson Beebe.
114548         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
114550 2001-09-28  Paul Eggert  <eggert@twinsun.com>
114552         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
114553         #defines strtoimax.  Also treat the other strto* functions
114554         like strtoimax.
114556         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
114557         Check for strtoul and strtoumax,
114558         as those declarations are made even in the signed case.
114559         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
114560         Likewise, for strtol and strtoimax.
114562 2001-09-28  Paul Eggert  <eggert@twinsun.com>
114564         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
114565         #defines strtoimax.  Also treat the other strto* functions
114566         like strtoimax.
114568         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
114569         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
114570         (strtoimax, strtoumax): Do not declare if already defined as a macro.
114572 2001-09-26  Jim Meyering  <meyering@lucent.com>
114574         Most macros in unlocked-io.h had the wrong number of arguments.
114575         * lib/gen-uio: New script.
114576         (USE_UNLOCKED_IO): Define to 1 if not already defined.
114577         * lib/unlocked-io.hin: Remove file.
114578         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
114579         rather than trying to embed it here.
114580         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
114581         Reported by Padraig Brady.
114583 2001-09-25  Volker Borchert  <bt@teknon.de>
114585         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
114586         `result'.
114588 2001-09-24  Jim Meyering  <meyering@lucent.com>
114590         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
114592 2001-09-23  Jim Meyering  <meyering@lucent.com>
114594         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
114595         instead of the mere test for existence of mntent.h.  The latter
114596         would get a false-positive on AIX 3.4 systems.
114597         In the outer getmntent if-block, don't die if neither of the getmntent
114598         tests succeeds.  Instead, just fall through and continue with the
114599         remaining tests.
114601 2001-09-23  Jim Meyering  <meyering@lucent.com>
114603         * lib/mountlist.c: Remove useless parentheses in #if directives.
114604         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
114605         the deprecated MOUNTED symbol is no longer defined in mntent.h.
114607 2001-09-22  Jim Meyering  <meyering@lucent.com>
114609         * m4/gettext.m4: New file.  From gettext.
114610         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
114611         * m4/progtest.m4: Likewise
114612         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
114613         * m4/glibc21.m4: Likewise.
114615         * m4/libintl.m4: Remove.  No longer used.
114617 2001-09-22  Jim Meyering  <meyering@lucent.com>
114619         * lib/localcharset.c: Update from latest gettext.
114620         * lib/config.charset: Likewise.
114622 2001-09-20  Jim Meyering  <meyering@lucent.com>
114624         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
114625         strtoimax.
114626         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
114627         strtoumax.
114629 2001-09-20  Jim Meyering  <meyering@lucent.com>
114631         * lib/xstrtol.c (strtoimax): Guard declaration with
114632         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
114633         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
114634         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
114635         (strtoumax): Likewise, for completeness (it wasn't necessary).
114637 2001-09-17  Paul Eggert  <eggert@twinsun.com>
114639         * lib/strtoimax.c (HAVE_LONG_LONG):
114640         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
114641         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
114642         to work around bug in IBM C compiler.
114644 2001-09-17  Jim Meyering  <meyering@lucent.com>
114646         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
114647         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
114648         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
114649         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
114650         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
114651         whenever the right hand side need not be expanded by the shell.
114653 2001-09-16  Paul Eggert  <eggert@twinsun.com>
114655         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
114656         library.  It's not correct, as some older glibcs are buggy.
114657         fnmatch wasn't fixed until glibc 2.2.
114659         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
114660         special shell magic here.
114662 2001-09-16  Jim Meyering  <meyering@lucent.com>
114664         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
114665         * m4/jm-macros.m4: Require it.
114667 2001-09-16  Jim Meyering  <meyering@lucent.com>
114669         * lib/mkdir.c: New file.
114671 2001-09-15  Jim Meyering  <meyering@lucent.com>
114673         * m4/jm-macros.m4: Check for help2man.
114675 2001-09-11  Jim Meyering  <meyering@lucent.com>
114677         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
114678         The body, by Paul Eggert, was moved here from configure.in.
114679         * m4/jm-macros.m4: Require UTILS_HOST_OS.
114681 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114683         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
114684         (jm_PREREQ): Use it.
114686 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114688         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
114689         Use ssize_t, not int, to store result of readlink.
114690         Check for ssize_t overflow as well as size_t overflow,
114691         as POSIX says the result of readlink is implementation-defined
114692         when ssize_t overflows.
114693         Remove unnecessary cast to char*.
114694         Use free+malloc instead of realloc, as the storage doesn't need
114695         to be preserved and it's clearer and can be more efficient that way.
114696         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
114697         * lib/xreadlink.h (xreadlink): Update prototype.
114699 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114701         * lib/xgetcwd.c: Revert some of the previous change; intead,
114702         fix the HAVE_GETCWD_NULL code to behave more like the
114703         !HAVE_GETCWD_NULL code used to.
114705         Include "xalloc.h".
114706         (xgetcwd): Do not return NULL when memory is exhausted; instead,
114707         invoke xalloc_die.
114709 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114711         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
114712         sys/param.h, as pathmax.h includes them.
114714 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114716         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
114717         (jm_PREREQ_XGETCWD): New macro.
114719         * m4/getcwd.m4: New file.
114721 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114723         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
114724         like the HAVE_GETCWD_NULL code.
114725         Include pathmax.h if not HAVE_GETCWD.
114726         Do not include xalloc.h.
114727         (INITIAL_BUFFER_SIZE): New symbol.
114728         Do not use xmalloc / xrealloc, since the caller is responsible for
114729         handling errors.  Preserve errno around `free' during failure.
114730         Do not overrun buffer when using getwd.
114732 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114734         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
114735         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
114736         getcwd (NULL, 0).
114738 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114740         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
114741         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
114742         spotted by Jim Meyering.
114744 2001-09-03  Jim Meyering  <meyering@lucent.com>
114746         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
114747         failure.
114749 2001-09-02  Jim Meyering  <meyering@lucent.com>
114751         * lib/error.c: Update from GNU libc.
114753 2001-09-01  Jim Meyering  <meyering@lucent.com>
114755         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
114756         Used by df.
114758 2001-09-01  Jim Meyering  <meyering@lucent.com>
114760         * lib/xreadlink.c: New file.
114761         * lib/xreadlink.h: New file.
114762         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
114763         xreadlink.h.
114765         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
114766         doesn't conflict with sparc Solaris 7's definition in
114767         /usr/include/sys/int_types.h.
114769         * lib/exclude.c: Use `""', not `<>' to #include non-system header
114770         files.
114771         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
114772         and strncasecmp as r-values.  Unixware didn't have declarations.
114774 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114776         * lib/xstrtol.h: Add copyright notice.
114777         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
114778         LONGINT_INVALID_SUFFIX_CHAR.
114780 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114782         * lib/xstrtol.c (strtoimax): New decl.
114784 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114786         * lib/xgetcwd.c: Don't include pathmax.h.
114787         Include stdlib.h and unistd.h if available.
114788         Include xalloc.h.
114789         (xmalloc, xstrdup, free): Remove decls.
114790         (xgetcwd): Don't assume sizes fit in unsigned.
114791         Check for overflow when computing sizes.
114792         Simplify reallocation code.
114794 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114796         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
114797         a directory's st_size can have an arbitrary value, so the old
114798         usage could waste an arbitrary amount of memory.  All uses
114799         changed.
114800         * lib/savedir.h: Update prototype.
114802 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114804         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
114806         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
114807         old strtoimax.c.
114809         Also, make the following further changes to make this file's
114810         configuration more similar to that of strtol.c:
114811         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
114812         (strtoumax, uintmax_t, strtoull, strtol): Remove.
114813         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
114814         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
114815         changed to signed values.
114817         And make the following changes as well:
114818         Fix copyright notice, as 1999 was missing.
114819         (verify): New macro.
114820         (strtoimax): Check sizes at compile-time, not run-time.
114821         Prefer strtol to strtoll if both work.
114822         (main): Remove; it was not that useful and was a pain to maintain.
114824         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
114826 2001-08-31  Jim Meyering  <meyering@lucent.com>
114828         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
114829         Use an initial, malloc'd, buffer of length 128 rather than
114830         a statically allocated one of length 1024.
114832 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114834         Simplify code, partly by assuming autoconf 2.52 semantics.
114836         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
114838         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
114839         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
114840         All uses removed.
114841         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
114842         Move AC_REQUIRE to next-to-top level, to avoid confusion.
114843         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
114844         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
114845         jm_AC_HEADER_INTTYPES_H.
114846         * m4/jm-macros.m4 (jm_MACROS): Likewise.
114848         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
114850         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
114851         Quote first arg of AC_DEFUN.
114852         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
114853         since they are needed to parse the include file even if we need
114854         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
114855         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
114856         but with opposite signedness.
114858 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114860         Merge 'exclude' changes from tar 1.13.22.
114861         This fixes one or two unlikely storage allocation overflow bugs,
114862         but doesn't change user-visible behavior otherwise.
114864 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114866         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
114867         (jm_PREREQ_EXCLUDE): New macro.
114869 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114871         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
114872         tm to be declared.
114874 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114876         * lib/hash.c: Remove '2001' from copyright notice.
114878 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114880         * lib/full-write.h: New file.
114881         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
114882         * lib/full-write.c: Correct credits, as cccp.c no longer
114883         exists and anyway it was so heavily changed from the old cccp
114884         code as to be unrecognizable.  Include full-write.h.
114885         (full_write): Return size_t, with short writes meaning failure.
114886         All callers changed.  This fixes a bug with large buffers
114887         on 64-bit hosts.
114888         * lib/utime.c: Include full-write.h.
114890 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114892         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
114893         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
114894         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
114895         Include if available.
114896         (<xalloc.h>): Include
114897         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
114898         (verify): New macro.  Use it to verify that EXCLUDE macros do not
114899         collide with FNM macros.
114900         (struct patopts): New struct.
114901         (struct exclude): Use it, as exclude patterns now come with options.
114902         (new_exclude): Support above changes.
114903         (new_exclude, add_exclude_file):
114904         Initial size must now be a power of two to simplify overflow checking.
114905         (free_exclude, fnmatch_no_wildcards): New function.
114906         (excluded_filename): No longer requires options arg, as the options
114907         are determined by add_exclude.  Now returns bool, not int.
114908         (excluded_filename, add_exclude):
114909         Add support for the fancy new exclusion options.
114910         (add_exclude, add_exclude_file): Now takes int options arg.
114911         Check for arithmetic overflow when computing sizes.
114912         (add_exclude_file): xrealloc might modify errno, so don't
114913         realloc until after errno might be used.
114915         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
114916         New macros.
114917         (free_exclude): New decl.
114918         (add_exclude, add_exclude_file): Now takes int options arg.
114919         (excluded_filename): No longer requires options arg, as the options
114920         are determined by add_exclude.  Now returns bool, not int.
114922 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114924         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
114926 2001-08-27  Jim Meyering  <meyering@lucent.com>
114928         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
114930         * lib/version-etc.c (N_): Remove definition.
114931         Revert most of last change.
114932         Instead, simply don't mark the `Copyright...' string for translation.
114933         Based on advice from Paul Eggert.
114935         * lib/strtoxmax.c: Tweak comment.
114937 2001-08-26  Jim Meyering  <meyering@lucent.com>
114939         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
114941         * m4/xstrtoimax.m4: New file.
114942         * m4/xstrtoumax.m4: Add comments explaining why we
114943         AC_REPLACE_FUNCS(strtol).
114945 2001-08-26  Jim Meyering  <meyering@lucent.com>
114947         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
114948         of copyright with `%s' so translators don't get an untranslated
114949         message in 2002.
114950         (COPYRIGHT_YEAR): Define.
114951         (version_etc): Use fprintf rather than fputs.
114952         Suggestion from Ulrich Drepper.
114954         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
114956         * lib/strtoll.c: New file, from GNU libc.
114957         * lib/xstrtoimax.c: New file.
114959         * lib/xstrtol.h: Add xstrtoimax.
114960         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
114961         * lib/strtoimax.c: New file.  Likewise, but first define
114962         STRTOUXMAX_SIGNED.
114964         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
114965         ...
114966         * lib/strtoxmax.c: ... then renamed to this.
114968 2001-08-18  Paul Eggert  <eggert@twinsun.com>
114970         * m4/inttypes.m4: Add AC_PREREQ(2.13).
114971         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
114972         (jm_AC_TYPE_INTMAX_T): New macro.
114973         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
114975         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
114977         * m4/longlong.m4: Renamed from ulonglong.m4.
114978         * m4/inttypes.m4: Renamed from inttypes_h.m4.
114979         * m4/uintmax_t.m4: Removed.
114981 2001-08-13  Paul Eggert  <eggert@twinsun.com>
114983         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
114984         Port to Solaris 8, where 'sed' requires a space after the 'r'
114985         command, and where sh dislikes "$/".  Clean up the spacing a bit.
114986         Redirect output to $tmp just once.
114988 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
114990         * lib/addext.c (<errno.h>): Include.
114991         (errno): Declare if not defined.
114992         (addext): Work correctly when pathconf returns -1 and leaves
114993         errno alone because there is no limit.  Also, work even if
114994         pathconf returns a value greater than SIZE_MAX.
114996 2001-08-12  Jim Meyering  <meyering@lucent.com>
114998         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
114999         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
115000         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
115001         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
115002         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
115003         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
115004         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
115005         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
115006         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
115007         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
115008         utime.m4, utimes.m4, xstrtoumax.m4:
115009         Quote the first argument in each use of AC_DEFUN.
115011 2001-08-12  Jim Meyering  <meyering@lucent.com>
115013         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
115014         Simply `return getcwd (NULL, 0);'.
115015         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
115016         Use 1300 as initial value for length, not PATH_MAX.
115018         * lib/pathmax.h: Clean up cpp syntax.
115020 2001-08-12  Jim Meyering  <meyering@lucent.com>
115022         * lib/gettimeofday.c: New file.
115023         * lib/gtod.h: New file.
115024         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
115026 2001-08-05  Jim Meyering  <meyering@lucent.com>
115028         * m4/jm-macros.m4: Require autoconf-2.52.
115030 2001-08-04  Jim Meyering  <meyering@lucent.com>
115032         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
115033         stmt, to get in sync with glibc.
115035 2001-08-03  Paul Eggert  <eggert@twinsun.com>
115037         The following changes are from gettext 0.10.39 as maintained by
115038         Bruno Haible.
115040         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
115041         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
115042         with inverted sense.  All uses changed.
115044         * lib/mbswidth.c: Don't include <limits.h>.
115045         Include <stdlib.h> and <string.h> unconditionally.
115046         (iswcntrl, mbsinit, ISCNTRL): New macros.
115047         (mbsnwidth): Use K&R style function declarations.
115048         Don't bother checking for MB_LEN_MAX == 1, since the compiler
115049         can optimize it when MB_CUR_MAX == 1.
115050         The width of control characters is zero, not 1.
115052 2001-08-03  Paul Eggert  <eggert@twinsun.com>
115054         The following changes are from gettext 0.10.39 as maintained by
115055         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
115057         * m4/codeset.m4: Upgrade to serial AM1.
115058         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
115059         all uses changed.  Quote first arg of AC_DEFUN.
115060         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
115062         * m4/iconv.m4: Upgrade to serial AM2.
115063         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
115064         Add --with-libconv-prefix.
115065         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
115066         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
115067         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
115068         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
115069         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
115071         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
115072         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
115073         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
115074         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
115075         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
115076         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
115077         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
115078         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
115079         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
115081         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
115082         string.h any more.
115084         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
115085         not the default value.
115087         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
115088         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
115089         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
115090         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
115091         Also check for iswcntrl, used for wcwidth fallback.
115092         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
115093         to Autoconf 2.13.
115095 2001-08-03  Jim Meyering  <meyering@lucent.com>
115097         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
115098         as it was in the original.  Reported by Paul Eggert.
115100 2001-07-16  Jim Meyering  <meyering@lucent.com>
115102         * m4/gettimeofday.m4: New file.
115103         Prompted by a report from Bernhard Baehr.
115105 2001-07-15  Jim Meyering  <meyering@lucent.com>
115107         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
115108         stuff. Now it's in ../Makefile.cfg.
115110 2001-07-15  Jim Meyering  <meyering@lucent.com>
115112         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
115113         (BUILT_SOURCES): Add unlocked-io.h.
115114         (io_functions): Define.
115115         (unlocked-io.h): New rule.
115116         (DISTCLEANFILES): Add unlocked-io.h.
115117         (all-local): Depend on unlocked-io.h, to ensure it is created.
115119         * lib/unlocked-io.hin: New file
115121         * lib/regex.c: Update from glibc.
115123 2001-07-05  Jim Meyering  <meyering@lucent.com>
115125         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
115126         recommendation.
115127         (libfetish_a_SOURCES): Put all .h files here instead.
115128         Remove a thus-exposed (better checks in automake) duplicate and
115129         two unnecessary .h files.
115131 2001-07-04  Jim Meyering  <meyering@lucent.com>
115133         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
115134         that generates jm-glibc-io.m4 so that it doesn't trigger any make
115135         distcheck failure.
115137 2001-07-02  Jim Meyering  <meyering@lucent.com>
115139         The following changes were prompted by suggestions from Bruno Haible.
115141         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
115142         is now generated.
115143         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
115144         definition of EXTRA_DIST.
115145         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
115146         ensure that the generated file is created/updated whenever the list
115147         of $(unlocked_functions) is changed.
115148         (jm-glibc-io.m4): New rule.
115149         (unlocked-io.h): New rule -- currently unused.
115151 2001-06-24  Jim Meyering  <meyering@lucent.com>
115153         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
115154         unmatched right bracket, rather than kludging it with an extra,
115155         falsely-matching quote in a comment.  Patch by Akim Demaille.
115157 2001-06-11  Jim Meyering  <meyering@lucent.com>
115159         * lib/regex.c: Update from GNU libc.
115161 2001-05-27  Jim Meyering  <meyering@lucent.com>
115163         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
115164         Check for ut_type in struct utmp.
115166 2001-05-27  Jim Meyering  <meyering@lucent.com>
115168         * lib/readutmp.h (UT_TYPE): Define.
115170 2001-05-24  Jim Meyering  <meyering@lucent.com>
115172         * lib/argmatch.c: Include "quote.h".
115173         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
115174         quote function.  Reported by Göran Uddeborg.
115176 2001-05-22  Jim Meyering  <meyering@lucent.com>
115178         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
115179         now that we use the package-supplied version unconditionally.
115180         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
115182 2001-05-21  Jim Meyering  <meyering@lucent.com>
115184         * m4/regex.m4: Change a couple backticks to single quotes to avoid
115185         shell syntax errors.
115187 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
115189         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
115191 2001-05-20  Paul Eggert  <eggert@twinsun.com>
115193         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
115194         Don't bother to check library strftime, since
115195         we'll be using our own my_strftime function anyway.
115196         Define my_strftime instead of strftime.
115198 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
115200         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
115201         which is not yet declared.
115203 2001-05-15  Jim Meyering  <meyering@lucent.com>
115205         * m4/regex.m4: Use proper quoting so brackets appear in the test
115206         program.
115207         Reported by, and with help from, Bruno Haible.
115209 2001-05-13  Jim Meyering  <meyering@lucent.com>
115211         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
115212         undefined.
115214 2001-05-11  Paul Eggert  <eggert@twinsun.com>
115216         dirname code cleanup.  base_name now behaves more compatibly
115217         with POSIX basename when given file names that have trailing
115218         slashes, and similarly for dir_name.  Add new primitives
115219         base_len and dir_len.  Put the directory-name-related decls
115220         into dirname.h.
115222         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
115223         * lib/backupfile.c (base_name): Likewise.
115224         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
115225         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
115226         * lib/makepath.c (strip_trailing_slashes): Likewise.
115227         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
115228         ISSLASH): Likewise.
115229         * lib/rename.c (strip_trailing_slashes): Likewise.
115230         * lib/same.c (base_name): Likewise.
115231         * lib/stripslash.c (ISSLASH): Likewise.
115233         * lib/addext.c: Include <dirname.h> after size_t is defined.
115234         * lib/backupfile.c: Likewise.
115236         * lib/addext.c (addext): Use base_len to trim redundant
115237         trailing slashes instead of doing it ourselves.
115238         But do not trim the last slash if it is not redundant.
115240         * lib/backupfile.c (find_backup_file_name,
115241         max_backup_version): Use base_len instead of rolling it ourselves.
115242         Handle the case of "" and (on DOS) "C:" correctly.
115244         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
115245         needed. Include <string.h>, <dirname.h>.
115246         (base_name): Allow file names ending in slashes, other than names
115247         that are all slashes.  In this case, return the basename followed
115248         by the slashes.  This is more general, and can be used in places
115249         where the original base_name purposely had an assertion failure.
115250         (base_len): New function.
115252         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
115253         Do not include <assert.h>; no longer needed.
115254         Include xalloc.h.
115255         (memrchr): Remove decl.
115256         (dir_name_r): Remove.
115257         (dir_len): Renamed from dirlen.  All callers changed.
115258         Rewrite in terms of base_name, for simplicity and consistency.
115259         (dir_name): Never return NULL.  All callers changed.
115260         Do not include <stdlib.h> in test program; no longer needed.
115261         return 0; is fine for test program.
115263         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
115264         New macros.
115265         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
115267         * lib/path-concat.c (path_concat): Use base_len to compute
115268         base length, not strlen; this means we cannot rely on memcpy
115269         to null-terminate.
115271         * lib/same.c (STREQ): Remove.
115272         (same_name): Handle the case where the basename ends in trailing '/'.
115274         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
115275         a slash was stripped.  Do not strip the last slash after a
115276         file system prefix.
115278 2001-05-11  Paul Eggert  <eggert@twinsun.com>
115280         * lib/Makefile.am (libfetish_a_SOURCES):
115281         Add strftime.c, since we now compile it on all hosts.
115283         * lib/strftime.c (my_strftime):
115284         Define to nstrftime if emacs, but only if my_strftime is not defined.
115285         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
115286         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
115287         Add one more extra argument: a nanoseconds value.
115288         All uses changed.
115289         (ns): New macro.
115290         (my_strftime function): Add %N format.
115291         (emacs_strftimeu): Renamed from emacs_strftime,
115292         with extra ut argument.
115294 2001-05-09  Paul Eggert  <eggert@twinsun.com>
115296         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
115298 2001-04-21  Jim Meyering  <meyering@lucent.com>
115300         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
115301         doesn't interfere.
115303 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
115305         * m4/ftruncate.m4: Check for chsize.
115306         Link with ftruncate.o unconditionally if ftruncate is missing.
115307         This was required when cross-compiling to i586-mingw32msvc.
115309 2001-04-08  Jim Meyering  <meyering@lucent.com>
115311         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
115312         recomputed; that's necessary when the offset spans a DST transition.
115313         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
115315 2001-04-02  Jim Meyering  <meyering@lucent.com>
115317         * lib/regex.h, regex.c: Update from GNU libc.
115319 2001-03-24  Jim Meyering  <meyering@lucent.com>
115321         * m4/jm-macros.m4: Require autoconf-2.49d.
115323 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
115325         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
115327 2001-03-19  Paul Eggert  <eggert@twinsun.com>
115329         * lib/version-etc.c (version_etc_copyright): Update to 2001.
115331 2001-03-17  Jim Meyering  <meyering@lucent.com>
115333         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
115334         now that the version in autoconf is equivalent.
115335         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
115337         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
115338         Suggestion from Akim Demaille.
115340         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
115341         (jm_PREREQ_TEMPNAME): New function.
115343 2001-03-16  Paul Eggert  <eggert@twinsun.com>
115345         * lib/tempname.c (uint64_t): Define to uintmax_t if
115346         not defined, and if UINT64_MAX is not defined.
115347         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
115348         Reported by John David Anglin.
115350 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
115352         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
115353         resolve alias if codeset is empty.
115354         * lib/config.charset (BeOS): Use wildcard syntax.
115356 2001-03-13  Jim Meyering  <meyering@lucent.com>
115358         * lib/path-concat.c (path_concat)
115359         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
115360         concatenating e.g., `C:' and `foo'.
115361         From Bruno Haible.
115363 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
115365         * lib/localcharset.c (locale_charset): Don't use
115366         setlocale(LC_CTYPE,NULL). Don't return NULL.
115367         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
115369 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
115371         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
115372         support for DOS/DJGPP.
115374 2001-03-01  Paul Eggert  <eggert@twinsun.com>
115376         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
115377         lacks mkstemp.  Compile our own tempname.c if we compile our own
115378         mkstemp.c, as mkstemp relies on tempname.
115380 2001-03-01  Jim Meyering  <meyering@lucent.com>
115382         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
115383         AH_VERBATIM really does output its argument verbatim.
115385 2001-02-28  Paul Eggert  <eggert@twinsun.com>
115387         * lib/Makefile.am (libfetish_a_SOURCES):
115388         Add dup-safer.c, fopen-safer.c.
115389         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
115391         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
115392         * lib/unistd-safer.h: New files.
115394 2001-02-25  Paul Eggert  <eggert@twinsun.com>
115396         The mkstemp replacement is taken from glibc 2.2.2, with some
115397         portability fixes for use outside glibc, as follows:
115399         * lib/tempname.c (struct_stat64): New macro.
115400         (direxists, __gen_tempname): Use it.
115401         This avoids a portability problem with Solaris 8.
115403         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
115404         (<stddef.h>, <stdint.h>, <string.h>):
115405         Include only if STDC_HEADERS || _LIBC.
115406         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
115407         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
115408         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
115409         (__set_errno): Define this macro if <errno.h> doesn't.
115410         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
115411         Define these macros if <stdio.h> doesn't.
115412         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
115413         Define these macros if <sys/stat.h>
115414         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
115415         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
115416         __xstat64): Define if not _LIBC.
115417         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
115418         (__gen_tempname): Invoke gettimeofday only if
115419         HAVE_GETTIMEOFDAY || _LIBC;
115420         otherwise, fall back on plain "time".
115421         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
115423         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
115425         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
115427 2001-02-18  Paul Eggert  <eggert@twinsun.com>
115429         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
115431 2001-02-17  Paul Eggert  <eggert@twinsun.com>
115433         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
115434         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
115435         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
115436         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
115438 2001-02-17  Paul Eggert  <eggert@twinsun.com>
115440         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
115441         Remove workaround macros for hosts that have mbrtowc but not
115442         mbstate_t, as we now insist on proper declarations for both
115443         before using mbrtowc.
115445 2001-02-17  Jim Meyering  <meyering@lucent.com>
115447         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
115448         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
115449         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
115450         UnixWare 7.1.1.
115452         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
115453         rather than AC_CACHE_VAL.
115455 2001-02-17  Jim Meyering  <meyering@lucent.com>
115457         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
115458         around included file name.
115460         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
115462         * lib/strftime.c: Update from GNU libc (the only changes were to
115463         comments).
115465 2001-02-17  Jim Meyering  <meyering@lucent.com>
115467         * lib/regex.c: Update from libc.
115469 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
115471         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
115472         clash.
115474 2001-02-16  Paul Eggert  <eggert@twinsun.com>
115476         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
115477         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
115478         Reported by Mark Hounschell via Paul Eggert.
115480 2001-02-07  Jim Meyering  <meyering@lucent.com>
115482         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
115484 2001-02-05  Jim Meyering  <meyering@lucent.com>
115486         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
115487         it includes the patch required for `large file' support with at least
115488         HP-UX's 10.20 /bin/cc.
115490 2001-02-03  Jim Meyering  <meyering@lucent.com>
115492         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
115493         AS_IF, now that it works once again (mysteriously).
115494         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
115496 2001-01-30  Jim Meyering  <meyering@lucent.com>
115498         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
115499         * m4/chown.m4: Rename conftestchown to conftest.chown.
115500         * m4/rename.m4: s/conftestdir/conftest.d1/ and
115501         s/conftestdir2/conftest.d2/.
115502         * m4/utimes.m4: s/conftestdata/conftest.data/
115503         Inspired by Pavel Roskin's change in autoconf.
115505 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
115507         * lib/config.charset: Update for FreeBSD 4.2.
115509 2001-01-27  Jim Meyering  <meyering@lucent.com>
115511         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
115512         a use of AS_IF.
115513         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
115515 2001-01-26  Jim Meyering  <meyering@lucent.com>
115517         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
115518         quotearg.c includes it.
115520 2001-01-26  Jim Meyering  <meyering@lucent.com>
115522         * lib/quotearg.c: Include stddef.h.
115523         * lib/quote.c: Include stddef.h.
115524         Reported by Axel Kittenberger.
115526         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
115527         line in double quotes so that it evokes a better diagnostic.
115528         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
115529         Reported by Axel Kittenberger.
115531 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
115533         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
115534         as if it was a `charset'.
115536 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
115538         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
115539         has const.
115541 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
115543         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
115544         to avoid a warning.  Add back 'const' to inptr.
115546 2001-01-20  Jim Meyering  <meyering@lucent.com>
115548         Be sure that headers are checked before used in code compiled
115549         for the type checks.
115550         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
115551         In place of that, invoke jm_CHECK_ALL_TYPES.
115552         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
115553         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
115554         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
115555         The check for ssize_t was mistakenly run before the test for unistd.h.
115557         The configure-time check for stdbool.h was missing.
115558         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
115559         (jm_PREREQ_HASH): New function.
115561 2001-01-17  Jim Meyering  <meyering@lucent.com>
115563         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
115564         for autoconf-2.49c.
115565         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
115567 2001-01-16  Jim Meyering  <meyering@lucent.com>
115569         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
115570         From Bruno Haible.
115572 2001-01-14  Jim Meyering  <meyering@lucent.com>
115574         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
115575         foo and bar.  Create conftestdir/ in the script, not in the C code.
115576         Remove directories in the script, not in the C code.
115577         Remove conftestdir{,2} before trying to create the directory.
115578         Make the entire configure script fail if the mkdir fails.
115580 2001-01-14  Jim Meyering  <meyering@lucent.com>
115582         * lib/rename.c: New file.  From Volker Borchert.
115583         Include stdlib.h, string.h or strings.h, and xalloc.h.
115584         Use strip_trailing_slashes rather than open-coding it.
115586 2001-01-03  Paul Eggert  <eggert@twinsun.com>
115588         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
115590 2001-01-03  Jim Meyering  <meyering@lucent.com>
115592         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
115593         of local `inptr' to avoid warning with some system declarations of
115594         iconv.
115596 2001-01-02  Volker Borchert  <bt@teknon.de>
115598         * m4/rename.m4: New file.
115599         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
115601 2001-01-01  Jim Meyering  <meyering@lucent.com>
115603         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
115604         even on systems with utmpx.h.  It's necessary for the declaration of
115605         utmp's ut_user member.  Reported by Andreas Jaeger.
115607         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
115608         available. They are required for the declarations of getgrgid and
115609         getpwuid resp.
115610         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
115611         Reported by Andreas Jaeger.
115613 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
115615         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
115616         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
115617         so `make install' also works in VPATH builds.
115619 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
115621         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
115622         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
115623         can be used in subdirectories.
115625 2000-12-29  Paul Eggert  <eggert@twinsun.com>
115627         * lib/modechange.c: Do not assume that mode_t uses the
115628         traditional octal encoding.  E.g. "chmod 1 FOO" should set
115629         the other-execute bit of FOO even if S_IXOTH != 1.
115631         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
115632         WOTH, XOTH, ALLM): New macros.
115633         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
115634          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
115635         Use them.
115636         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
115637         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
115638         (mode_compile):
115639         No need to use uintmax_t; unsigned long is long enough.
115640         Don't bother to get suffix since we don't use it.
115642 2000-12-26  Jim Meyering  <meyering@lucent.com>
115644         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
115645         better with autoheader.
115647 2000-12-24  Jim Meyering  <meyering@lucent.com>
115649         * lib/hash.c (is_prime): Return explicit boolean values.
115650         (hash_get_first): Return NULL to appease Irix5.6's 89.
115651         Reported by Nelson Beebe.
115653 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
115655         * lib/localcharset.c (locale_charset): Add support for Win32.
115657 2000-12-18  Paul Eggert  <eggert@twinsun.com>
115659         * lib/physmem.h, lib/physmem.c: New files.
115661         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
115662         (noinst_HEADERS): Add physmem.h.
115664         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
115665         't' for compatibility with Solaris 8 sort.
115667 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
115669         * lib/config.charset: Add support for BeOS.
115671 2000-12-17  Jim Meyering  <meyering@lucent.com>
115673         * m4/dos.m4 (jm_AC_DOS): New file and macro.
115674         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
115676 2000-12-16  Jim Meyering  <meyering@lucent.com>
115678         This bug had a serious impact on chown: `chown N:M FILE' (for integer
115679         N and M) would have treated it like `chown N:N FILE'.
115681         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
115683 2000-12-16  Jim Meyering  <meyering@lucent.com>
115685         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
115686         SHELLS_FILE to a file name that's useful on djgpp systems.
115687         Include stdlib.h.
115688         (ADDITIONAL_DEFAULT_SHELLS): Define.
115689         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
115690         Based mostly on a patch from Prashant TR.
115692 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
115694         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
115695         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
115696         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
115698 2000-12-08  Andreas Schwab  <schwab@suse.de>
115700         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
115701         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
115703 2000-12-07  Jim Meyering  <meyering@lucent.com>
115705         * lib/stripslash.c (ISSLASH): Define.
115706         (strip_trailing_slashes): Use ISSLASH rather than comparing against
115707         `/'.
115708         From Prashant TR.
115710         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
115711         (dir_name_r): Declare this function as static.
115712         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
115713         manifest itself on a name containing a mix of slashes and
115714         backslashes.
115715         Make this function work with names starting with a DOS-style
115716         drive letter and colon prefix.
115717         (dir_name): Append `.' if necessary.
115718         Based mostly on patches from Prashant TR and Eli Zaretskii.
115720         * lib/dirname.h (dir_name_r): Remove prototype.
115722 2000-12-06  Paul Eggert  <eggert@twinsun.com>
115724         * m4/off_t-format.m4: Remove this file.
115725         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
115727 2000-12-06  Jim Meyering  <meyering@lucent.com>
115729         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
115730         replacement strtoull, we may well need the replacement strtoul, too.
115731         Check for declarations of strtoul and strtoull.
115732         Check for strtol.  Mainly as a cue to cause automake to include
115733         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
115734         Check for limits.h -- strtol.c needs it.
115736 2000-12-05  Jim Meyering  <meyering@lucent.com>
115738         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
115740 2000-12-04  Jim Meyering  <meyering@lucent.com>
115742         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
115743         Also include memory.h, stdlib.h, unistd.h if appropriate.
115744         Reported by Andreas Jaeger (conflicting declaration of malloc).
115746 2000-12-02  Jim Meyering  <meyering@lucent.com>
115748         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
115749         * m4/jm-macros.m4 (jm_MACROS): require it.
115751 2000-12-02  Jim Meyering  <meyering@lucent.com>
115753         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
115755 2000-12-01  Paul Eggert  <eggert@twinsun.com>
115757         * lib/memrchr.c: Include <config.h> before any system include file.
115759 2000-11-30  Jim Meyering  <meyering@lucent.com>
115761         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
115763 2000-11-30  Jim Meyering  <meyering@lucent.com>
115765         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
115767 2000-11-29  Paul Eggert  <eggert@twinsun.com>
115769         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
115771 2000-11-26  Jim Meyering  <meyering@lucent.com>
115773         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
115775 2000-11-22  Paul Eggert  <eggert@twinsun.com>
115777         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
115778         size of (size_t) -1; it's not portable.
115780 2000-11-17  Jim Meyering  <meyering@lucent.com>
115782         * lib/strstr.c: Update from GNU libc.
115784 2000-11-17  Akim Demaille  <akim@epita.fr>
115786         * lib/obstack.h: Formatting changes.
115787         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
115788         prevent type checking.
115789         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
115790         cast the value to (void *): assigning a `foo *' to a `void *'
115791         variable is valid.
115792         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
115794 2000-11-16  Jim Meyering  <meyering@lucent.com>
115796         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
115798 2000-11-11  Jim Meyering  <meyering@lucent.com>
115800         * lib/error.c: Add a couple #includes, merging from GNU libc version.
115802 2000-11-10  Jim Meyering  <meyering@lucent.com>
115804         * lib/obstack.h: Update from GNU libc.
115805         * lib/obstack.c: Likewise.
115807 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
115809         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
115811 2000-11-06  Paul Eggert  <eggert@twinsun.com>
115813         * lib/getusershell.c (setusershell): Use rewind rather than
115814         fseek/fseeko, to avoid configuration hassles with fseeko.
115815         Don't bother opening SHELLS_FILE if shellstream is NULL;
115816         it's not necessary.
115818 2000-11-05  Jim Meyering  <meyering@lucent.com>
115820         * lib/makepath.h (make_dir): Declare.
115821         * lib/makepath.c (make_dir): Remove `static' attribute.
115822         Tweak a comment.
115824 2000-11-04  Jim Meyering  <meyering@lucent.com>
115826         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
115828 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
115830         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
115831         last one in a bucket, advance to the next bucket.
115833 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
115835         * lib/fnmatch.c: Do not comment out all the code if we are using
115836         the GNU C library, because in some cases we are replacing buggy
115837         code in the GNU C library itself.
115839 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
115841         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
115842         (regex_compile): Catch bogus \(\1\).
115844 2000-10-30  Paul Eggert  <eggert@twinsun.com>
115846         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
115847         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
115848         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
115850 2000-10-30  Paul Eggert  <eggert@twinsun.com>
115852         * lib/error.h, getline.h, modechange.h:
115853         Remove "2000" from Copyright line, as the file hasn't been
115854         changed this year other than in the copyright notice.
115856         * lib/xalloc.h: Add "2000" to Copyright line, as this file
115857         was changed this year.
115859 2000-10-29  Jim Meyering  <meyering@lucent.com>
115861         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
115862         renaming.
115863         * m4/ls-mntd-fs.m4: Likewise
115865 2000-10-29  Jim Meyering  <meyering@lucent.com>
115867         * lib/xstat.in: Fix grammar in comment.
115869 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
115871         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
115872         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
115873         doesn't define __restrict_arr.
115875 2000-10-28  Jim Meyering  <meyering@lucent.com>
115877         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
115878         (jm_PREREQ_MEMCHR): New function.
115880 2000-10-28  Jim Meyering  <meyering@lucent.com>
115882         * lib/memchr.c: Update from libc.
115883         Adjust for portability:
115884         [HAVE_STDLIB_H]: Include stdlib.h.
115885         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
115886         Undef __memchr, too.
115887         [!weak_alias]: Define __memchr to memchr.
115889         * lib/regex.c: Update from libc.
115890         * lib/regex.h: Likewise.
115891         * lib/getopt1.c: Likewise.
115892         * lib/memcmp.c: Likewise.
115894         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
115895         Avoid using fseek, when possible -- it's broken by design.
115896         Patch by Ulrich Drepper.
115898 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
115900         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
115901         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
115902         Giving in to popular pressure to shut up the compiler with casts.
115904 2000-10-26  Jim Meyering  <meyering@lucent.com>
115906         * lib/strftime.c: Update from libc.
115908 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
115910         * regex.c: More `unsigned char' -> `re_char' changes.
115911         Also change several `int' into `re_wchar_t'.
115912         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
115913         (PUSH_FAILURE_POINTER): Don't cast any more.
115914         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
115915         We want GCC to complain, since this piece of code makes
115916         re_match non-reentrant, which *should* be fixed.
115917         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
115918         (EXTEND_BUFFER): Use RETALLOC.
115919         (SET_LIST_BIT): Don't cast.
115920         (re_wchar_t): New type.
115921         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
115922         that those two functions will always properly return.
115923         (IMMEDIATE_QUIT_CHECK): Cast to void.
115924         (analyse_first): Use recursion rather than an explicit stack.
115925         (re_compile_fastmap): Can't fail anymore.
115926         (re_search_2): Don't check re_compile_fastmap for failure.
115927         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
115928         Now also sets the new value (passed in a new argument).
115929         (re_match_2_internal): Use it.
115930         Also, use a new var `reg' of type size_t when looping through regs
115931         rather than reuse the inappropriate `mcnt'.
115933 2000-10-25  Jim Meyering  <meyering@lucent.com>
115935         * lib/obstack.c: Update from libc.
115937 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
115939         * regex.c (regex_compile): Change the way of handling a range from
115940         a char less than 256 to a char not less than 256.
115942 2000-10-24  Andrew Innes  <andrewi@gnu.org>
115944         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
115945         NT-Emacs only.
115946         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
115947         so that re_search functions only quit when callers expect them to.
115949 2000-10-23  Jim Meyering  <meyering@lucent.com>
115951         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
115952         wrong.  That set_locale call must not have any side effects.
115953         From Paul Eggert.
115955 2000-10-22  Jim Meyering  <meyering@lucent.com>
115957         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
115958         [CYCLIC]: Remove now-unused definition.
115960         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
115961         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
115962         Suggestion from Ulrich Drepper.
115964 2000-10-21  Jim Meyering  <meyering@lucent.com>
115966         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
115967         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
115968         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
115970 2000-10-21  Jim Meyering  <meyering@lucent.com>
115972         * lib/dirname.c (memrchr): Declare if necessary.
115973         (dir_name): Remove the restriction that there be no
115974         trailing slashes.  Now, this code skips past them, effectively
115975         ignoring them.
115976         [TEST_DIRNAME] (main): New unit tests.
115978         * lib/memrchr.c: New file from GNU libc.
115979         Undef __memrchr, too.
115980         [!weak_alias]: Define __memrchr to memrchr.
115981         Guard weak_alias use with `#ifdef weak_alias'.
115983 2000-10-21  Jim Meyering  <meyering@lucent.com>
115985         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
115986         (dir_name): Use dir_name_r.
115987         * lib/dirname.h (dir_name_r): Declare it.
115989 2000-10-17  Jim Meyering  <meyering@lucent.com>
115991         * lib/quote.h (PARAMS): Define and use.
115992         Reported by Akim Demaille.
115994         * lib/getopt.c: Update from libc.
115996 2000-10-16  Jim Meyering  <meyering@lucent.com>
115998         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
115999         setlocale.
116000         From Jan Fedak.
116002 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
116004         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
116006 2000-09-25  Jim Meyering  <meyering@lucent.com>
116008         * lib/md5.h (rol): Define (from GnuPG).
116010         * lib/sha.c: Give credit (GnuPG) where due.
116011         (M): Use rol rather than open-coding it.
116012         Add a FIXME comment.
116014 2000-09-21  Jim Meyering  <meyering@lucent.com>
116016         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
116017         Reported by Michael Stone.
116019 2000-09-20  Jim Meyering  <meyering@lucent.com>
116021         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
116022         (noinst_HEADERS): Add sha.h.
116023         Based on code from Scott G. Miller and from GnuPG.
116025 2000-09-18  Jim Meyering  <meyering@lucent.com>
116027         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
116028         LIBS. Otherwise, everyone ends up linking with -lelf for some
116029         configurations.
116030         Reported by Mike Stone.
116032 2000-09-15  Jim Meyering  <meyering@lucent.com>
116034         * lib/regex.c: Update from libc.
116036 2000-09-10  Jim Meyering  <meyering@lucent.com>
116038         * lib/getopt.c (_getopt_internal): Update from glibc.
116040 2000-09-09  Jim Meyering  <meyering@lucent.com>
116042         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
116043         think it should be used as a general replacement for isascii.
116044         * lib/fnmatch.c: Likewise.
116045         * lib/mbswidth.c: Likewise
116046         * lib/regex.c: Likewise.
116048         Don't use atoi.
116049         * lib/userspec.c: Include sys/param.h and limits.h.
116050         Include xstrtol.h.
116051         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
116052         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
116053         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
116054         UID, GID.  Check range.
116056 2000-09-06  Jim Meyering  <meyering@lucent.com>
116058         * lib/getopt.c (_getopt_internal): Update from glibc.
116060 2000-08-30  Jim Meyering  <meyering@lucent.com>
116062         * lib/strftime.c: Merge in changes from GNU libc.
116064 2000-08-26  Jim Meyering  <meyering@lucent.com>
116066         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
116067         * m4/fpending.m4: New file.
116069 2000-08-26  Jim Meyering  <meyering@lucent.com>
116071         * lib/closeout.c: Include "__fpending.h".
116072         (close_stdout_status): Return right away if there's nothing to flush.
116074         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
116075         * lib/__fpending.c: New file.
116076         * lib/__fpending.h: New file.
116078 2000-08-20  Jim Meyering  <meyering@lucent.com>
116080         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
116081         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
116082         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
116084 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
116086         Improve fileutils installation on systems where running
116087         programs (like install) can't be unlinked.
116088         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
116089         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
116091 2000-08-07  Paul Eggert  <eggert@twinsun.com>
116093         Standardize on "memory exhausted" instead of "Memory exhausted"
116094         or "virtual memory exhausted".
116095         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
116096         "virtual memory exhausted".
116097         * lib/same.c (same_name): Invoke xalloc_die instead of printing
116098         our own message.
116099         * lib/userspec.c (parse_user_spec): Likewise.
116100         * lib/bumpalloc.h: comment fix
116101         * lib/same.c, userspec.c: Include xalloc.h.
116103         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
116104         not char *const and pointing to a constant array.
116105         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
116106         (xrealloc): Comment fix.
116108         * lib/userspec.c (parse_user_spec):
116109         Don't translate a message until just before returning,
116110         to avoid unnecessary translation.
116112 2000-08-07  Jim Meyering  <meyering@lucent.com>
116114         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
116115         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
116116         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
116117         getgroups.c, gethostname.c, getopt.h, group-member.c,
116118         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
116119         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
116120         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
116121         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
116122         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
116123         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
116124         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
116125         yesno.c: Back out Copyright date changes for each file with no change
116126         this year.  This eases coordination with other programs using the same
116127         source code modules.  From Paul Eggert.
116129 2000-08-06  Paul Eggert  <eggert@twinsun.com>
116131         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
116132         not char, for compatibility with glibc 2.1.3 strftime.c.
116134 2000-08-03  Greg McGary  <greg@mcgary.org>
116136         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
116137         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
116138         (EXTEND_BUFFER): Use them.
116140 2000-08-01  Jim Meyering  <meyering@lucent.com>
116142         * lib/dirname.c (ISSLASH): Define.
116143         (BACKSLASH_IS_PATH_SEPARATOR): Define.
116144         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
116145         both `\' and `/' may be use as path separators.
116146         Based on a patch from Prashant TR.
116148 2000-07-31  Paul Eggert  <eggert@twinsun.com>
116150         * lib/quotearg.c (quotearg_n_options): Don't make the initial
116151         slot vector a constant, since it might get modified.
116153 2000-07-31  Jim Meyering  <meyering@lucent.com>
116155         * lib/xmalloc.c: Use `virtual memory exhausted', not
116156         `Memory exhausted'.
116157         * lib/obstack.c (print_and_abort): Likewise.
116159 2000-07-30  Paul Eggert  <eggert@twinsun.com>
116161         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
116162         buffer, so that the caller can always quote one small
116163         component of a "memory exhausted" message in slot 0.
116164         From a suggestion by Jim Meyering.
116166 2000-07-30  Jim Meyering  <meyering@lucent.com>
116168         * lib/makepath.c (make_path): Quote the other instance, too.
116170         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
116171         (STATIC_BUF_SIZE): Define.
116172         (quotearg_n_options): Use only statically allocated storage when
116173         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
116174         than STATIC_BUF_SIZE.
116176 2000-07-29  Jim Meyering  <meyering@lucent.com>
116178         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
116179         * lib/dirname.c (dir_name): Likewise.
116181         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
116182         `/'.
116184         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
116185         (dir_name): Assert that there are no trailing slashes.
116187 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
116189         * lib/mbswidth.h (mbswidth): Add a flags argument.
116190         (mbswidth): New declaration.
116191         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
116192         * lib/mbswidth.c (mbswidth): Add a flags argument.
116193         (mbsnwidth): New function.
116195 2000-07-24  Jim Meyering  <meyering@lucent.com>
116197         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
116199 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116201         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
116203 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116205         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
116206         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
116207         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
116208         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
116209         invoke multibyte primitives.
116211 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116213         * lib/quotearg.c:
116214         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
116215         so that mbstate_t is always defined.
116217         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
116218         be 1 in at least one GCC installation, and this configuration
116219         error is likely to be common.  Ignoring MB_LEN_MAX hurts
116220         performance on hosts that have mbrtowc but have only unibyte
116221         locales, but I assume these hosts are rare.
116223 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116225         * lib/mbswidth.c (_XOPEN_SOURCE):
116226         Don't define; this causes problems on Solaris 7.
116227         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
116229 2000-07-23  Jim Meyering  <meyering@lucent.com>
116231         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
116232         too: getgrgid, getpwuid, getuid.
116234 2000-07-23  Jim Meyering  <meyering@lucent.com>
116236         * lib/basename.c (base_name): Add an assertion.
116238 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
116240         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
116241         shadow its mbsinit function.
116243 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
116245         * lib/mbswidth.h: New file.
116246         * lib/mbswidth.c: New file.
116247         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
116248         (noinst_HEADERS): Add mbswidth.h.
116250 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
116252         * lib/config.charset: Add support for FreeBSD. Improve support for
116253         HP-UX and IRIX 6.
116255 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
116257         * m4/mbswidth.m4: New file.
116258         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
116260 2000-07-15  Jim Meyering  <meyering@lucent.com>
116262         * lib/makepath.c: Include quote.h.
116263         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
116264         corresponding argument in a `quote (...)' call.
116265         Give better diagnostics.
116267         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
116268         (noinst_HEADERS): Add quote.h.
116270         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
116271         from tar's src/misc.c.
116272         * lib/quote.h: New file.  Prototypes for same.
116274 2000-07-14  Paul Eggert  <eggert@twinsun.com>
116276         From a suggestion by Bruno Haible.
116277         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
116278         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
116279         to decide whether to define the BeOS workaround macro;
116280         this adjusts to the change to AC_MBSTATE_T.
116282 2000-07-14  Jim Meyering  <meyering@lucent.com>
116284         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
116285         jm_AC_TYPE_UINTMAX_T.
116287 2000-07-13  Paul Eggert  <eggert@twinsun.com>
116289         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
116291         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
116292         quotearg_buffer_restyled): Add support for
116293         clocale_quoting_style.  Undo previous change to
116294         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
116295         and "{RIGHT QUOTATION MARK}" msgids.
116297 2000-07-10  Paul Eggert  <eggert@twinsun.com>
116299         From a suggestion by Bruno Haible.
116300         * m4/mbstate_t.m4 (AC_MBSTATE_T):
116301         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
116302         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
116303         and mbstate_t, to a single-part test that simply defines mbstate_t.
116304         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
116305         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
116307 2000-07-10  Jim Meyering  <meyering@lucent.com>
116309         * m4/strerror_r.m4: Mirror the correction made in autoconf.
116311         * m4/gnu-source.m4: Output to confdefs.h directly.
116312         Suggestion from Akim Demaille.
116314 2000-07-09  Paul Eggert  <eggert@twinsun.com>
116316         The old behavior of quoting `like this' doesn't look good with
116317         newer, ISO-style fonts.  See:
116318         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
116320         Instead, quote "like this" by default.  Let the translator
116321         tailor the locale-specific quoting behavior by providing
116322         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
116324         * lib/quotearg.c (N_): New macro.
116325         (gettext_default): New function.
116326         (quotearg_buffer_restyled): Use
116327         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
116328         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
116330 2000-07-09  Jim Meyering  <meyering@lucent.com>
116332         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
116333         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
116335         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
116336         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
116338 2000-07-09  Jim Meyering  <meyering@lucent.com>
116340         * lib/Most files: Update copyright dates to include 2000.
116342 2000-07-08  Jim Meyering  <meyering@lucent.com>
116344         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
116345         if not defined.
116346         (xgethostname): Remove now-unnecessary #ifdef.
116347         Move declaration of `err' into loop where it's used.
116349 2000-07-05  Paul Eggert  <eggert@twinsun.com>
116350         and Bruno Haible  <haible@clisp.cons.org>
116352         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
116353         only if the test for an object-type mbstate_t fails.  This
116354         prevents us from mistakenly reporting that mbstate_t is a
116355         system object type after we "#define mbstate_t int" to work
116356         around its lack.
116358 2000-07-05  Paul Eggert  <eggert@twinsun.com>
116359         and Bruno Haible  <haible@clisp.cons.org>
116361         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
116363 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
116365         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
116366         to strerror_r.
116367         Include <ctype.h> for use of isalpha.
116369 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
116371         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
116372         by allocating a larger buffer. Test the gethostname return value for
116373         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
116374         returns an error and ENAMETOOLONG isn't defined.
116376 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
116378         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
116379         dimension.
116381 2000-07-04  Jim Meyering  <meyering@lucent.com>
116383         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
116384         of the deprecated AC_CHECKING.
116386 2000-07-04  Jim Meyering  <meyering@lucent.com>
116388         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
116389         Reported by Bruno Haible.
116391 2000-07-04  Jim Meyering  <meyering@lucent.com>
116393         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
116394         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
116395         lacks mbrtowc.
116397 2000-07-03  Paul Eggert  <eggert@twinsun.com>
116399         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
116400         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
116402 2000-07-03  Paul Eggert  <eggert@twinsun.com>
116403         and Bruno Haible  <haible@clisp.cons.org>
116405         * lib/quotearg.c (mbrtowc):
116406         Assign to *pwc, and return 1 only if result is nonzero.
116407         (iswprint): Use ISPRINT when substituting our own mbrtowc.
116409 2000-07-03  Jim Meyering  <meyering@lucent.com>
116411         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
116413 2000-07-03  Jim Meyering  <meyering@lucent.com>
116415         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
116416         This is necessary to get a definition of e.g., UTMP_FILE on
116417         HP-UX 10.20.
116418         From Bob Proulx.
116420 2000-07-02  Jim Meyering  <meyering@lucent.com>
116422         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
116424         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
116425         AC_LIBOBJ(function_name).
116426         * m4/chown.m4: Likewise.
116427         * m4/fnmatch.m4: Likewise.
116428         * m4/ftruncate.m4: Likewise.
116429         * m4/getgroups.m4: Likewise.
116430         * m4/getline.m4: Likewise.
116431         * m4/group-member.m4: Likewise.
116432         * m4/jm-macros.m4: Likewise.
116433         * m4/lstat.m4: Likewise.
116434         * m4/malloc.m4: Likewise.
116435         * m4/memcmp.m4: Likewise.
116436         * m4/nanosleep.m4: Likewise.
116437         * m4/putenv.m4: Likewise.
116438         * m4/realloc.m4: Likewise.
116439         * m4/regex.m4: Likewise.
116440         * m4/stat.m4: Likewise.
116441         * m4/strftime.m4: Likewise.
116443 2000-07-02  Jim Meyering  <meyering@lucent.com>
116445         * lib/quotearg.c (mbstate_t): Don't define here.
116447 2000-07-02  Jim Meyering  <meyering@lucent.com>
116449         * lib/nanosleep.c (SIGCONT): Define if not already defined.
116451 2000-07-01  Jim Meyering  <meyering@lucent.com>
116453         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
116455 2000-07-01  Jim Meyering  <meyering@lucent.com>
116457         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
116458         problem.
116460 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
116462         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
116463         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
116465 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
116467         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
116468         per change in ../m4/ls-mntd-fs.m4.
116469         (read_filesystem_list): Ignore symbolic links.
116471 2000-06-29  Jim Meyering  <meyering@lucent.com>
116473         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
116474         for declaration of strcmp.
116476         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
116478         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
116479         Avoid warning by casting result to `char *' to remove `const'.
116481 2000-06-28  Jim Meyering  <meyering@lucent.com>
116483         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
116484         included by quotearg.c, for which we perform this test.  From
116485         Bruno Haible.
116487 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
116489         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
116490         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
116491         <utmpx.h> exists, put readutmp.o into LIBOBJS.
116493 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
116495         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
116497 2000-06-26  Paul Eggert  <eggert@twinsun.com>
116499         savedir now sets errno on failure and invokes xmalloc to get memory.
116500         Fix a couple of other minor bugs while we're at it.
116502         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
116503         (NAMLEN): Remove macro.
116504         (malloc, realloc): Remove decls.
116505         (stpcpy): Likewise.
116506         ("xalloc.h"): Include.
116507         (NAME_SIZE_DEFAULT): New macro.
116508         (savedir): Use xmalloc / xrealloc to allocate memory.
116509         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
116510         Skip "" directory entries.
116511         Use strlen to calculate directory entry length, since the old method
116512         is rarely used these days and isn't worth supporting.
116513         Don't use a pointer after freeing it.
116514         Check for integer overflow when calculating allocation size.
116515         Use memcpy to copy entries, instead of stpcpy.
116516         Set errno properly when returning NULL.
116517         Check for readdir error.
116519 2000-06-26  Jim Meyering  <meyering@lucent.com>
116521         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
116523 2000-06-25  Jim Meyering  <meyering@lucent.com>
116525         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
116526         Linux header bug when _XOPEN_SOURCE is defined to 500.
116528 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
116530         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
116531         deficiency.
116533 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
116535         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
116536         Include xalloc.h.
116537         Don't include <stdlib.h>.  Don't declare malloc, realloc.
116539 2000-06-24  Jim Meyering  <meyering@lucent.com>
116541         * m4/strerror_r.m4: Revive this file -- to try out an experimental
116542         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
116543         for which strerror does return char*, but which lacks a conveniently
116544         accessible declaration of the function.  If the compile-test says
116545         strerror_r doesn't work, then resort to a `run'-test that works on
116546         BeOS and segfaults on DEC Unix.
116548 2000-06-24  Jim Meyering  <meyering@lucent.com>
116550         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
116552 2000-06-23  Paul Eggert  <eggert@twinsun.com>
116554         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
116555         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
116557 2000-06-23  Paul Eggert  <eggert@twinsun.com>
116559         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
116560         (mbrtowc, mbstate_t): Define substitutes if
116561         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
116562         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
116563         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
116565 2000-06-23  Jim Meyering  <meyering@lucent.com>
116567         * m4/afs.m4: Add missing AC_MSG_RESULT.
116568         Reported by Bruno Haible.
116570         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
116571         Suggestion from Bruno Haible.
116573 2000-06-23  Jim Meyering  <meyering@lucent.com>
116575         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
116577 2000-06-21  Jim Meyering  <meyering@lucent.com>
116579         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
116581 2000-06-21  Jim Meyering  <meyering@lucent.com>
116583         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
116584         (noinst_HEADERS): Add getstr.h.
116586         * lib/getline.c (getstr): Move into a separate file.
116587         * lib/getstr.c (getstr): New file, extracted from getline.c, with
116588         the following changes: new parameter, delim2; both delim[12]
116589         parameters have type `int', not `char'.  The latter would lose
116590         with 8-bit delimiters.
116591         * lib/getstr.h: New file.
116593 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116595         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
116596         than 1024, return a memory chunk of least possible size, instead
116597         of size PATH_MAX + 2. In the loop, increment the size proportionally.
116598         Use free/xmalloc instead of xrealloc to avoid copying for very long
116599         paths.
116601 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116603         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
116604         the empty string.
116606 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116608         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
116609         address, not strdup.  Include <stdlib.h> and don't declare free().
116611 2000-06-19  Jim Meyering  <meyering@lucent.com>
116613         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
116615 2000-06-18  Jim Meyering  <meyering@lucent.com>
116617         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
116619         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
116620         `checking whether...' message to be consistent with that of the
116621         lstat test.
116623 2000-06-18  Jim Meyering  <meyering@lucent.com>
116625         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
116626         Besides, these days every porting target provides a mkdir function.
116628         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
116629         needed. (this snippet comes from src/system.h).
116631 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
116633         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
116635 2000-06-15  Paul Eggert  <eggert@twinsun.com>
116637         * lib/human.c (adjust_value): New function.
116638         (human_readable_inexact): Apply rounding style even when
116639         printing approximate values.
116641 2000-06-14  Paul Eggert  <eggert@twinsun.com>
116643         * lib/human.c (human_readable_inexact): Allow an input block
116644         size that is not a multiple of the output block size, and vice versa.
116645         Reported by Piergiorgio Sartor.
116647 2000-06-14  Paul Eggert  <eggert@twinsun.com>
116649         * lib/getdate.y (get_date): Apply relative times after time
116650         zone indicator, not before.  Reported by Todd A. Jacobs.
116652 2000-06-13  Jim Meyering  <meyering@lucent.com>
116654         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
116656         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
116658 2000-06-12  Paul Eggert  <eggert@twinsun.com>
116660         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
116662 2000-06-12  Jim Meyering  <meyering@lucent.com>
116664         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
116665         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
116666         optional argument.
116667         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
116668         the optional argument, `lib'.
116670 2000-06-08  Jim Meyering  <meyering@lucent.com>
116672         * m4/largefile.m4: Remove file (now that it's part of autoconf).
116674 2000-06-04  Paul Eggert  <eggert@twinsun.com>
116676         Rewrite largefile configuration so that we don't need to run
116677         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
116678         AC_CANONICAL_HOST in configure.in -- jmm]
116680         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
116681         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
116682         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
116683         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
116684         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
116685         All uses changed.
116686         Instead of inspecting the output of getconf, try to compile the
116687         test program without and with the macro definition.
116688         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
116689         for getconf.  Instead, check for the needed flags by compiling
116690         test programs.
116692 2000-06-04  Paul Eggert  <eggert@twinsun.com>
116694         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
116696 2000-06-04  Jim Meyering  <meyering@lucent.com>
116698         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
116699         SunOS 4.1.4 for which gid_t is an unsigned type.
116701 2000-06-03  Jim Meyering  <meyering@lucent.com>
116703         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
116704         now that autoconf requires that.
116706         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
116707         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
116708         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
116710 2000-06-03  Jim Meyering  <meyering@lucent.com>
116712         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
116714 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
116716         * m4/glibc21.m4: New file.
116717         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
116719 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
116721         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
116722         newer, don't install charset.alias.
116723         * lib/config.charset: Change the Linux/glibc rules so they become empty
116724         on glibc-2.1 or newer.
116726 2000-06-02  Jim Meyering  <meyering@lucent.com>
116728         * lib/mountlist.c: Back out last change.  Instead, do this...
116729         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
116730         me_dummy member using the same `ignore'-testing code.
116731         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
116732         fs_type strings.
116733         From Mark D. Roth.
116735 2000-05-29  Jim Meyering  <meyering@lucent.com>
116737         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
116738         mounts with the `ignore' attribute.  Based on a patch from
116739         Mark D. Roth.
116741 2000-05-28  Jim Meyering  <meyering@lucent.com>
116743         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
116744         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116745         * m4/stat.m4: Likewise.
116746         * m4/lstat.m4: Likewise.
116747         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
116749         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
116750         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
116752 2000-05-26  Jim Meyering  <meyering@lucent.com>
116754         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
116756 2000-05-24  Jim Meyering  <meyering@lucent.com>
116758         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
116759         autoconf requires that.
116760         * m4/lib-check.m4: Likewise.
116761         * m4/jm-macros.m4: Likewise.
116762         * m4/strftime.m4: Likewise.
116764         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
116765         AC_CHECK_DECLS, now that autoconf requires that.
116767 2000-05-22  Jim Meyering  <meyering@lucent.com>
116769         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116770         * m4/lstat.m4: Likewise.
116772 2000-05-22  Jim Meyering  <meyering@lucent.com>
116774         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
116776 2000-05-20  Jim Meyering  <meyering@lucent.com>
116778         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
116779         (jm_PREREQ): Use it.
116781 2000-05-18  Jim Meyering  <meyering@lucent.com>
116783         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
116784         back, too, since it may have been modified by allocate_entry.
116785         (hash_delete): Rewrite to use neither the assignment operator
116786         nor the comma operator in an if-expression.
116788 2000-05-15  Paul Eggert  <eggert@twinsun.com>
116790         * lib/closeout.c:
116791         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
116792         Remove; no longer needed.
116793         "quotearg.h": Add include.
116794         (file_name): Do not bother to explicitly initialize to NULL; it's less
116795         efficient on some hosts.
116796         (close_stdout_status): Remove test as to whether stdout was already
116797         closed; it breaks for the case "echo x | sort >&-".
116798         Quote file name colons.
116799         Do not assume that _("write error") lacks format strings.
116801 2000-05-15  Jim Meyering  <meyering@lucent.com>
116803         * lib/version-etc.c (version_etc_copyright): Update the copyright
116804         string used in all --version output.
116806 2000-05-14  Jim Meyering  <meyering@lucent.com>
116808         * lib/closeout.c (close_stdout_set_file_name): New function.
116809         (close_stdout_status): Use new file-scoped global.
116810         Return right away if fstat says the stdout file descriptor is invalid.
116811         * lib/closeout.h (close_stdout_set_file_name): Declare.
116813 2000-05-10  Jim Meyering  <meyering@lucent.com>
116815         * lib/closeout.c [default_exit_status]: New file-scoped variable.
116816         (close_stdout_set_status): New function.
116817         * lib/closeout.h (close_stdout_set_status): Declare.
116819 2000-05-09  Jim Meyering  <meyering@lucent.com>
116821         * m4/gettext.m4: Rename this...
116822         * m4/libintl.m4: ...to this.
116824 2000-05-08  Jim Meyering  <meyering@lucent.com>
116826         * lib/long-options.c: Don't include closeout.h.
116827         (parse_long_options): Don't call close_stdout for --version.
116829 2000-05-06  Paul Eggert  <eggert@twinsun.com>
116831         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
116832         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
116833         2.1.3 bug.  This avoids a clash when files like regex.c define
116834         _GNU_SOURCE.
116836 2000-05-06  Jim Meyering  <meyering@lucent.com>
116838         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
116839         (AC_REPLACE_FUNCS): Add strnlen.
116841         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
116842         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
116844         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
116845         AC_SEARCH_LIBS call for nanosleep.
116846         (LIB_NANOSLEEP): Set and AC_SUBST.
116848 2000-05-06  Jim Meyering  <meyering@lucent.com>
116850         * lib/strnlen.c: Undefine __strnlen and strnlen.
116851         [!weak_alias]: Define __strnlen to strnlen.
116853         * lib/atexit.c: New file, from libiberty.
116855 2000-05-06  Jim Meyering  <meyering@lucent.com>
116857         * lib/closeout.c (close_stdout_status): Also check for errors on the
116858         stderr stream.
116860 2000-05-05  Jim Meyering  <meyering@lucent.com>
116862         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
116863         AC_SEARCH_LIBS call for clock_gettime.
116864         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
116866         * m4/search-libs.m4: Update from autoconf.
116868         su doesn't work on Solaris 2.6.
116869         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
116870         <shadow.h>.  Reported by Dragos Harabor.
116872 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
116874         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
116875         memcpy instead of xmalloc, xrealloc, path_concat.
116876         (locale_charset): Treat empty environment variables as absent.
116877         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
116879 2000-05-04  Jim Meyering  <meyering@lucent.com>
116881         * lib/getopt.c: Update from glibc.
116882         * lib/obstack.c: Likewise.
116883         * lib/obstack.h: Likewise.
116884         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
116885         file
116887         * lib/regex.h: Likewise.
116888         * lib/strndup.c: Likewise.
116889         * lib/strnlen.c: New file, from glibc.
116891 2000-05-03  Jim Meyering  <meyering@lucent.com>
116893         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
116895 2000-05-02  Paul Eggert  <eggert@twinsun.com>
116897         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
116898         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
116899         compile-time test, rather than inspecting host and OS, to
116900         decide whether to define _LARGEFILE_SOURCE.
116902 2000-05-01  Jim Meyering  <meyering@lucent.com>
116904         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
116906         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
116907         Based on a patch from Bruno Haible.
116909 2000-05-01  Jim Meyering  <meyering@lucent.com>
116911         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
116913 2000-04-29  Jim Meyering  <meyering@lucent.com>
116915         * lib/path-concat.c: Declare strdup only if it's not defined.
116916         * lib/canon-host.c: Likewise.
116918 2000-04-28  Jim Meyering  <meyering@lucent.com>
116920         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
116921         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
116922         is included first, then limits.h is included by locale.h by libintl.h.
116923         From John David Anglin.
116925 2000-04-25  Jim Meyering  <meyering@lucent.com>
116927         * lib/makepath.c (S_IRWXUGO): Define.
116928         (make_path): Always perform explicit chmod if MODE specifies any
116929         of the `special' permission bits.  Prompted by a bug report against
116930         install from Mate Wierdl and Joost van Baal.
116932 2000-04-18  Jim Meyering  <meyering@lucent.com>
116934         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
116935         (jm_PREREQ): Use it.
116937 2000-04-18  Jim Meyering  <meyering@lucent.com>
116939         * lib/README: New file.
116941         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
116942         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
116944 2000-04-17  Jim Meyering  <meyering@lucent.com>
116946         Get it right :-)
116947         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
116948         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
116949         Suggestion from Akim Demaille.
116951 2000-04-17  Jim Meyering  <meyering@lucent.com>
116953         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
116954         the definition of it to rpl_strftime also defined-away the system's
116955         declaration.
116957 2000-04-15  Jim Meyering  <meyering@lucent.com>
116959         Use `C' to denote so-called `contiguous' files, the same way
116960         that tar does.
116961         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
116962         (ftypelet): Use S_ISCTG.
116963         From Michael Deutschmann.
116965 2000-04-14  Jim Meyering  <meyering@lucent.com>
116967         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
116968         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
116969         clobbered.
116971 2000-04-14  Jim Meyering  <meyering@lucent.com>
116973         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
116975 2000-04-13  Jim Meyering  <meyering@lucent.com>
116977         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
116978         AH_VERBATIM to insert required #ifndef into config.h.in.
116979         Suggestion from Akim Demaille.
116981 2000-04-12  Jim Meyering  <meyering@lucent.com>
116983         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
116984         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
116985         Christian Krackowizer.
116987         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
116988         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
116989         (AC_SYS_LARGEFILE): Require.
116990         (AM_C_PROTOTYPES): Require.
116992 2000-04-08  Jim Meyering  <meyering@lucent.com>
116994         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
116995         names don't conflict.  Reported by Eli Zaretskii.
116997 2000-04-07  Jim Meyering  <meyering@lucent.com>
116999         * lib/putenv.c: Move inclusion of errno.h so it follows that of
117000         sys/types.h, to work around system header problems on AIX 3.2.5.
117001         From Bruno Haible.
117003 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
117005         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
117006         bug.  Deal with the different error behavior of Irix iconv.
117008 2000-04-05  Paul Eggert  <eggert@twinsun.com>
117010         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
117011         IRIX if the installer said otherwise.
117013 2000-04-05  Jim Meyering  <meyering@lucent.com>
117015         Portability tweaks required for ultrix4.3.
117016         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
117017         (jm_CHECK_DECLS): Add getutent to the list of functions.
117018         (_jm_DECL_HEADERS): Add utmpx.h.
117019         From John David Anglin.
117021         * m4/strftime.m4: Back out the 2000-04-02 change.
117022         Instead of that change, simply undefine putenv in the test program.
117024 2000-04-05  Jim Meyering  <meyering@lucent.com>
117026         Portability tweaks required for ultrix4.3.
117027         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
117028         getutent.
117029         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
117030         * lib/canon-host.c: Declare strdup.
117031         * lib/path-concat.c: Likewise.
117032         From John David Anglin.
117034 2000-04-04  Jim Meyering  <meyering@lucent.com>
117036         Be more DOS 8.3-friendly.
117037         * lib/ref-add.sin: Renamed from ref-add.sed.in.
117038         * lib/ref-del.sin: Renamed from ref-del.sed.in.
117039         * lib/Makefile.am: Reflect renaming.
117040         Reported by Eli Zaretskii.
117042         Use a temporary file name that won't clash with `charset.alias'
117043         in the DOS 8.3 name space.
117044         * lib/Makefile.am (charset_tmp): Define.
117045         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
117046         (uninstall-local): Likewise.
117047         Reported by Eli Zaretskii.
117049 2000-04-03  Jim Meyering  <meyering@lucent.com>
117051         * m4/gettext.m4: Fix typo in comment.
117053         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
117054         textutils/configure.in).  Suggestion from Paul Eggert.
117055         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
117057 2000-04-02  Paul Eggert  <eggert@twinsun.com>
117059         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
117060         variable in the shell rather than using putenv, which isn't
117061         portable.  This avoids the configure-time inter-test dependency
117062         on the potentially-renamed putenv function.
117064 2000-03-30  Paul Eggert  <eggert@twinsun.com>
117066         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
117067         before checking struct stat.st_blksize, so that
117068         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
117070 2000-03-29  Paul Eggert  <eggert@twinsun.com>
117072         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
117073         since strftime.c uses HAVE_STRFTIME to decide whether to use
117074         the underlying strftime.
117076 2000-03-29  Paul Eggert  <eggert@twinsun.com>
117078         * lib/time/strftime.c (my_strftime): Make sure we call the system
117079         strftime, not ourselves, when invoking the underlying strftime.
117081 2000-03-24  Jim Meyering  <meyering@lucent.com>
117083         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
117084         (charset_alias): Define.
117085         (install-exec-local): Factor out common code.
117086         (uninstall-local): Split lines longer than 80.
117087         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
117088         (SUFFIXES): Define.
117089         (.sed.in.sed): New rule.  Don't redirect directly to $@.
117090         (CLEANFILES): Add ref-add.sed and ref-del.sed.
117092 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
117094         * lib/config.charset: Output a line containing "Packages using this
117095         file".
117096         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
117097         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
117098         ref-del.sed): New rules.
117100 2000-03-17  Jim Meyering  <meyering@lucent.com>
117102         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
117103         Otherwise, include <strings.h>
117105 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
117107         * lib/unicodeio.c (utf8_wctomb): New function.
117108         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
117109         format instead of in UCS-4 with platform dependent endianness.
117111 2000-03-10  Jim Meyering  <meyering@lucent.com>
117113         * m4/lib-check.m4: Look for getspnam in -lgen, too.
117114         From Marco Franzen.
117116 2000-03-07  Paul Eggert  <eggert@twinsun.com>
117118         * lib/savedir.c (savedir): Work even if directory size is
117119         negative; this can happen with some screwy NFS configurations.
117121 2000-03-06  Jim Meyering  <meyering@lucent.com>
117123         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
117124         if it's NULL (because we ran out of memory).  From Bruno Haible.
117126 2000-03-05  Jim Meyering  <meyering@lucent.com>
117128         * lib/localcharset.c ("path-concat.h"): Include.
117129         (get_charset_aliases): Use path_concat instead of ANSI string
117130         concatenation.
117132         * lib/unicodeio.h (PARAMS): Define.
117133         Use it to guard prototype.
117135 2000-03-04  Jim Meyering  <meyering@lucent.com>
117137         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
117138         for lib/localcharset.c.
117140 2000-03-04  Jim Meyering  <meyering@lucent.com>
117142         * lib/Makefile.am (install-exec-local): Create $(libdir) before
117143         installing into it.
117144         (uninstall-local): Uncomment this rule so `make distcheck' works
117145         once again.
117147         * lib/unicodeio.c (<errno.h>): Include it.
117148         (errno): Declare if not defined.
117150         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
117152         * lib/config.charset: New version, incorporating remarks from a linux
117153         i18n mailing list.  From Bruno Haible.
117155 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
117157         * m4/codeset.m4: New file.
117158         * m4/iconv.m4: New file.
117159         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
117161 2000-03-03  Jim Meyering  <meyering@lucent.com>
117163         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
117165 2000-03-02  Jim Meyering  <meyering@lucent.com>
117167         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
117168         the messages come out on separate lines.
117170         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
117171         rather than jm_CHECK_DECLARATIONS.
117172         * m4/decl.m4: Remove now-unused file.
117174         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
117175         geteuid.
117177 2000-03-02  Jim Meyering  <meyering@lucent.com>
117179         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
117181 2000-03-01  Jim Meyering  <meyering@lucent.com>
117183         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
117184         * lib/unicodeio.c: Likewise.
117186 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
117188         * lib/config.charset: New file.
117189         * lib/localcharset.c: New file.
117190         * lib/unicodeio.h, lib/unicodeio.c: New files.
117191         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
117192         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
117193         (noinst_HEADERS): Add unicodeio.h.
117194         (all-local, install-exec-local, charset.alias): New targets.
117196 2000-02-28  Paul Eggert  <eggert@twinsun.com>
117198         * lib/quotearg.c (ALERT_CHAR): New macro.
117199         (quotearg_buffer_restyled): Use it.
117201 2000-02-27  Jim Meyering  <meyering@lucent.com>
117203         * m4/check-decl.m4: Add getenv to the list.
117205 2000-02-27  Jim Meyering  <meyering@lucent.com>
117207         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
117208         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
117210         * lib/backupfile.c: Guard inclusion of stdlib.h with
117211         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
117212         Declare malloc if needed.
117214         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
117215         `#ifndef HAVE_DECL..'
117216         now that autoconf always defines the HAVE_DECL_ symbols.
117217         * lib/human.c: Likewise.
117218         * lib/same.c: Likewise.
117219         * lib/strtoumax.c: Likewise.
117221         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
117222         declaration check was not run.
117223         * lib/hash.c: Likewise.
117224         * lib/human.c: Likewise.
117225         * lib/same.c: Likewise.
117226         * lib/strtoumax.c: Likewise.
117228         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
117229         `.', then first look up the entire `.'-containing string as a login
117230         name.
117232 2000-02-23  Jim Meyering  <meyering@lucent.com>
117234         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
117235         in place of my hack.
117237 2000-02-18  Paul Eggert  <eggert@twinsun.com>
117239         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
117240         (textint): New typedef.
117241         (parser_control): Member year changed from int to textint.
117242         All uses changed.
117243         (YYSTYPE): Removed; replaced by %union with int and textint members.
117244         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
117245         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
117246         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
117247         (tSNUMBER, tUNUMBER): Now of type <textintval>.
117248         (date, number, to_year): Use width of number in digits, not its value,
117249         to determine whether it's a 2-digit year, or a 2-digit time.
117250         (yylex): Store number of digits of numeric tokens.
117251         Reported by John Kendall.
117253         (parser_control): Changed from struct parser_control to typedef (for
117254         consistency).  All uses changed.
117256         (tID): Removed; not used.
117257         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
117259 2000-02-14  Paul Eggert  <eggert@twinsun.com>
117261         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
117262         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
117264 2000-02-12  Jim Meyering  <meyering@lucent.com>
117266         * lib/userspec.c (ISDIGIT): Define it.
117267         (isdigit): Remove definition.
117268         (is_number): Use ISDIGIT, not isdigit.
117269         <libintl.h>: Include.
117270         (_ and N_): Define.
117271         (parse_user_spec): Mark translatable strings.
117273 2000-02-10  Jim Meyering  <meyering@lucent.com>
117275         With these changes, nanosleep.[ch] are finally enough like the other
117276         lib/* replacement files to compile on a few more losing systems.
117278         * lib/nanosleep.h: Don't include config.h.
117279         Remove prototype from declaration of nanosleep.
117280         (PARAMS): Remove now-unneeded definition.
117281         * lib/nanosleep.c: #undef nanosleep.
117282         (rpl_nanosleep): Rename from nanosleep.
117284 2000-02-10  Jim Meyering  <meyering@lucent.com>
117286         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
117287         gnu_nanosleep to rpl_nanosleep.
117289 2000-02-09  Jim Meyering  <meyering@lucent.com>
117291         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
117292         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
117294 2000-02-08  Akim Demaille  <akim@epita.fr>
117296         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
117297         `[' and `]' and remove uses of `changequote'.
117298         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
117299         (AC_SYS_LARGEFILE): Likewise.
117300         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
117301         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
117302         of changequote.
117303         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
117304         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
117305         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
117306         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
117308 2000-02-05  Jim Meyering  <meyering@lucent.com>
117310         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
117311         Remove explicit use of AC_HEADER_TIME.  It is required by
117312         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
117313         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
117314         in autoconf whereby the expansion of the latter ended up preceding
117315         the expansion of its prerequisite, AC_HEADER_TIME.
117316         Reported by Volker Borchert.
117318 2000-02-03  Jim Meyering  <meyering@lucent.com>
117320         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
117322 2000-02-03  Jim Meyering  <meyering@lucent.com>
117324         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
117325         rather than with `#if HAVE_UTMPNAME'.
117327 2000-02-02  Jim Meyering  <meyering@lucent.com>
117329         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
117330         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
117331         Reported by Eli Zaretskii.
117333 2000-02-01  Jim Meyering  <meyering@lucent.com>
117335         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
117337 2000-01-31  Jim Meyering  <meyering@lucent.com>
117339         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
117340         functions.  Add the time.h and sys/time.h headers along with the
117341         AC_REQUIRE'ment of AC_HEADER_TIME.
117343 2000-01-31  Jim Meyering  <meyering@lucent.com>
117345         * lib/nanosleep.h (nanosleep): Guard declaration with
117346         `#if ! HAVE_DECL_NANOSLEEP'.
117347         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
117348         the declaration in that vendor's sys/timers.h.
117349         Reported by Christian Krackowizer.
117351         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
117352         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
117353         (ISPRINT): Likewise.
117354         Reported by Tom Tromey.
117356 2000-01-30  Jim Meyering  <meyering@lucent.com>
117358         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
117360         * m4/prereq.m4 (utmp_includes): Define.
117361         Check for ut_user and ut_name members in both struct utmpx
117362         and struct utmp.
117364 2000-01-30  Jim Meyering  <meyering@lucent.com>
117366         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
117367         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
117368         header files where only utmpx.ut_user is declared.
117370         * lib/readutmp.h (UT_USER): Define.
117372 2000-01-29  Jim Meyering  <meyering@lucent.com>
117374         * m4/lib-check.m4: New file containing library-related checks from
117375         fileutils and sh-utils (textutils had none).
117377 2000-01-28  Jim Meyering  <meyering@lucent.com>
117379         * m4/perl.m4: Change format of warning message to look more like that
117380         from the missing script.  Suggestion from François Pinard.
117382 2000-01-25  Jim Meyering  <meyering@lucent.com>
117384         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
117385         well as time.h in the compile check.
117386         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
117387         Fix typo in cross-compiling case: s/yes/no/.
117389 2000-01-23  Jim Meyering  <meyering@lucent.com>
117391         * m4/jm-macros.m4: Move df-related tests here from
117392         fileutils/configure.in
117394         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
117395         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
117397         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
117398         s/space/ac_fsusage_space/.
117399         (jm_FILE_SYSTEM_USAGE): Take two parameters.
117401         * m4/ftruncate.m4: New file (derived from part of
117402         fileutils/configure.in).
117403         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
117404         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
117406         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
117407         AC_SUBST these here, rather than just in sh-util/configure.in, so
117408         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
117409         all the same.
117410         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
117411         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
117412         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
117413         (AC_SUBST(POW_LIBM)): Likewise.
117414         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
117416 2000-01-23  Jim Meyering  <meyering@lucent.com>
117418         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
117419         obstack.c.
117421 2000-01-22  Jim Meyering  <meyering@lucent.com>
117423         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
117425         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
117427         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
117428         configure.in
117429         (AC_CHECK_HEADERS): Likewise for sh-utils.
117430         (AC_CHECK_HEADERS): Likewise for textutils.
117431         Merge the three lists of headers.
117433         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
117434         from fileutils' configure.in.
117436         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
117437         code. Moved tests into their own function (_jm_DECL_HEADERS) in
117438         check-decl.m4.
117440         * m4/check-decl.m4: Use #if rather than #ifdef.
117441         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
117442         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
117443         (_jm_DECL_HEADERS): Define new function.
117444         (jm_CHECK_DECLARATIONS): Require it.
117446 2000-01-22  Jim Meyering  <meyering@lucent.com>
117448         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
117449         [! HAVE_DECL_STRTOULL]: Declare strtoull.
117450         Required for some AIX systems.  Reported by Christian Krackowizer.
117451         [TESTING] (main): New function.
117453         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
117454         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
117455         letters.
117457         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
117458         iswprint.
117460         * lib/strverscmp.c (ISDIGIT): Define.
117461         (strverscmp): Use ISDIGIT, not isdigit.
117463 2000-01-19  Jim Meyering  <meyering@lucent.com>
117465         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
117466         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
117467         defines `struct timespec' in <sys/time.h>
117469         * m4/c-bs-a.m4: Remove uses of changequote altogether.
117470         Thanks to Akim for explaining.
117472 2000-01-17  Paul Eggert  <eggert@twinsun.com>
117474         * lib/nanosleep.c (nanosleep):
117475         Don't use SA_INTERRUPT to decide whether to call sigaction, as
117476         POSIX.1 doesn't require SA_INTERRUPT and some systems
117477         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
117478         it's been part of POSIX.1 since day 1 (in 1988).
117480 2000-01-17  Jim Meyering  <meyering@lucent.com>
117482         * lib/interlock: Remove unused file.  Reported by François Pinard.
117484 2000-01-16  Paul Eggert  <eggert@twinsun.com>
117486         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
117487         alert, backslash, formfeed, and vertical tab unnecessarily in
117488         shell quoting style.
117490 2000-01-16  Jim Meyering  <meyering@lucent.com>
117492         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
117493         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
117494         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
117495         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
117497 2000-01-16  Jim Meyering  <meyering@lucent.com>
117499         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
117500         because the latter didn't work.
117502 2000-01-15  Jim Meyering  <meyering@lucent.com>
117504         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
117505         (AC_REPLACE_FUNCS): Add memcpy and memset.
117506         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
117507         Add strpbrk.
117508         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
117510 2000-01-12  Jim Meyering  <meyering@lucent.com>
117512         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
117513         (jm_PREREQ): Use it.
117514         (jm_PREREQ_READUTMP): New macro.
117515         (jm_PREREQ): Use it.
117517 2000-01-11  Paul Eggert  <eggert@twinsun.com>
117519         Quote multibyte characters correctly.
117520         * m4/c-bs-a.m4: New file.
117521         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
117522         (jm_PREREQ): Use it.
117524 2000-01-11  Paul Eggert  <eggert@twinsun.com>
117526         * m4/uintmax_t.m4: Port to autoconf 2.13.
117528 2000-01-08  Jim Meyering  <meyering@ascend.com>
117530         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
117531         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
117533 2000-01-04  Jim Meyering  <meyering@ascend.com>
117535         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
117536         jm_STRUCT_DIRENT_D_TYPE.
117537         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
117538         jm_STRUCT_DIRENT_D_INO.
117539         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
117540         jm_STRUCT_UTIMBUF.
117541         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
117542         renamings.
117543         * m4/utime.m4: Likewise.
117545         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
117546         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
117548 2000-01-03  Paul Eggert  <eggert@twinsun.com>
117550         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
117551         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
117553 2000-01-02  Jim Meyering  <meyering@ascend.com>
117555         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
117556         remember if this is necessary.
117558 1999-12-26  Jim Meyering  <meyering@ascend.com>
117560         * m4/jm-macros.m4: Use it here.
117561         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
117563 1999-12-23  Jim Meyering  <meyering@ascend.com>
117565         * m4/jm-macros.m4: Check for clock_gettime (moved from
117566         fileutils/configure.in)
117567         Check for gettimeofday.
117569 1999-12-20  Jim Meyering  <meyering@ascend.com>
117571         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
117572         autoconf-2.14a-1999-12-20.
117574 1999-12-19  Jim Meyering  <meyering@ascend.com>
117576         * m4/lstat-slash.m4: New file.
117577         * m4/jm-macros.m4: Use the new macro:
117578         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
117580 1999-12-07  Jim Meyering  <meyering@ascend.com>
117582         * m4/perl.m4: Require that File::Compare be available, too.
117583         Too many systems seem to lack it.
117585         * m4/strftime.m4: Add checks for most of the cpp macros tested in
117586         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
117588 1999-11-18  Paul Eggert  <eggert@twinsun.com>
117590         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
117591         problem with the QNX 4.25 shell, which doesn't propagate exit
117592         status of failed commands inside shell assignments.
117594 1999-11-17  Jim Meyering  <meyering@ascend.com>
117596         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
117598 1999-11-07  Jim Meyering  <meyering@ascend.com>
117600         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
117602 1999-11-06  Jim Meyering  <meyering@ascend.com>
117604         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
117605         * m4/jm-macros.m4 (jm_MACROS): Use it here.
117607 1999-11-05  Jim Meyering  <meyering@ascend.com>
117609         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
117610         configure.in of textutils, fileutils, and sh-utils into this one
117611         (shared between those packages) file.
117612         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
117613         AC_STRUCT_ST_BLKSIZE.
117615 1999-11-03  Jim Meyering  <meyering@ascend.com>
117617         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
117618         of AC_CHECK_TYPE checks includes unistd.h.
117619         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
117620         Suggestion from Akim Demaille.
117622 1999-10-30  Jim Meyering  <meyering@ascend.com>
117624         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
117625         m4-quoted string.
117626         * m4/ls-mntd-fs.m4: Likewise.
117627         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
117628         * m4/jm-winsz1.m4: Likewise.
117630         * m4/const.m4: Remove file, since the fix made it into the experimental
117631         version of autoconf.
117632         * m4/mktime.m4: Likewise.
117634         * m4/check-type.m4: Remove file, now that the latest version of
117635         AC_CHECK_TYPE takes a third arg to specify additional #includes.
117637         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
117638         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
117639         AC_CHECK_TYPE.
117641 1999-10-04  Jim Meyering  <meyering@ascend.com>
117643         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
117645 1999-09-22  Paul Eggert  <eggert@twinsun.com>
117647         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
117648         2.95.1 bug with HP-UX 10.20.
117650 1999-09-17  Jim Meyering  <meyering@ascend.com>
117652         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
117653         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
117654         due to missing strdup (against sh-utils-2.0).
117656 1999-08-29  Jim Meyering  <meyering@ascend.com>
117658         * m4/jm-macros.m4: Require jm_BISON.
117659         * m4/bison.m4: New file.
117661 1999-08-17  Paul Eggert  <eggert@twinsun.com>
117663         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
117664         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
117666 1999-08-05  Jim Meyering  <meyering@ascend.com>
117668         * m4/getline.m4: Rename test file from conftestdata to conftest.data
117669         to avoid conflicts with `conftest' on 8+3 filesystems.
117670         Suggestion from Eli Zaretskii.
117672 1999-08-04  Jim Meyering  <meyering@ascend.com>
117674         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
117675         fileutils and sh-utils (textutils's getline test was inadequate).
117676         (AM_FUNC_GETLINE): Run this test.
117677         (AC_CHECK_FUNCS): Check for getdelim.
117678         Reported by Bob Proulx.
117680 1999-08-02  Jim Meyering  <meyering@ascend.com>
117682         * m4/jm-macros.m4: Add a comment.
117684 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117686         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
117687         <inttypes.h> defines strtoumax as a macro (and not as a
117688         function).
117690 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117692         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
117693         that we can shift, multiply and divide unsigned long long
117694         values; Ultrix cc can't do it.
117696 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117698         * m4/mktime.m4: New file, which is a preview of what should appear
117699         in the next public autoconf release.
117701 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117703         * m4/lfs.m4: Remove this file.
117704         * m4/largefile.m4: New file.  It contains the old contents of
117705         lfs.m4, except that all names with prefix AC_LFS have been
117706         changed to use the prefix AC_SYS_LARGEFILE instead, to be
117707         compatible with future autoconf versions.  Also, some minor m4
117708         quoting problems have been fixed.
117710 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117712         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
117713         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
117714         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
117715         and simplify the shell code.
117717 1999-08-01  Jim Meyering  <meyering@ascend.com>
117719         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
117720         m4.
117722 1999-07-20  Jim Meyering  <meyering@ascend.com>
117724         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
117726 1999-07-15  Jim Meyering  <meyering@ascend.com>
117728         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
117730 1999-05-22  Jim Meyering  <meyering@ascend.com>
117732         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
117734 1999-05-20  Jim Meyering  <meyering@ascend.com>
117736         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
117737         Add a colon after each `then' in case $4 is empty.
117739 1999-05-16  Jim Meyering  <meyering@ascend.com>
117741         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
117743 1999-05-10  Jim Meyering  <meyering@ascend.com>
117745         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
117747         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
117748         AC_FUNC_MKTIME.
117750 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
117752         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
117754 1999-05-04  Paul Eggert  <eggert@twinsun.com>
117756         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
117757         not CPPFLAGS, so that linking works correctly in IRIX.
117759 1999-04-30  Paul Eggert  <eggert@twinsun.com>
117761         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
117763 1999-04-20  Paul Eggert  <eggert@twinsun.com>
117765         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
117766         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
117767         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
117768         jm_AC_TYPE_UNSIGNED_LONG_LONG.
117769         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
117771         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
117773 1999-04-20  Jim Meyering  <meyering@ascend.com>
117775         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
117776         AC_REPLACE xstroull if necessary.  From Paul Eggert.
117777         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
117779 1999-04-18  Jim Meyering  <meyering@ascend.com>
117781         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
117782         * m4/jm-macros.m4: Use it.
117784 1999-04-06  Jim Meyering  <meyering@ascend.com>
117786         * m4/strftime.m4: Remove test for %f.
117788 1999-03-29  Jim Meyering  <meyering@ascend.com>
117790         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
117791         superset of the AC_TYPE_* checks in the textutils, fileutils,
117792         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
117793         AC_TYPE_PID_T.
117795 1999-03-28  Jim Meyering  <meyering@ascend.com>
117797         * m4/jm-macros.m4: Define GNU_PACKAGE here.
117798         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
117799         replaced e.g., in the *.sh files of the sh-utils.
117801 1999-03-20  Jim Meyering  <meyering@ascend.com>
117803         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
117804         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
117805         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
117807 1999-03-19  Jim Meyering  <meyering@ascend.com>
117809         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
117811 1999-03-12  Jim Meyering  <meyering@ascend.com>
117813         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
117815 1999-03-07  Jim Meyering  <meyering@ascend.com>
117817         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
117818         declared.
117820 1999-02-17  Jim Meyering  <meyering@ascend.com>
117822         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
117823         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
117825 1999-02-07  Jim Meyering  <meyering@ascend.com>
117827         * m4/group-member.m4: New file -- extracted from sh-utils'
117828         configure.in.
117830         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
117831         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
117833 1999-02-06  Jim Meyering  <meyering@ascend.com>
117835         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
117836         * m4/fnmatch.m4: Likewise.
117837         * m4/getgroups.m4: Likewise.
117838         * m4/lstat.m4: Likewise.
117839         * m4/malloc.m4: Likewise.
117840         * m4/putenv.m4: Likewise.
117841         * m4/realloc.m4: Likewise.
117842         * m4/regex.m4: Likewise.
117843         * m4/stat.m4: Likewise.
117844         * m4/strftime.m4: Likewise.
117845         Suggestion from Alain Magloire.
117847         * m4/chown.m4: Use `.$ac_objext', not `.o'.
117848         * m4/fnmatch.m4: Likewise.
117849         * m4/getgroups.m4: Likewise.
117850         * m4/getline.m4: Likewise.
117851         * m4/lstat.m4: Likewise.
117852         * m4/malloc.m4: Likewise.
117853         * m4/memcmp.m4: Likewise.
117854         * m4/putenv.m4: Likewise.
117855         * m4/realloc.m4: Likewise.
117856         * m4/regex.m4: Likewise.
117857         * m4/stat.m4: Likewise.
117858         * m4/strftime.m4: Likewise.
117859         Suggestion from Alain Magloire.
117861         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
117862         an argument.
117864         * m4/regex.m4: Add a run-time Test for proper operation of
117865         re_compile_pattern.
117867 1999-01-31  Jim Meyering  <meyering@ascend.com>
117869         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
117871 1999-01-30  Jim Meyering  <meyering@ascend.com>
117873         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
117875         * m4/jm-mktime.m4: Make this a wrapper around the official
117876         AM_FUNC_MKTIME rather than my private copy, now that the official one
117877         is up to date.
117878         * m4/mktime.m4: Remove file.
117880         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
117881         * m4/uptime.m4: Likewise.
117882         * m4/uintmax_t.m4: Likewise.
117884 1999-01-28  Jim Meyering  <meyering@ascend.com>
117886         * m4/jm-macros.m4: Use jm_AFS.
117887         * m4/afs.m4: New file (from fileutils' configure.in).
117889         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
117890         * m4/chown.m4: Likewise.
117891         * m4/d-ino.m4: Likewise.
117892         * m4/d-type.m4: Likewise.
117893         * m4/fnmatch.m4: Likewise.
117894         * m4/getgroups.m4: Likewise.
117895         * m4/gettext.m4: Likewise.
117896         * m4/jm-mktime.m4: Likewise.
117897         * m4/jm-winsz2.m4: Likewise.
117898         * m4/lcmessage.m4: Likewise.
117899         * m4/ls-mntd-fs.m4: Likewise.
117900         * m4/malloc.m4: Likewise.
117901         * m4/memcmp.m4: Likewise.
117902         * m4/putenv.m4: Likewise.
117903         * m4/realloc.m4: Likewise.
117904         * m4/st_mtim.m4: Likewise.
117905         * m4/strftime.m4: Likewise.
117907 1999-01-16  Jim Meyering  <meyering@ascend.com>
117909         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
117910         (ARGMATCH_DIE_DECL): Define.
117912 1999-01-12  Jim Meyering  <meyering@ascend.com>
117914         * m4/Makefile.am.in: Rewrite to avoid using fmt.
117915         Reported by Lars Hecking.
117917 1999-01-10  Jim Meyering  <meyering@ascend.com>
117919         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
117920         gross kludge.
117921         * m4/inttypes_h.m4: Likewise.
117922         * m4/lstat.m4: Likewise.
117923         * m4/malloc.m4: Likewise.
117924         * m4/readdir.m4: Likewise.
117925         * m4/realloc.m4: Likewise.
117926         * m4/st_dm_mode.m4: Likewise.
117927         * m4/stat.m4: Likewise.
117928         * m4/utimbuf.m4: Likewise.
117929         * m4/utimes.m4: Likewise.
117931         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
117932         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
117933         comments in config.h.in are meaningful.
117935         * m4/jm-macros.m4: Require autoconf-2.13 here.
117937         * m4/regex.m4: By default, don't use the included regex.c on systems
117938         with glibc 2.  Suggestion from Uli Drepper.
117940 1999-01-02  Jim Meyering  <meyering@ascend.com>
117942         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
117944 1998-12-18  Jim Meyering  <meyering@ascend.com>
117946         * m4/Makefile.am.in (Makefile.am): Simplify rule.
117947         Based on a suggestion from Lars Hecking.
117949 1998-11-16  Paul Eggert  <eggert@twinsun.com>
117951         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
117953 1998-11-16  Jim Meyering  <meyering@ascend.com>
117955         * m4/lfs.m4: Double-quote the `uname...` expression.
117957 1998-11-14  Jim Meyering  <meyering@ascend.com>
117959         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
117960         * m4/stat.m4: Likewise.
117962 1998-11-03  Jim Meyering  <meyering@ascend.com>
117964         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
117965         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
117967 1998-10-18  Jim Meyering  <meyering@ascend.com>
117969         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
117971 1998-10-17  Jim Meyering  <meyering@ascend.com>
117973         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
117974         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
117975         calls for those previously hard-coded headers.  Instead, take a new
117976         parameter.
117977         (jm_CHECK_DECLARATIONS): Reflect interface change.
117978         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
117979         (jm_CHECK_DECL_LOCALTIME_R): New macro.
117981         * m4/mktime.m4: Test for spring-forward gap before long-running test.
117983 1998-10-14  Jim Meyering  <meyering@ascend.com>
117985         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
117986         instead of "TZ=America/Vancouver".  From Paul Eggert.
117988 1998-10-11  Jim Meyering  <meyering@ascend.com>
117990         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
117991         This adds a test for a recently added compatibility fix for mktime.c.
117992         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
117994 1998-09-27  Jim Meyering  <meyering@ascend.com>
117996         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
117998         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
117999         ../configure.in, including a change from Gordon Matzigkeit to allow
118000         cross-compiling for the Hurd.
118002         * m4/glibc.m4: New file/macro to test for the GNU C Library
118003         versions 1 and 2.  From Gordon Matzigkeit.
118004         Indent.
118006 1998-09-21  Jim Meyering  <meyering@ascend.com>
118008         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
118010 1998-08-18  Paul Eggert  <eggert@twinsun.com>
118012         Port nanosecond-resolution times to UnixWare 2.1.2 and
118013         pedantic Solaris 2.6.
118015         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
118016         AC_STRUCT_ST_MTIM.
118017         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
118018         Generate name of ns member, instead of just 1 or undef.
118019         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
118021 1998-08-15  Jim Meyering  <meyering@ascend.com>
118023         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
118024         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
118025         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
118026         instead of jm_TYPE_SSIZE_T.
118028 1998-08-12  Jim Meyering  <meyering@ascend.com>
118030         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
118032 1998-08-02  Jim Meyering  <meyering@ascend.com>
118034         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
118035         in acconfig.h manually.
118037 1998-07-31  Paul Eggert  <eggert@twinsun.com>
118039         * m4/st_mtim.m4: New file.
118041 1998-07-28  Jim Meyering  <meyering@ascend.com>
118043         * m4/utimes.m4: Undef stat.
118045 1998-07-25  Jim Meyering  <meyering@ascend.com>
118047         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
118048         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
118050 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
118052         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
118053         uid and gid actually remain unchanged.
118055 1998-07-07  Jim Meyering  <meyering@ascend.com>
118057         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
118059 1998-07-04  Jim Meyering  <meyering@ascend.com>
118061         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
118062         to prove that this macro can be used in packages without regex.c.
118064 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
118066         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
118067         is to be used.
118069 1998-07-03  Jim Meyering  <meyering@ascend.com>
118071         * m4/gettext.m4: Add -lintl if it's found to be necessary.
118073         * m4/gettext.m4: New file -- from gettext-0.10.35.
118074         * m4/lcmessage.m4: Likewise.
118075         * m4/progtest.m4: Likewise.
118077         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
118078         * m4/jm-macros.m4: Require the new macro.
118080 1998-06-29  Jim Meyering  <meyering@ascend.com>
118082         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
118083         for the definition of NGROUPS (used in a system header included
118084         by sys/mount.h).
118086 1998-06-28  Jim Meyering  <meyering@ascend.com>
118088         * m4/ls-mntd-fs.m4: New file.
118089         * m4/fstypename.m4: New file.
118091         * m4/jm-macros.m4: Require the new macro.
118092         * m4/jm-glibc-io.m4: New file.
118094 1998-05-19  Jim Meyering  <meyering@ascend.com>
118096         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
118097         * m4/lchown.m4: New file.
118099         * m4/Makefile.am.in: New file.
118100         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
118102 1998-05-14  Jim Meyering  <meyering@ascend.com>
118104         * m4/Makefile.am (EXTRA_DIST): Add them.
118105         * m4/jm-macros.m4: New file.
118106         * m4/utimbuf.m4: New file.
118108 1998-05-12  Jim Meyering  <meyering@ascend.com>
118110         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
118112 1998-05-11  Jim Meyering  <meyering@ascend.com>
118114         * m4/isc-posix.m4: New file.
118116 1998-05-10  Jim Meyering  <meyering@ascend.com>
118118         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
118120 1998-05-09  Jim Meyering  <meyering@ascend.com>
118122         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
118123         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
118124         with automake.
118126         * m4/ssize_t.m4: New file.
118127         * m4/mktime.m4: Remove file -- the new automake has this now.
118129 1998-04-26  Jim Meyering  <meyering@ascend.com>
118131         * m4/assert.m4: New file.
118132         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
118134 1998-04-05  Jim Meyering  <meyering@ascend.com>
118136         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
118137         (jm_PREREQ): Use it here.
118139 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
118141         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
118142         in acconfig.h.
118144 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
118146         * m4/prereq.m4: New file.
118147         * m4/error.m4: New file.
118148         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
118150 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
118152         * m4/getline.m4: Don't set am_cv_func_working_getline before the
118153         cache-check for the same variable -- that defeated the purpose of
118154         the test; the test program was never run.  This was a problem only
118155         on systems with losing getline functions -- HP-UX 10.20 is one.
118156         Reported by Bjorn Helgaas.
118158 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
118160         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
118162 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
118164         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
118166         * m4/const.m4: New file.  Use an initializer in this declaration
118167         typedef int charset[2]; const charset x;
118168         Reported by Bob Glickstein.
118170 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
118172         * m4/chown.m4: Fix reversed types on -1 args to chown.
118173         From Kaveh Ghazi.
118175 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
118177         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
118178         Add lseek and memchr.
118180         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
118181         T.E.Dickey <dickey@clark.net> said that some older preprocessors
118182         have a 20-character limit on names.
118184 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
118186         * m4/inttypes_h.m4: New file.
118187         * m4/uintmax_t.m4: New file.
118188         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
118191         -----
118193         Local Variables:
118194         coding: utf-8
118195         End:
118197         Copyright (C) 1997-2018 Free Software Foundation, Inc.
118199         Copying and distribution of this file, with or without
118200         modification, are permitted provided the copyright notice
118201         and this notice are preserved.